GUI: limit pgroup typing to only valid pgroups
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
from PySide6.QtCore import Signal, Slot, QPoint, QTimer
|
||||
from PySide6.QtGui import QFont
|
||||
from PySide6.QtWidgets import QStatusBar, QDialog, QMenu, QLabel
|
||||
from PySide6.QtWidgets import QStatusBar, QDialog, QMenu, QLabel, QMessageBox
|
||||
|
||||
from aaredaqlib.models import TokenData, BeamlineStateEnum, DAQStatusModel, SessionsStateEnum
|
||||
from aaregui.widgets.clickable_label import ClickableLabel
|
||||
@@ -307,6 +307,17 @@ class StatusBar(QStatusBar):
|
||||
dialog = PGroupDialog(curr_pgroup=curr, pgroups=pgroups)
|
||||
if dialog.exec() == QDialog.DialogCode.Accepted:
|
||||
entered_text = dialog.get_input()
|
||||
if pgroups and entered_text not in pgroups:
|
||||
logger.warning(f"Attempted to set invalid pgroup: {entered_text}")
|
||||
QMessageBox.warning(
|
||||
self,
|
||||
"Invalid P-Group",
|
||||
f"P-group '{entered_text}' is not in your allowed list.\n"
|
||||
f"Please select from: {', '.join(pgroups)}"
|
||||
)
|
||||
return
|
||||
self.set_pgroup.emit(entered_text)
|
||||
|
||||
self.set_pgroup.emit(entered_text)
|
||||
|
||||
def show_change_dialog(self):
|
||||
@@ -330,7 +341,5 @@ class StatusBar(QStatusBar):
|
||||
self.staff_pgroups_loaded.connect(_on_loaded)
|
||||
self.__list_staff_pgroups()
|
||||
return
|
||||
# logger.debug(staff_pgroups)
|
||||
# pgroups = [str(p) for p in (staff_pgroups or pgroups or []) if p is not None and str(p).strip()]
|
||||
# logger.debug(pgroups)
|
||||
|
||||
self._generate_pgroup_dialogue(curr=curr, pgroups=pgroups)
|
||||
|
||||
Reference in New Issue
Block a user