GUI: prevented pasuing of queue if run check conditions weren't met, now put inside run. Needs testing
This commit is contained in:
@@ -200,44 +200,45 @@ class SampleQueuePanel(QFrame):
|
||||
info="Please change the state at the bottom of the menu")
|
||||
return
|
||||
|
||||
if self.__busy:
|
||||
self.show_error_dialog(
|
||||
title="Beamline is busy",
|
||||
msg="Cannot run automation while beamline is busy",
|
||||
info="Please wait until beamline is idle "
|
||||
"or contact your local contact for support"
|
||||
)
|
||||
return
|
||||
|
||||
if self.__baton_holder is SessionsStateEnum.Vacant:
|
||||
self.show_error_dialog(
|
||||
title="Session is vacant",
|
||||
msg="Starting automation while session is vacant is not currently implemented",
|
||||
info="Please grab the baton before continuing "
|
||||
"or contact your local contact for support"
|
||||
)
|
||||
return
|
||||
|
||||
elif self.__baton_holder is not SessionsStateEnum.OwnedByYou:
|
||||
self.show_error_dialog(
|
||||
title="You do not hold the baton",
|
||||
msg="You do not hold the baton.",
|
||||
info="Please request the baton if it is your shift."
|
||||
"If your baton request is denied and it should be the start of your shift,"
|
||||
"please contact your local contact for support"
|
||||
)
|
||||
return
|
||||
|
||||
if self.__beamline_state is BeamlineStateEnum.Maintenance:
|
||||
self.show_error_dialog(
|
||||
title="Maintenance mode",
|
||||
msg="Cannot run automation while beamline is in maintenance mode",
|
||||
info=("Change to safe state such as Sample Exchange before trying to continue. "
|
||||
"If this issue persists please contact your local contact for support."),
|
||||
)
|
||||
return
|
||||
|
||||
if self.__pause:
|
||||
|
||||
if self.__busy:
|
||||
self.show_error_dialog(
|
||||
title="Beamline is busy",
|
||||
msg="Cannot run automation while beamline is busy",
|
||||
info="Please wait until beamline is idle "
|
||||
"or contact your local contact for support"
|
||||
)
|
||||
return
|
||||
|
||||
if self.__baton_holder is SessionsStateEnum.Vacant:
|
||||
self.show_error_dialog(
|
||||
title="Session is vacant",
|
||||
msg="Starting automation while session is vacant is not currently implemented",
|
||||
info="Please grab the baton before continuing "
|
||||
"or contact your local contact for support"
|
||||
)
|
||||
return
|
||||
|
||||
elif self.__baton_holder is not SessionsStateEnum.OwnedByYou:
|
||||
self.show_error_dialog(
|
||||
title="You do not hold the baton",
|
||||
msg="You do not hold the baton.",
|
||||
info="Please request the baton if it is your shift."
|
||||
"If your baton request is denied and it should be the start of your shift,"
|
||||
"please contact your local contact for support"
|
||||
)
|
||||
return
|
||||
|
||||
if self.__beamline_state is BeamlineStateEnum.Maintenance:
|
||||
self.show_error_dialog(
|
||||
title="Maintenance mode",
|
||||
msg="Cannot run automation while beamline is in maintenance mode",
|
||||
info=("Change to safe state such as Sample Exchange before trying to continue. "
|
||||
"If this issue persists please contact your local contact for support."),
|
||||
)
|
||||
return
|
||||
|
||||
if len(self.table_model.samples) > 0:
|
||||
if CHECK_ENABLED:
|
||||
if not self.ring_current_check():
|
||||
@@ -257,6 +258,14 @@ class SampleQueuePanel(QFrame):
|
||||
self.automation_running_changed.emit(True)
|
||||
self.auto_scan.emit(current)
|
||||
self.viewer_track_online.emit()
|
||||
else:
|
||||
logger.debug("No samples in queue, skipping")
|
||||
self.show_error_dialog(
|
||||
title="No Samples in Queue",
|
||||
msg="Cannot run automation as there are no samples in the queue.",
|
||||
info="Please add samples to the queue."
|
||||
)
|
||||
return
|
||||
else:
|
||||
self.__set_to_pause = True
|
||||
self.__pause = True
|
||||
|
||||
Reference in New Issue
Block a user