Server : Apache System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64 User : dh_edsupp ( 6597262) PHP Version : 8.2.26 Disable Function : NONE Directory : /lib/python3/dist-packages/trac/notification/templates/ |
Upload File : |
{# Copyright (C) 2014-2021 Edgewall Software This software is licensed as described in the file COPYING, which you should have received as part of this distribution. The terms are also available at https://trac.edgewall.org/wiki/TracLicense. This software consists of voluntary contributions made by many individuals. For the exact contribution history, see the revision history and logs, available at https://trac.edgewall.org/log/. #} # extends 'prefs.html' <!DOCTYPE html> <html> <head> <title> # block preftitle ${_("Notifications")} # endblock preftitle </title> # block head ${ super() } <script> jQuery(function($) { var find_label = function(options, value) { var label; $.each(options, function(idx, option) { if (option.value === value) { label = option.text; return false; } }); return label; }; var highlight = function(nodes) { nodes.effect('highlight'); }; $("#content").find("h1,h2,h3,h4,h5,h6").addAnchor(_("Link to this section")); $("#content .subscription-format").change(function() { $.setWarningUnsavedChanges(true); }); var rows = $("#content .subscription-rules .rules"); rows.on("click", ".delete-rule", function() { $(this).closest("tr").remove(); $.setWarningUnsavedChanges(true); return false; }); rows.on("click", ".move-up-rule", function() { var row = $(this).closest("tr"); row.prev("tr").before(row); highlight(row); $.setWarningUnsavedChanges(true); return false; }); rows.on("click", ".move-down-rule", function() { var row = $(this).closest("tr"); row.next("tr").after(row); highlight(row); $.setWarningUnsavedChanges(true); return false; }); $("#content .add-rule").click(function() { var form = $(this.form); var distributor = $(this).val().replace(/^add-rule_/, ""); var row = form.find(".new-rule-" + distributor).children("tr") .clone(); var adverb = form.find('[name="new-adverb-' + distributor + '"]'); var adverb_val = adverb.val(); var adverb_label = find_label(adverb[0].options, adverb_val); var class_ = form.find('[name="new-rule-' + distributor + '"]'); var class_val = class_.val(); var class_label = find_label(class_[0].options, class_val); if (!adverb_val || !class_val) return false; row.find("[name='adverb-" + distributor + "']").val(adverb_val); row.find("[name='class-" + distributor + "']").val(class_val); row.find(".new-rule-label").text(adverb_label + " " + class_label); row.find("[disabled]").removeAttr("disabled"); row.find('.rule-label').attr('title', _("Drag rule to reorder")); form.find(".rules-" + distributor).append(row); highlight(row); $.setWarningUnsavedChanges(true); return false; }); var sortable_options = {axis: 'y', tolerance: 'pointer', placeholder: 'trac-placeholder', handle: '.rule-label'}; sortable_options.start = function(event, ui) { var placeholder = $(ui.placeholder); if (placeholder.children().length === 0) { var orig = $(ui.item).children(); var clone = orig.clone(); clone.find('input, select, button').removeAttr('name'); placeholder.append(clone); } $.setWarningUnsavedChanges(true); }; rows.sortable(sortable_options); rows.find(".rule-label").attr("title", _("Drag rule to reorder")); $("#content form").submit(function() { $.setWarningUnsavedChanges(false); }); }); </script> # endblock head </head> <body> # block prefpanel <h2 id="subscriptions-section">${_("Subscriptions")}</h2> # for distributor, rules in data['rules'].items(): <div class="ruleset"> <h3>${distributor}</h3> <div class="field"> <p> <label for="format-${distributor}">${_("Format:")}</label> <select id="format-${distributor}" name="format-${distributor}" class="subscription-format"> # set default_format = data['default_format'][distributor] <option value="">${_("Default: %(default)s", default=default_format)}</option> # for f in data['formatters'][distributor]: <option${{'selected': f == data['selected_format'][distributor] }|htmlattr} value="${f}">${f}</option> # endfor </select> </p> <p class="hint"> # trans distributor Configure the format of your ${distributor} notifications. # endtrans </p> </div> # if data['subscribers']: <div class="field"> <label>${_("Subscription rules:")}</label> <table class="subscription-rules"> <tbody class="rules rules-${distributor}"> # for rule in rules: <tr class="rule"> <td> <div class="inlinebuttons"> <button class="trac-button move-up-rule" type="submit" name="action" title="${_('Move rule up')}" value="move-rule_${rule.id}-${rule.priority - 1}" >↑</button> </div> </td> <td> <div class="inlinebuttons"> <button class="trac-button move-down-rule" type="submit" name="action" title="${_('Move rule down')}" value="move-rule_${rule.id}-${rule.priority + 1}" >↓</button> </div> </td> <td> <div class="inlinebuttons"> <button class="trac-button delete-rule" type="submit" name="action" title="${_('Delete rule')}" value="delete-rule_${rule.id}" >–</button> </div> </td> <td class="rule-label"> # trans key = data.adverb_labels[rule.adverb], value = rule.description ${key}: ${value} # endtrans <div style="display:none"> <input type="hidden" name="class-${distributor}" value="${rule['class']}" /> <input type="hidden" name="adverb-${distributor}" value="${rule.adverb}" /> </div> </td> </tr> # endfor </tbody> <tbody class="new-rule-${distributor}" style="display:none"> <tr class="rule"> <td> <div class="inlinebuttons"> <button class="trac-button move-up-rule" type="submit" name="action" title="${_('Move rule up')}" value="">↑</button> </div> </td> <td> <div class="inlinebuttons"> <button class="trac-button move-down-rule" type="submit" name="action" title="${_('Move rule down')}" value="">↓</button> </div> </td> <td> <div class="inlinebuttons"> <button class="trac-button delete-rule" type="submit" name="action" title="${_('Delete rule')}" value="">–</button> </div> </td> <td class="rule-label"> <span class="new-rule-label"></span> <div style="display:none"> <input type="hidden" name="adverb-${distributor}" value="" disabled="disabled" /> <input type="hidden" name="class-${distributor}" value="" disabled="disabled" /> </div> </td> </tr> </tbody> </table> <p> <select name="new-adverb-${distributor}"> # for a in data['adverbs']: <option value="${a}">${data.adverb_labels[a]}:</option> # endfor </select> <select name="new-rule-${distributor}"> # for s in data['subscribers']: <option value="${s['class']}">${s.description}</option> # endfor </select> <button class="trac-button add-rule" type="submit" name="action" title="${_('Add rule')}" value="add-rule_${distributor}">${_("Add")}</button> </p> <p class="hint"> # trans distributor Add, remove or reorder subscription rules to ${distributor} notifications. Only the first matching rule is applied. # endtrans </p> <p class="hint"> # set never_notify <strong>"${_('Never notify: I update a ticket')}"</strong> # endset # set any_changes <strong>"${_('Notify: Any ticket changes')}"</strong> # endset # trans never_notify, any_changes Example: The rule ${never_notify} should be above ${any_changes} to get notifications of any ticket changes except when you update a ticket. # endtrans </p> </div> # endif # if data.default_rules[distributor]: <div class="field"> <label>${_("Default rules:")}</label> <ul> # for rule in data['default_rules'][distributor]: <li class="default_rule"> # trans key = data.adverb_labels[rule.adverb], value = rule.description ${key}: ${value} # endtrans </li> # endfor </ul> <p class="hint"> # trans These default rules have been configured by the site administrator. Configure subscription rules to override them. # endtrans </p> <p class="hint"> # trans any_changes, never_notify Example: The subscription rule ${any_changes} overrides the default rule ${never_notify}. # endtrans </p> </div> # endif </div> # endfor <p class="trac-noscript"> <input type="hidden" name="action" value="replace_all" /> </p> # endblock prefpanel # block prefpanelhelp # call(note, page) jmacros.wikihelp('TracNotification'): # trans note, page ${note} See ${page} for help on using notifications. # endtrans # endcall # endblock ## jinjacheck: "(h2 div p CDATA)" OK </body> </html>