diff --git a/changedetectionio/forms.py b/changedetectionio/forms.py index f5a10283..2b4f5318 100644 --- a/changedetectionio/forms.py +++ b/changedetectionio/forms.py @@ -355,6 +355,8 @@ class watchForm(commonSettingsForm): filter_failure_notification_send = BooleanField( 'Send a notification when the filter can no longer be found on the page', default=False) + notification_use_default = BooleanField('Use default/system notification settings', default=False) + def validate(self, **kwargs): if not super().validate(): return False diff --git a/changedetectionio/model/Watch.py b/changedetectionio/model/Watch.py index c59dd1da..f97f8c61 100644 --- a/changedetectionio/model/Watch.py +++ b/changedetectionio/model/Watch.py @@ -35,6 +35,7 @@ class model(dict): 'notification_title': default_notification_title, 'notification_body': default_notification_body, 'notification_format': default_notification_format, + 'notification_use_default': False, 'notification_muted': False, 'css_filter': '', 'last_error': False, diff --git a/changedetectionio/static/js/watch-settings.js b/changedetectionio/static/js/watch-settings.js index b45ca95d..8af98fb9 100644 --- a/changedetectionio/static/js/watch-settings.js +++ b/changedetectionio/static/js/watch-settings.js @@ -1,7 +1,7 @@ -$(document).ready(function() { - function toggle() { +$(document).ready(function () { + function toggle_fetch_backend() { if ($('input[name="fetch_backend"]:checked').val() == 'html_webdriver') { - if(playwright_enabled) { + if (playwright_enabled) { // playwright supports headers, so hide everything else // See #664 $('#requests-override-options #request-method').hide(); @@ -13,12 +13,8 @@ $(document).ready(function() { // selenium/webdriver doesnt support anything afaik, hide it all $('#requests-override-options').hide(); } - - $('#webdriver-override-options').show(); - } else { - $('#requests-override-options').show(); $('#requests-override-options *:hidden').show(); $('#webdriver-override-options').hide(); @@ -26,8 +22,25 @@ $(document).ready(function() { } $('input[name="fetch_backend"]').click(function (e) { - toggle(); + toggle_fetch_backend(); }); - toggle(); + toggle_fetch_backend(); + function toggle_default_notifications() { + var n=$('#notification_urls, #notification_title, #notification_body, #notification_format'); + if ($('#notification_use_default').is(':checked')) { + $(n).each(function (e) { + $(this).attr('readonly', true).css('opacity',0.5); + }); + } else { + $(n).each(function (e) { + $(this).attr('readonly', false).css('opacity',1); + }); + } + } + + $('#notification_use_default').click(function (e) { + toggle_default_notifications(); + }); + toggle_default_notifications(); }); diff --git a/changedetectionio/templates/edit.html b/changedetectionio/templates/edit.html index 1d18c4d8..e41f33f9 100644 --- a/changedetectionio/templates/edit.html +++ b/changedetectionio/templates/edit.html @@ -135,9 +135,11 @@ User-Agent: wonderbra 1.0") }}