diff --git a/ceo/tui/positions/GetPositionsView.py b/ceo/tui/positions/GetPositionsView.py index 7d15e68..21ac830 100644 --- a/ceo/tui/positions/GetPositionsView.py +++ b/ceo/tui/positions/GetPositionsView.py @@ -14,7 +14,7 @@ position_names = { 'sysadmin': "Sysadmin", 'cro': "Chief Returning Officer", 'librarian': "Librarian", - 'imapd': "IMAPd", + 'imapd': "IMAPD", 'webmaster': "Web Master", 'offsck': "Office Manager", } @@ -27,15 +27,17 @@ class GetPositionsView(CeoFrame): 'GetPositions', on_load = self._on_load) - cfg = component.getUtility(IConfig) - layout = Layout([100], fill_frame=True) self.add_layout(layout) + cfg = component.getUtility(IConfig) + avail = cfg.get('positions_available') + required = cfg.get('positions_required') + self._positions = [] - for pos in cfg.get('positions_available'): + for pos in avail: widget = Text( - f"{position_names.get(pos, pos)}:", + f"{'*' if pos in required else ' '}{position_names.get(pos, pos)}:", pos, readonly=readonly, ) diff --git a/ceo/tui/positions/SetPositionsView.py b/ceo/tui/positions/SetPositionsView.py index 497edba..4bdfe9a 100644 --- a/ceo/tui/positions/SetPositionsView.py +++ b/ceo/tui/positions/SetPositionsView.py @@ -1,5 +1,7 @@ from ...utils import defer, http_post from . import GetPositionsView +from ceod.transactions.members.UpdateMemberPositionsTransaction import UpdateMemberPositionsTransaction as PositionsTransactions + class SetPositionsView(GetPositionsView): def __init__(self, screen, widgets, height, model): super().__init__(screen, widgets, height, model, False) @@ -20,6 +22,7 @@ class SetPositionsView(GetPositionsView): positions[pos.name] = pos.value self._model.deferred_req = defer(http_post, f'/api/positions', json=positions) + self._model.operations = PositionsTransactions.operations self._model.confirm_lines = [ "The positions will be updated as follows", '',