diff --git a/octoprint_octolapse/__init__.py b/octoprint_octolapse/__init__.py index 6d0888e0..ac4bebdd 100644 --- a/octoprint_octolapse/__init__.py +++ b/octoprint_octolapse/__init__.py @@ -1490,11 +1490,19 @@ def accept_snapshot_plan_preview_request(self): with OctolapsePlugin.admin_permission.require(http_exception=403): request_values = request.get_json() preprocessing_job_guid = request_values["preprocessing_job_guid"] + disable_for_print = request_values["disable_for_print"] if ( preprocessing_job_guid is not None and str(self.preprocessing_job_guid) == preprocessing_job_guid ): - self.accept_snapshot_plan_preview(preprocessing_job_guid) + if (not disable_for_print): + self.accept_snapshot_plan_preview(preprocessing_job_guid) + else: + logger.info("Disabling Octolapse for the current print as per user request.") + self.reset_preprocessing() + self._timelapse.release_job_on_hold_lock(reset=True) + self.send_snapshot_preview_complete_message() + print("Disabling Octolapse for the current print as per user request!!") return jsonify({ 'success': True }) diff --git a/octoprint_octolapse/static/js/octolapse.js b/octoprint_octolapse/static/js/octolapse.js index 5f804680..6100cd43 100644 --- a/octoprint_octolapse/static/js/octolapse.js +++ b/octoprint_octolapse/static/js/octolapse.js @@ -1498,9 +1498,12 @@ $(function () { */ }; - self.acceptSnapshotPlanPreview = function () { + self.acceptSnapshotPlanPreview = function (disable_for_print) { //console.log("Accepting snapshot plan preview."); - var data = { "preprocessing_job_guid": self.preprocessing_job_guid }; + var data = { + "preprocessing_job_guid": self.preprocessing_job_guid, + "disable_for_print": !!disable_for_print + }; $.ajax({ url: "./plugin/octolapse/acceptSnapshotPlanPreview", type: "POST", diff --git a/octoprint_octolapse/static/js/octolapse.status.snapshotplan_preview.js b/octoprint_octolapse/static/js/octolapse.status.snapshotplan_preview.js index 0b5439e9..7a57a780 100644 --- a/octoprint_octolapse/static/js/octolapse.status.snapshotplan_preview.js +++ b/octoprint_octolapse/static/js/octolapse.status.snapshotplan_preview.js @@ -32,6 +32,7 @@ $(function() { dialog.$snapshotPlanPreviewDialog = $("#octolapse_snapshot_plan_preview_dialog"); dialog.$snapshotPlanPreviewForm = dialog.$snapshotPlanPreviewDialog.find("#octolapse_snapshot_plan_preview_form"); dialog.$cancelButton = $(".cancel", dialog.$snapshotPlanPreviewDialog); + dialog.$disableButton = $(".continue-disable", dialog.$snapshotPlanPreviewDialog); dialog.$closeIcon = $("a.close", dialog.$snapshotPlanPreviewDialog); dialog.$continueButton = $(".continue", dialog.$snapshotPlanPreviewDialog); dialog.$modalBody = dialog.$snapshotPlanPreviewDialog.find(".modal-body"); @@ -50,6 +51,11 @@ $(function() { self.closeSnapshotPlanPreviewDialog(); }); + dialog.$disableButton.unbind("click"); + dialog.$disableButton.bind("click", function () { + Octolapse.Globals.acceptSnapshotPlanPreview(true); + }); + // Prevent hiding unless the event was initiated by the hideAddEditDialog function dialog.$snapshotPlanPreviewDialog.on("hide.bs.modal", function () { return self.can_hide; diff --git a/octoprint_octolapse/templates/octolapse_tab_snapshot_plan_preview_popup.jinja2 b/octoprint_octolapse/templates/octolapse_tab_snapshot_plan_preview_popup.jinja2 index e40356a3..e323da7a 100644 --- a/octoprint_octolapse/templates/octolapse_tab_snapshot_plan_preview_popup.jinja2 +++ b/octoprint_octolapse/templates/octolapse_tab_snapshot_plan_preview_popup.jinja2 @@ -38,8 +38,9 @@