3
0
Fork 0

feat: add logic to prevent edit for some user accounts

mostly for sake of online demo, so a "permanent" demo user can be
established
This commit is contained in:
Lance Edgar 2024-11-24 17:19:50 -06:00
parent 6fd6229a9e
commit 24ddb7b905
6 changed files with 46 additions and 5 deletions

View file

@ -42,6 +42,26 @@ class TestUserView(WebTestCase):
user.active = False
self.assertEqual(view.grid_row_class(user, data, 1), 'has-background-warning')
def test_is_editable(self):
model = self.app.model
view = self.make_view()
# active user is editable
user = model.User(username='barney', active=True)
self.assertTrue(view.is_editable(user))
# inactive also editable
user = model.User(username='barney', active=False)
self.assertTrue(view.is_editable(user))
# but not if prevent_edit flag is set
user = model.User(username='barney', prevent_edit=True)
self.assertFalse(view.is_editable(user))
# unless request user is root
self.request.is_root = True
self.assertTrue(view.is_editable(user))
def test_configure_form(self):
model = self.app.model
barney = model.User(username='barney')