Development
This commit is contained in:
parent
3c7b13e98a
commit
67d951e853
2 changed files with 88 additions and 67 deletions
|
|
@ -217,10 +217,10 @@ def flush_pending_to_queue():
|
|||
|
||||
|
||||
|
||||
def _queue_pending_command(cmd):
|
||||
def _queue_pending_command(cmd, user=None):
|
||||
"""Append cmd to .dashboard-pending if not already present for this cmd+user."""
|
||||
existing = _read_dashboard_pending()
|
||||
current_user = session.get('email_address', 'unknown')
|
||||
current_user = user or session.get('email_address', 'unknown')
|
||||
for entry_uuid, entry_ts, entry_cmd, entry_user in existing:
|
||||
if entry_cmd == cmd and entry_user == current_user:
|
||||
return entry_uuid, entry_ts
|
||||
|
|
@ -238,12 +238,12 @@ def _queue_pending_presigned(cmd, entry_uuid, entry_ts):
|
|||
f.write(f'{entry_uuid} {entry_ts} [{cmd}] ({current_user})\n')
|
||||
|
||||
|
||||
def _queue_command(cmd):
|
||||
def _queue_command(cmd, user=None):
|
||||
if not _apply_changes_immediately():
|
||||
return _queue_pending_command(cmd)
|
||||
done_set = _load_done_set()
|
||||
pending = _read_pending(done_set)
|
||||
current_user = session.get('email_address', 'unknown')
|
||||
return _queue_pending_command(cmd, user=user)
|
||||
done_set = _load_done_set()
|
||||
pending = _read_pending(done_set)
|
||||
current_user = user or session.get('email_address', 'unknown')
|
||||
for entry_uuid, entry_ts, entry_cmd, entry_user in pending:
|
||||
if entry_cmd == cmd and entry_user == current_user:
|
||||
return entry_uuid, entry_ts
|
||||
|
|
@ -255,6 +255,18 @@ def _queue_command(cmd):
|
|||
return entry_uuid, entry_ts
|
||||
|
||||
|
||||
def _find_cmd_in_queues(cmd):
|
||||
"""Return (uuid, ts) of first matching entry in .dashboard-pending or .dashboard-queue, or (None, None)."""
|
||||
for entry_uuid, entry_ts, entry_cmd, entry_user in _read_dashboard_pending():
|
||||
if entry_cmd == cmd:
|
||||
return entry_uuid, entry_ts
|
||||
done_set = _load_done_set()
|
||||
for entry_uuid, entry_ts, entry_cmd, entry_user in _read_pending(done_set):
|
||||
if entry_cmd == cmd:
|
||||
return entry_uuid, entry_ts
|
||||
return None, None
|
||||
|
||||
|
||||
def _entry_ts_from_queue(entry_uuid):
|
||||
try:
|
||||
for line in open(DASHBOARD_QUEUE).read().splitlines():
|
||||
|
|
@ -309,9 +321,9 @@ def _build_timing_msg(entry_ts, action_label='Configuration saved'):
|
|||
return _timing_status_msg(entry_ts, action_label)
|
||||
|
||||
|
||||
def queue_command(cmd, description=''):
|
||||
def queue_command(cmd, description='', user=None):
|
||||
"""Queue a command without generating a flash message. description is ignored (kept for compat)."""
|
||||
return _queue_command(cmd)
|
||||
return _queue_command(cmd, user=user)
|
||||
|
||||
|
||||
def queued_msg(cmd=None, description='', action_label='Configuration saved'):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue