From 337e2f1d3f2f6cb6af81c3cde7287b0fdb00e96f Mon Sep 17 00:00:00 2001 From: Pilar Candia Date: Mon, 1 Jun 2020 14:58:49 -0400 Subject: [PATCH] [4.3] MSPB-60: Disable skip_instructions if announce_only is checked (#198) * MSPB-60: Disable skip_instructions if announce_only is checked * Do not change the value of 'skip_instructions' on the voicemail object if announce_only is checked --- submodules/vmboxes/views/edit.html | 5 +++-- submodules/vmboxes/vmboxes.css | 7 ++++++ submodules/vmboxes/vmboxes.js | 36 +++++++++++++++++++++++++++++- 3 files changed, 45 insertions(+), 3 deletions(-) diff --git a/submodules/vmboxes/views/edit.html b/submodules/vmboxes/views/edit.html index af2d9c5..abe8f1b 100644 --- a/submodules/vmboxes/views/edit.html +++ b/submodules/vmboxes/views/edit.html @@ -139,13 +139,14 @@
-
diff --git a/submodules/vmboxes/vmboxes.css b/submodules/vmboxes/vmboxes.css index 171236d..a6343e7 100644 --- a/submodules/vmboxes/vmboxes.css +++ b/submodules/vmboxes/vmboxes.css @@ -227,6 +227,13 @@ .edit-vmbox .control-input.checkbox > div { display: inline-block; } +.edit-vmbox .control-input.checkbox.disabled { + color: #909099; +} +.edit-vmbox .control-input.checkbox.disabled input ~ i { + border: solid 1px #bcbcc2; + background: #909099; +} .edit-vmbox .helper { margin: 0 30px; diff --git a/submodules/vmboxes/vmboxes.js b/submodules/vmboxes/vmboxes.js index 619e793..2c34e67 100644 --- a/submodules/vmboxes/vmboxes.js +++ b/submodules/vmboxes/vmboxes.js @@ -217,7 +217,14 @@ define(function(require) { templateVMBox.find('.actions .save').on('click', function() { if (monster.ui.valid(vmboxForm)) { - var dataToSave = self.vmboxesMergeData(data, templateVMBox, greetingControl, temporaryGreetingControl); + var dataToSave = self.vmboxesMergeData(data, templateVMBox, greetingControl, temporaryGreetingControl), + $skipInstructionsInput = templateVMBox.find('#skip_instructions_input').val(); + + if (dataToSave.announcement_only) { + dataToSave.skip_instructions = $skipInstructionsInput === 'true' ? true : false; + } else { + delete dataToSave.announcement_only; + } self.vmboxesSaveVmbox(dataToSave, function(data) { callbacks.afterSave && callbacks.afterSave(data); @@ -227,6 +234,33 @@ define(function(require) { } }); + templateVMBox.find('#announcement_only').on('click', function() { + var $this = $(this), + isChecked = $this.prop('checked'), + $skipInstructions = templateVMBox.find('#skip_instructions'), + $parentDiv = $skipInstructions.parents('label.control-input'), + $skipInstructionsInput = templateVMBox.find('#skip_instructions_input').val(), + isSkipInstructions = $skipInstructionsInput === 'true' ? true : false, + isDisabled = false; + + if (isChecked) { + isDisabled = true; + isSkipInstructions = true; + + $parentDiv + .addClass('disabled'); + } else { + $parentDiv + .removeClass('disabled'); + } + + $skipInstructions + .prop('checked', isSkipInstructions); + + $skipInstructions + .prop('disabled', isDisabled); + }); + templateVMBox.find('#delete_vmbox').on('click', function() { var voicemailId = $(this).parents('.edit-vmbox').data('id');