diff --git a/proxies/client/proxies.html b/proxies/client/proxies.html index 6ec9063376..a9f60ecf4e 100644 --- a/proxies/client/proxies.html +++ b/proxies/client/proxies.html @@ -6,11 +6,15 @@

- + {{ # unless hideAddProxyButton }} + + {{ / unless }} {{ _ "proxies_pageHeader" }}


-
+
{{# if Template.subscriptionsReady }} {{ # if proxies }} {{ # each proxy in proxies }} diff --git a/proxies/client/proxies.js b/proxies/client/proxies.js index 41799737e2..e4b8e52322 100644 --- a/proxies/client/proxies.js +++ b/proxies/client/proxies.js @@ -24,4 +24,10 @@ Template.proxies.helpers({ return proxies; }, + hideAddProxyButton () { + const proxiesCount = Proxies.find().count(); + + // Set button disabled if at least one proxy is already added + return proxiesCount >= 1; + }, }); diff --git a/proxies/collection/permissions.js b/proxies/collection/permissions.js index 84276d0e59..f73fc5d376 100644 --- a/proxies/collection/permissions.js +++ b/proxies/collection/permissions.js @@ -1,7 +1,13 @@ import { Proxies } from './'; +import { Roles } from 'meteor/alanning:roles'; Proxies.allow({ insert (userId, proxy) { + // Check if proxy is already exist + if (Proxies.find().count() >= 1) { + return false; + } + // Check if user has admin role return Roles.userIsInRole(userId, ['admin']); },