diff --git a/src/adhoc_commands.py b/src/adhoc_commands.py index 85ba9cfd1a3645d00429d5594d5d4be7a35cee9e..db21dfdb6b5a7a854c4205400ebcd472dccec1cb 100644 --- a/src/adhoc_commands.py +++ b/src/adhoc_commands.py @@ -64,12 +64,12 @@ class CommandWindow: self.window.connect('delete-event', self.on_adhoc_commands_window_delete_event) for name in ('restart_button', 'back_button', 'forward_button', - 'execute_button', 'close_button', 'stages_notebook', - 'retrieving_commands_stage_vbox', - 'command_list_stage_vbox', 'command_list_vbox', - 'sending_form_stage_vbox', 'sending_form_progressbar', - 'notes_label', 'no_commands_stage_vbox', 'error_stage_vbox', - 'error_description_label'): + 'execute_button', 'finish_button', 'close_button', + 'stages_notebook', 'retrieving_commands_stage_vbox', + 'command_list_stage_vbox', 'command_list_vbox', + 'sending_form_stage_vbox', 'sending_form_progressbar', + 'notes_label', 'no_commands_stage_vbox', 'error_stage_vbox', + 'error_description_label'): self.__dict__[name] = self.xml.get_object(name) self.initiate() @@ -137,6 +137,9 @@ class CommandWindow: def on_execute_button_clicked(self, *anything): return self.stage_execute_button_clicked(*anything) + def on_finish_button_clicked(self, *anything): + return self.stage_finish_button_clicked(*anything) + def on_close_button_clicked(self, *anything): return self.stage_close_button_clicked(*anything) @@ -169,6 +172,7 @@ class CommandWindow: self.back_button.set_sensitive(False) self.forward_button.set_sensitive(False) self.execute_button.set_sensitive(False) + self.finish_button.set_sensitive(False) # request command list self.request_command_list() @@ -214,6 +218,7 @@ class CommandWindow: self.back_button.set_sensitive(False) self.forward_button.set_sensitive(True) self.execute_button.set_sensitive(False) + self.finish_button.set_sensitive(False) # build the commands list radiobuttons first_radio = None @@ -270,6 +275,7 @@ class CommandWindow: self.back_button.set_sensitive(False) self.forward_button.set_sensitive(False) self.execute_button.set_sensitive(False) + self.finish_button.set_sensitive(False) self.stage3_submit_form() @@ -277,6 +283,7 @@ class CommandWindow: self.stage_back_button_clicked = self.stage3_back_button_clicked self.stage_forward_button_clicked = self.stage3_forward_button_clicked self.stage_execute_button_clicked = self.stage3_execute_button_clicked + self.stage_finish_button_clicked = self.stage3_finish_button_clicked self.stage_close_button_clicked = self.stage3_close_button_clicked self.stage_adhoc_commands_window_delete_event = \ self.stage3_close_button_clicked @@ -320,6 +327,9 @@ class CommandWindow: def stage3_execute_button_clicked(self, widget): self.stage3_submit_form('execute') + def stage3_finish_button_clicked(self, widget): + self.stage3_submit_form('complete') + def stage3_submit_form(self, action='execute'): self.data_form_widget.set_sensitive(False) if self.data_form_widget.get_data_form(): @@ -331,6 +341,7 @@ class CommandWindow: self.back_button.set_sensitive(False) self.forward_button.set_sensitive(False) self.execute_button.set_sensitive(False) + self.finish_button.set_sensitive(False) self.sending_form_progressbar.show() self.setup_pulsing(self.sending_form_progressbar) @@ -379,11 +390,14 @@ class CommandWindow: self.forward_button.set_sensitive( actions.getTag('next') is not None) self.execute_button.set_sensitive(True) + self.finish_button.set_sensitive(actions.getTag('complete') is not \ + None) else: self.close_button.set_sensitive(True) self.back_button.set_sensitive(False) self.forward_button.set_sensitive(False) self.execute_button.set_sensitive(True) + self.finish_button.set_sensitive(False) if self.form_status == 'completed': self.close_button.set_sensitive(True) @@ -391,6 +405,7 @@ class CommandWindow: self.back_button.hide() self.forward_button.hide() self.execute_button.hide() + self.finish_button.hide() self.close_button.show() self.stage_adhoc_commands_window_delete_event = \ self.stage3_close_button_clicked @@ -423,6 +438,7 @@ class CommandWindow: self.back_button.set_sensitive(False) self.forward_button.set_sensitive(False) self.execute_button.set_sensitive(False) + self.finish_button.set_sensitive(False) self.stage_finish = self.do_nothing self.stage_close_button_clicked = self.stage4_close_button_clicked @@ -468,6 +484,7 @@ class CommandWindow: self.back_button.hide() self.forward_button.hide() self.execute_button.hide() + self.finish_button.hide() self.error_description_label.set_text(error)