Show required positions and make SetPositionsView use transaction streaming
continuous-integration/drone/pr Build is failing
Details
continuous-integration/drone/pr Build is failing
Details
This commit is contained in:
parent
67aa4d0056
commit
103fdc64a9
|
@ -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,
|
||||
)
|
||||
|
|
|
@ -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",
|
||||
'',
|
||||
|
|
Loading…
Reference in New Issue