diff --git a/deps/rabbitmq_management/priv/www/js/formatters.js b/deps/rabbitmq_management/priv/www/js/formatters.js
index 456e408b6f..235015dc05 100644
--- a/deps/rabbitmq_management/priv/www/js/formatters.js
+++ b/deps/rabbitmq_management/priv/www/js/formatters.js
@@ -6,8 +6,9 @@ SOCKETS_THRESHOLDS=[[1.0, 'red'],
PROCESS_THRESHOLDS=[[0.75, 'red'],
[0.5, 'yellow']];
-function fmt_string(str) {
- if (str == undefined) return UNKNOWN_REPR;
+function fmt_string(str, unknown) {
+ if (unknown == undefined) unkown = UNKNOWN_REPR;
+ if (str == undefined) return unknown;
return fmt_escape_html("" + str);
}
@@ -215,10 +216,6 @@ function fmt_exchange_type(type) {
'';
}
-function fmt_policy(policy) {
- return policy == 'none' ? '' : fmt_escape_html(policy);
-}
-
function fmt_exchange_url(name) {
return name == '' ? 'amq.default' : fmt_escape_html(name);
}
diff --git a/deps/rabbitmq_management/priv/www/js/tmpl/exchange.ejs b/deps/rabbitmq_management/priv/www/js/tmpl/exchange.ejs
index 961fb2c94f..70e9bf9c1e 100644
--- a/deps/rabbitmq_management/priv/www/js/tmpl/exchange.ejs
+++ b/deps/rabbitmq_management/priv/www/js/tmpl/exchange.ejs
@@ -14,7 +14,7 @@
| Policy |
- <%= fmt_policy(exchange.policy) %> |
+ <%= fmt_string(exchange.policy, '') %> |
<% if (vhosts_interesting) { %>
diff --git a/deps/rabbitmq_management/priv/www/js/tmpl/exchanges.ejs b/deps/rabbitmq_management/priv/www/js/tmpl/exchanges.ejs
index 1f4d60af05..7a12441928 100644
--- a/deps/rabbitmq_management/priv/www/js/tmpl/exchanges.ejs
+++ b/deps/rabbitmq_management/priv/www/js/tmpl/exchanges.ejs
@@ -29,7 +29,7 @@
<% } %>
| <%= link_exchange(exchange.vhost, exchange.name) %> |
<%= fmt_exchange_type(exchange.type) %> |
- <%= fmt_policy(exchange.policy) %> |
+ <%= fmt_string(exchange.policy, '') %> |
<%= fmt_parameters_short(exchange) %> |
<%= fmt_rate(exchange.message_stats_in, 'publish', false) %> |
diff --git a/deps/rabbitmq_management/priv/www/js/tmpl/queue.ejs b/deps/rabbitmq_management/priv/www/js/tmpl/queue.ejs
index 74e7fca0e4..38fd7c80aa 100644
--- a/deps/rabbitmq_management/priv/www/js/tmpl/queue.ejs
+++ b/deps/rabbitmq_management/priv/www/js/tmpl/queue.ejs
@@ -18,7 +18,7 @@
| Policy |
- <%= fmt_policy(queue.policy) %> |
+ <%= fmt_string(queue.policy, '') %> |
| Exclusive owner |
diff --git a/deps/rabbitmq_management/priv/www/js/tmpl/queues.ejs b/deps/rabbitmq_management/priv/www/js/tmpl/queues.ejs
index a91ec89311..41d5a4ad59 100644
--- a/deps/rabbitmq_management/priv/www/js/tmpl/queues.ejs
+++ b/deps/rabbitmq_management/priv/www/js/tmpl/queues.ejs
@@ -64,7 +64,7 @@
<% } %>
<%= fmt_parameters_short(queue) %> |
- <%= fmt_policy(queue.policy) %> |
+ <%= fmt_string(queue.policy, '') %> |
<%= fmt_idle(queue) %> |
<%= fmt_string(queue.messages_ready) %> |
<%= fmt_string(queue.messages_unacknowledged) %> |
diff --git a/deps/rabbitmq_management/src/rabbit_mgmt_format.erl b/deps/rabbitmq_management/src/rabbit_mgmt_format.erl
index a49e02bb61..36e5bf1dd3 100644
--- a/deps/rabbitmq_management/src/rabbit_mgmt_format.erl
+++ b/deps/rabbitmq_management/src/rabbit_mgmt_format.erl
@@ -152,6 +152,9 @@ resource(_, unknown) ->
resource(NameAs, #resource{name = Name, virtual_host = VHost}) ->
[{NameAs, Name}, {vhost, VHost}].
+policy(none) -> [];
+policy(Policy) -> [{policy, Policy}].
+
internal_user(User) ->
[{name, User#internal_user.username},
{password_hash, base64:encode(User#internal_user.password_hash)},
@@ -255,7 +258,8 @@ url(Fmt, Vals) ->
exchange(X) ->
format(X, [{fun resource/1, [name]},
- {fun amqp_table/1, [arguments]}]).
+ {fun amqp_table/1, [arguments]},
+ {fun policy/1, [policy]}]).
%% We get queues using rabbit_amqqueue:list/1 rather than :info_all/1 since
%% the latter wakes up each queue. Therefore we have a record rather than a
@@ -275,8 +279,9 @@ queue(#amqqueue{name = Name,
{arguments, Arguments},
{pid, Pid},
{policy, rabbit_policy:name(Q)}],
- [{fun resource/1, [name]},
- {fun amqp_table/1, [arguments]}]).
+ [{fun resource/1, [name]},
+ {fun amqp_table/1, [arguments]},
+ {fun policy/1, [policy]}]).
%% We get bindings using rabbit_binding:list_*/1 rather than :info_all/1 since
%% there are no per-exchange / queue / etc variants for the latter. Therefore