diff options
author | Byron Jones <bjones@mozilla.com> | 2012-11-14 16:04:59 +0100 |
---|---|---|
committer | Byron Jones <bjones@mozilla.com> | 2012-11-14 16:04:59 +0100 |
commit | 99ec314f1888f326b2305be67da991c5316ce20f (patch) | |
tree | cc265de3ca27248da52a989bfea54cecbae29072 /extensions/Push/template | |
parent | ef644aeffea4e6d9513f37eb88d39707ce155c4a (diff) | |
download | bugzilla-99ec314f1888f326b2305be67da991c5316ce20f.tar.gz bugzilla-99ec314f1888f326b2305be67da991c5316ce20f.tar.xz |
Bug 589322: deploy push extension
Diffstat (limited to 'extensions/Push/template')
9 files changed, 442 insertions, 0 deletions
diff --git a/extensions/Push/template/en/default/hook/admin/admin-end_links_right.html.tmpl b/extensions/Push/template/en/default/hook/admin/admin-end_links_right.html.tmpl new file mode 100644 index 000000000..78e314ab2 --- /dev/null +++ b/extensions/Push/template/en/default/hook/admin/admin-end_links_right.html.tmpl @@ -0,0 +1,18 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% IF user.in_group('admin') %] + <dt id="push"> + Push + </dt> + <dd> + <a href="page.cgi?id=push_config.html">Configuration</a><br> + <a href="page.cgi?id=push_queues.html">Queues</a><br> + <a href="page.cgi?id=push_log.html">Log</a><br> + </dd> +[% END %] diff --git a/extensions/Push/template/en/default/hook/global/code-error-errors.html.tmpl b/extensions/Push/template/en/default/hook/global/code-error-errors.html.tmpl new file mode 100644 index 000000000..515f00fa8 --- /dev/null +++ b/extensions/Push/template/en/default/hook/global/code-error-errors.html.tmpl @@ -0,0 +1,25 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% IF error == "push_invalid_payload" %] + [% title = "Invalid payload" %] + An invalid or empty payload was passed to Push. + +[% ELSIF error == "push_invalid_change_set" %] + [% title = "Invalid change_set" %] + An invalid or empty change_set was passed to Push. + +[% ELSIF error == "push_invalid_routing_key" %] + [% title = "Invalid routing_key" %] + An invalid or empty routing_key was passed to Push. + +[% ELSIF error == "push_invalid_connector" %] + [% title = "Invalid connector" %] + An invalid connector was passed to Push. + +[% END %] diff --git a/extensions/Push/template/en/default/hook/global/messages-messages.html.tmpl b/extensions/Push/template/en/default/hook/global/messages-messages.html.tmpl new file mode 100644 index 000000000..e4a016aee --- /dev/null +++ b/extensions/Push/template/en/default/hook/global/messages-messages.html.tmpl @@ -0,0 +1,16 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% IF message_tag == "push_config_updated" %] + Changes to the configuration have been saved. + Please allow up to 60 seconds for the change to be active. + +[% ELSIF message_tag == "push_message_deleted" %] + The message has been deleted. + +[% END %] diff --git a/extensions/Push/template/en/default/hook/global/user-error-errors.html.tmpl b/extensions/Push/template/en/default/hook/global/user-error-errors.html.tmpl new file mode 100644 index 000000000..2b8a1c4e0 --- /dev/null +++ b/extensions/Push/template/en/default/hook/global/user-error-errors.html.tmpl @@ -0,0 +1,11 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% IF error == "push_error" %] + [% error_message FILTER html %] +[% END %] diff --git a/extensions/Push/template/en/default/pages/push_config.html.tmpl b/extensions/Push/template/en/default/pages/push_config.html.tmpl new file mode 100644 index 000000000..6e6507a39 --- /dev/null +++ b/extensions/Push/template/en/default/pages/push_config.html.tmpl @@ -0,0 +1,134 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% PROCESS global/header.html.tmpl + title = "Push Administration: Configuration" + javascript_urls = [ 'extensions/Push/web/admin.js' ] + style_urls = [ 'extensions/Push/web/admin.css' ] +%] + +<script> +var push_defaults = new Array(); +[% FOREACH option = push.config.options %] + [% IF option.name != 'enabled' && option.default != '' %] + push_defaults['global_[% option.name FILTER js %]'] = '[% option.default FILTER js %]'; + [% END %] +[% END %] +[% FOREACH connector = connectors.list %] + [% FOREACH option = connector.config.options %] + [% IF option.name != 'enabled' && option.default != '' %] + push_defaults['[% connector.name FILTER js %]_[% option.name FILTER js %]'] = '[% option.default FILTER js %]'; + [% END %] + [% END %] +[% END %] +</script> + +<form method="POST" action="page.cgi"> +<input type="hidden" name="id" value="push_config.html"> +<input type="hidden" name="save" value="1"> + +<table border="0" cellspacing="0" cellpadding="5" width="100%"> + +[% PROCESS options + name = 'global', + config = push.config +%] + +[% FOREACH connector = connectors.list %] + [% PROCESS options + name = connector.name + config = connector.config + %] +[% END %] + +<tr> + <td> </td> + <td colspan="2"><hr></td> +</tr> + +<tr> + <td> </td> + <td colspan="2"> + <input type="submit" value="Submit Changes"> + <input type="submit" value="Reset to Defaults" onclick="reset_to_defaults(); return false"> + </td> +</tr> + + +<tr> + <td style="min-width: 10em"> </td> + <td> </td> + <td width="100%"> </td> +</tr> + +</table> + +</form> + +[% INCLUDE global/footer.html.tmpl %] + +[% BLOCK options %] + <tr class="connector"> + <th>[% name FILTER ucfirst FILTER html %]</th> + <td colspan="2"><hr></td> + </tr> + [% FOREACH option = config.options %] + [% class = name _ '_tr' IF option.name != 'enabled' %] + <tr class="[% class FILTER html %] option"> + <th> + [% IF option.required %] + <span class="required_option" title="Mandatory option">*</span> + [% END %] + [% option.label FILTER html %] + </th> + <td> + [% IF option.type == 'string' %] + <input type="text" name="[% name FILTER html %].[% option.name FILTER html %]" + value="[% config.${option.name} FILTER html %]" size="60" + id="[% name FILTER html %]_[% option.name FILTER html %]"> + + [% ELSIF option.type == 'password' %] + <input type="password" name="[% name FILTER html %].[% option.name FILTER html %]" + value="[% config.${option.name} FILTER html %]" size="60" + id="[% name FILTER html %]_[% option.name FILTER html %]"> + + [% ELSIF option.type == 'select' %] + <select name="[% name FILTER html %].[% option.name FILTER html %]" + id="[% name FILTER html %]_[% option.name FILTER html %]" + [% IF option.name == 'enabled' && name != 'global' %] + onchange="toggle_options(this.value == 'Enabled', '[% name FILTER js %]')" + [% END %] + > + [% IF option.name != 'enabled' && !option.required %] + <option value=""" + [% ' selected' IF config.${option.name} == "" %]></option> + [% END %] + [% FOREACH value = option.values %] + <option value="[% value FILTER html %]" + [% ' selected' IF config.${option.name} == value %]>[% value FILTER html %]</option> + [% END %] + </select> + + [% ELSE %] + unsupported option type '[% option.type FILTER html %]' + [% END %] + </td> + [% IF option.help %] + <td class="help">[% option.help FILTER html %]</td> + [% ELSE %] + <td> </td> + [% END %] + </tr> + [% END %] + [% IF name != 'global' %] + <script> + var is_enabled = document.getElementById('[% name FILTER js %]_enabled').value == 'Enabled'; + toggle_options(is_enabled, '[% name FILTER js %]'); + </script> + [% END %] +[% END %] diff --git a/extensions/Push/template/en/default/pages/push_log.html.tmpl b/extensions/Push/template/en/default/pages/push_log.html.tmpl new file mode 100644 index 000000000..a51cb22cf --- /dev/null +++ b/extensions/Push/template/en/default/pages/push_log.html.tmpl @@ -0,0 +1,45 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% PROCESS global/header.html.tmpl + title = "Push Administration: Logs" + javascript_urls = [ 'extensions/Push/web/admin.js' ] + style_urls = [ 'extensions/Push/web/admin.css' ] +%] +[% logs = push.log %] + +<table id="report" cellspacing="0"> + +[% IF logs.count %] + <tr class="report-subheader"> + <th nowrap>Connector</th> + <th nowrap>Event Timestamp</th> + <th nowrap>Processed Timestamp</th> + <th nowrap>Status</th> + <th nowrap>Message</th> + </tr> +[% END %] + +[% FOREACH log = logs.list %] + <tr class="row [% loop.count % 2 == 1 ? "report_row_odd" : "report_row_even" %]"> + <td nowrap>[% log.connector FILTER html %]</td> + <td nowrap>[% log.push_ts FILTER time FILTER html %]</td> + <td nowrap>[% log.processed_ts FILTER time FILTER html %]</td> + <td nowrap>[% log.result_string FILTER html %]</td> + <td>[% log.data FILTER html %]</td> + </tr> +[% END %] + +<tr> + <td colspan="5"> </td> +</tr> + +</table> + +[% INCLUDE global/footer.html.tmpl %] + diff --git a/extensions/Push/template/en/default/pages/push_queues.html.tmpl b/extensions/Push/template/en/default/pages/push_queues.html.tmpl new file mode 100644 index 000000000..67f079f92 --- /dev/null +++ b/extensions/Push/template/en/default/pages/push_queues.html.tmpl @@ -0,0 +1,102 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% PROCESS global/header.html.tmpl + title = "Push Administration: Queues" + javascript_urls = [ 'extensions/Push/web/admin.js' ] + style_urls = [ 'extensions/Push/web/admin.css' ] +%] + +<table id="report" cellspacing="0"> + +[% PROCESS show_queue + queue = push.queue + title = 'Pending' + pending = 1 +%] + +[% FOREACH connector = push.connectors.list %] + [% NEXT UNLESS connector.enabled %] + [% PROCESS show_queue + queue = connector.backlog + title = connector.name _ ' Backlog' + pending = 0 + %] +[% END %] + +</table> + +[% INCLUDE global/footer.html.tmpl %] + +[% BLOCK show_queue %] + [% count = queue.count %] + <tr class="report-header"> + <th colspan="2"> + [% title FILTER html %] Queue ([% count FILTER html %]) + </th> + [% IF queue.backoff && count %] + <th class="rhs" colspan="5"> + Next Attempt: [% queue.backoff.next_attempt_ts FILTER time %] + </th> + [% ELSE %] + <th colspan="5"> </td> + [% END %] + </tr> + + [% IF count %] + <tr class="report-subheader"> + <th nowrap>Timestamp</th> + <th nowrap>Change Set</th> + [% IF pending %] + <th nowrap colspan="4">Routing Key</th> + [% ELSE %] + <th nowrap>Routing Key</th> + <th nowrap>Last Attempt</th> + <th nowrap>Attempts</th> + <th nowrap>Last Error</th> + [% END %] + <th> </th> + </tr> + [% END %] + + [% FOREACH message = queue.list('limit', 10) %] + <tr class="row [% loop.count % 2 == 1 ? "report_row_odd" : "report_row_even" %]"> + <td nowrap>[% message.push_ts FILTER html %]</td> + <td nowrap>[% message.change_set FILTER html %]</td> + [% IF pending %] + <td nowrap colspan="4">[% message.routing_key FILTER html %]</td> + [% ELSE %] + <td nowrap>[% message.routing_key FILTER html %]</td> + [% IF message.attempt_ts %] + <td nowrap>[% message.attempt_ts FILTER time %]</td> + <td nowrap>[% message.attempts FILTER html %]</td> + <td width="100%"> + [% IF message.last_error.length > 40 %] + [% last_error = message.last_error.substr(0, 40) _ '...' %] + [% ELSE %] + [% last_error = message.last_error %] + [% END %] + [% last_error FILTER html %]</td> + [% ELSE %] + <td>-</td> + <td>-</td> + <td width="100%">-</td> + [% END %] + [% END %] + <td class="rhs"> + <a href="?id=push_queues_view.html&[% ~%] + message=[% message.id FILTER url_quote %]&[% ~%] + connector=[% queue.connector FILTER url_quote %]">View</a> + </td> + </tr> + [% END %] + + <tr> + <td colspan="7"> </td> + </tr> +[% END %] diff --git a/extensions/Push/template/en/default/pages/push_queues_view.html.tmpl b/extensions/Push/template/en/default/pages/push_queues_view.html.tmpl new file mode 100644 index 000000000..0e8449b0c --- /dev/null +++ b/extensions/Push/template/en/default/pages/push_queues_view.html.tmpl @@ -0,0 +1,80 @@ +[%# This Source Code Form is subject to the terms of the Mozilla Public + # License, v. 2.0. If a copy of the MPL was not distributed with this + # file, You can obtain one at http://mozilla.org/MPL/2.0/. + # + # This Source Code Form is "Incompatible With Secondary Licenses", as + # defined by the Mozilla Public License, v. 2.0. + #%] + +[% PROCESS global/header.html.tmpl + title = "Push Administration: Queues: Payload" + javascript_urls = [ 'extensions/Push/web/admin.js' ] + style_urls = [ 'extensions/Push/web/admin.css' ] +%] + +[% IF !message_obj %] + <a href="?id=push_queues.html">Return</a> + [% RETURN %] +[% END %] + +<table id="report" cellspacing="0"> + +<tr> + <th class="report-header" nowrap>Connector</th> + <td width="100%">[% message_obj.connector || '-' FILTER html %]</td> +</tr> +<tr> + <th class="report-header" nowrap>Message ID</th> + <td width="100%">[% message_obj.message_id FILTER html %]</td> +</tr> +<tr> + <th class="report-header" nowrap>Push Time</th> + <td width="100%">[% message_obj.push_ts FILTER time FILTER html %]</td> +</tr> +<tr> + <th class="report-header" nowrap>Change Set</th> + <td width="100%">[% message_obj.change_set FILTER html %]</td> +</tr> +<tr> + <th class="report-header" nowrap>Routing Key</th> + <td width="100%">[% message_obj.routing_key FILTER html %]</td> +</tr> + +[% IF message_obj.attempts %] + <tr> + <th class="report-header" nowrap>Attempts</th> + <td width="100%">[% message_obj.attempts FILTER html %]</td> + </tr> + <tr> + <th class="report-header" nowrap>Last Attempt Time</th> + <td width="100%">[% message_obj.attempt_ts FILTER time FILTER html %]</td> + </tr> + <tr> + <th class="report-header" nowrap>Last Error</th> + <td width="100%"><b>[% message_obj.last_error FILTER html %]</b></td> + </tr> +[% END %] + +<tr> + <td colspan="2"> + [% IF json %] + <pre>[% json FILTER html %]</pre> + [% ELSE %] + <pre>[% message_obj.payload FILTER html %]</pre> + [% END %] + </td> +</tr> + +<tr class="report-header"> + <th colspan="2"> + <a href="?id=push_queues.html">Return</a> | + <a onclick="return confirm('Are you sure you want to delete this message forever (a long time)?')" + href="?id=push_queues_view.html&delete=1 + [%- %]&message=[% message_obj.id FILTER url_quote %] + [%- %]&connector=[% message_obj.connector FILTER url_quote %]">Delete</a> + </th> +</tr> + +</table> + +[% INCLUDE global/footer.html.tmpl %] diff --git a/extensions/Push/template/en/default/setup/strings.txt.pl b/extensions/Push/template/en/default/setup/strings.txt.pl new file mode 100644 index 000000000..bb135f5bb --- /dev/null +++ b/extensions/Push/template/en/default/setup/strings.txt.pl @@ -0,0 +1,11 @@ +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This Source Code Form is "Incompatible With Secondary Licenses", as +# defined by the Mozilla Public License, v. 2.0. + +%strings = ( + feature_push_amqp => 'Push: AMQP Support', + feature_push_stomp => 'Push: STOMP Support', +); |