fix: rename free beamline to clear busy
CI / lint (push) Skipped
CI / test (3.11) (push) Skipped
CI / test (3.12) (push) Skipped
CI / test (3.13) (push) Skipped
CI / test-with-beamline-plugins (pxi_bec) (push) Skipped
CI / test-with-beamline-plugins (pxii_bec) (push) Skipped
CI / test-with-beamline-plugins (pxiii_bec) (push) Skipped

This commit is contained in:
2026-08-12 15:29:41 +02:00
parent 1b3b144265
commit 362880ec82
3 changed files with 18 additions and 15 deletions
+4 -2
View File
@@ -1483,8 +1483,10 @@ async def take_over_beamline(
return "OK"
@app.post("/state/free_beamline")
async def free_beamline(payload: RecoveryActionRequest, token: str = Depends(oauth2_scheme)) -> str:
@app.post("/state/force_clear_busy")
async def force_clear_busy(
payload: RecoveryActionRequest, token: str = Depends(oauth2_scheme)
) -> str:
"""
Clear the beamline busy flag. Staff only.
+11 -10
View File
@@ -106,8 +106,8 @@ class RecoveryPanel(QWidget):
self._take_over_btn.clicked.connect(self._take_over_beamline)
layout.addWidget(self._take_over_btn)
self._free_beamline_btn = QPushButton("Free beamline", self)
self._free_beamline_btn.setStyleSheet(
self._force_clear_busy_btn = QPushButton("Clear busy flag", self)
self._force_clear_busy_btn.setStyleSheet(
card_style(
PENDING_CARD_BG,
PENDING_CARD_BORDER,
@@ -116,8 +116,8 @@ class RecoveryPanel(QWidget):
extra="padding: 10px; font-weight: 600;",
)
)
self._free_beamline_btn.clicked.connect(self._free_beamline)
layout.addWidget(self._free_beamline_btn)
self._force_clear_busy_btn.clicked.connect(self._force_clear_busy)
layout.addWidget(self._force_clear_busy_btn)
self._recover_beamline_btn = QPushButton("Recover beamline", self)
self._recover_beamline_btn.setStyleSheet(
@@ -201,8 +201,8 @@ class RecoveryPanel(QWidget):
else "Disabled because no mounted sample is visible in current status."
)
self._free_beamline_btn.setEnabled(beamline_busy)
self._free_beamline_btn.setToolTip(
self._force_clear_busy_btn.setEnabled(beamline_busy)
self._force_clear_busy_btn.setToolTip(
"" if beamline_busy else "Disabled because beamline does not currently appear busy."
)
@@ -238,16 +238,17 @@ class RecoveryPanel(QWidget):
self._daq.take_over_beamline(code)
@Slot()
def _free_beamline(self) -> None:
def _force_clear_busy(self) -> None:
if not self._confirm(
"Free beamline", "This will clear the beamline busy flag.\n\nDo you want to continue?"
"Clear busy flag",
"This will clear the beamline busy flag.\nAfter this, the server may still report that it is 'moving' if it is not in a defined state. You may then force the server into maintenance mode to recover.\nDo you want to continue?",
):
return
code = self._prompt_recovery_code("Free beamline")
code = self._prompt_recovery_code("Clear busy flag")
if not code:
return
self._last_action.setText("Last action: Clearing beamline busy flag...")
self._daq.free_beamline(code)
self._daq.force_clear_busy(code)
@Slot()
def _recover_beamline(self) -> None:
+3 -3
View File
@@ -872,12 +872,12 @@ class DAQWorker(QObject):
self.generic_post("state/xtal_snapshot")
@Slot(str)
def free_beamline(self, confirmation_code: str):
def force_clear_busy(self, confirmation_code: str):
if self._base_url is None:
logger.info("POST /state/free_beamline")
logger.info("POST /state/force_clear_busy")
return
request = QNetworkRequest(QUrl(f"{self._base_url}/state/free_beamline"))
request = QNetworkRequest(QUrl(f"{self._base_url}/state/force_clear_busy"))
request.setRawHeader(b"Authorization", f"Bearer {self._token}".encode())
request.setRawHeader(b"Content-Type", b"application/json")
body = json.dumps({"confirmation_code": confirmation_code})