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
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:
@@ -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.
|
||||
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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})
|
||||
|
||||
Reference in New Issue
Block a user