diff --git a/src/frontend/js/app/nginx/dead/main.ejs b/src/frontend/js/app/nginx/dead/main.ejs index efa270d..53c0db7 100644 --- a/src/frontend/js/app/nginx/dead/main.ejs +++ b/src/frontend/js/app/nginx/dead/main.ejs @@ -3,7 +3,9 @@

404 Hosts

+ <% if (showAddButton) { %> Add 404 Host + <% } %>
diff --git a/src/frontend/js/app/nginx/dead/main.js b/src/frontend/js/app/nginx/dead/main.js index e41a095..f2a8202 100644 --- a/src/frontend/js/app/nginx/dead/main.js +++ b/src/frontend/js/app/nginx/dead/main.js @@ -3,6 +3,7 @@ const Mn = require('backbone.marionette'); const DeadHostModel = require('../../../models/dead-host'); const Api = require('../../api'); +const Cache = require('../../cache'); const Controller = require('../../controller'); const ListView = require('./list/main'); const ErrorView = require('../../error/main'); @@ -30,6 +31,10 @@ module.exports = Mn.View.extend({ } }, + templateContext: { + showAddButton: Cache.User.canManage('dead_hosts') + }, + onRender: function () { let view = this; @@ -41,10 +46,12 @@ module.exports = Mn.View.extend({ collection: new DeadHostModel.Collection(response) })); } else { + let manage = Cache.User.canManage('dead_hosts'); + view.showChildView('list_region', new EmptyView({ title: 'There are no 404 Hosts', - subtitle: 'Why don\'t you create one?', - link: 'Add 404 Host', + subtitle: manage ? 'Why don\'t you create one?' : 'And you don\'t have permission to create one.', + link: manage ? 'Add 404 Host' : null, btn_color: 'danger', action: function () { Controller.showNginxDeadForm(); diff --git a/src/frontend/js/app/nginx/proxy/main.ejs b/src/frontend/js/app/nginx/proxy/main.ejs index 5968e3d..8b2ed9e 100644 --- a/src/frontend/js/app/nginx/proxy/main.ejs +++ b/src/frontend/js/app/nginx/proxy/main.ejs @@ -3,7 +3,9 @@

Proxy Hosts

+ <% if (showAddButton) { %> Add Proxy Host + <% } %>
diff --git a/src/frontend/js/app/nginx/proxy/main.js b/src/frontend/js/app/nginx/proxy/main.js index 16aa52f..28a48b1 100644 --- a/src/frontend/js/app/nginx/proxy/main.js +++ b/src/frontend/js/app/nginx/proxy/main.js @@ -3,6 +3,7 @@ const Mn = require('backbone.marionette'); const ProxyHostModel = require('../../../models/proxy-host'); const Api = require('../../api'); +const Cache = require('../../cache'); const Controller = require('../../controller'); const ListView = require('./list/main'); const ErrorView = require('../../error/main'); @@ -30,6 +31,10 @@ module.exports = Mn.View.extend({ } }, + templateContext: { + showAddButton: Cache.User.canManage('proxy_hosts') + }, + onRender: function () { let view = this; @@ -41,12 +46,15 @@ module.exports = Mn.View.extend({ collection: new ProxyHostModel.Collection(response) })); } else { + let manage = Cache.User.canManage('proxy_hosts'); + view.showChildView('list_region', new EmptyView({ - title: 'There are no Proxy Hosts', - subtitle: 'Why don\'t you create one?', - link: 'Add Proxy Host', - btn_color: 'success', - action: function () { + title: 'There are no Proxy Hosts', + subtitle: manage ? 'Why don\'t you create one?' : 'And you don\'t have permission to create one.', + link: manage ? 'Add Proxy Host' : null, + btn_color: 'success', + permission: 'proxy_hosts', + action: function () { Controller.showNginxProxyForm(); } })); diff --git a/src/frontend/js/app/nginx/redirection/main.ejs b/src/frontend/js/app/nginx/redirection/main.ejs index 838f98e..2cfafab 100644 --- a/src/frontend/js/app/nginx/redirection/main.ejs +++ b/src/frontend/js/app/nginx/redirection/main.ejs @@ -3,7 +3,9 @@

Redirection Hosts

+ <% if (showAddButton) { %> Add Redirection Host + <% } %>
diff --git a/src/frontend/js/app/nginx/redirection/main.js b/src/frontend/js/app/nginx/redirection/main.js index c2c60c6..b6e013e 100644 --- a/src/frontend/js/app/nginx/redirection/main.js +++ b/src/frontend/js/app/nginx/redirection/main.js @@ -3,6 +3,7 @@ const Mn = require('backbone.marionette'); const RedirectionHostModel = require('../../../models/redirection-host'); const Api = require('../../api'); +const Cache = require('../../cache'); const Controller = require('../../controller'); const ListView = require('./list/main'); const ErrorView = require('../../error/main'); @@ -30,6 +31,10 @@ module.exports = Mn.View.extend({ } }, + templateContext: { + showAddButton: Cache.User.canManage('redirection_hosts') + }, + onRender: function () { let view = this; @@ -41,10 +46,12 @@ module.exports = Mn.View.extend({ collection: new RedirectionHostModel.Collection(response) })); } else { + let manage = Cache.User.canManage('redirection_hosts'); + view.showChildView('list_region', new EmptyView({ title: 'There are no Redirection Hosts', - subtitle: 'Why don\'t you create one?', - link: 'Add Redirection Host', + subtitle: manage ? 'Why don\'t you create one?' : 'And you don\'t have permission to create one.', + link: manage ? 'Add Redirection Host' : null, btn_color: 'yellow', action: function () { Controller.showNginxRedirectionForm(); diff --git a/src/frontend/js/app/nginx/stream/main.ejs b/src/frontend/js/app/nginx/stream/main.ejs index c367f07..dee68bf 100644 --- a/src/frontend/js/app/nginx/stream/main.ejs +++ b/src/frontend/js/app/nginx/stream/main.ejs @@ -3,7 +3,9 @@

Streams

+ <% if (showAddButton) { %> Add Stream + <% } %>
diff --git a/src/frontend/js/app/nginx/stream/main.js b/src/frontend/js/app/nginx/stream/main.js index 2746274..d3607fe 100644 --- a/src/frontend/js/app/nginx/stream/main.js +++ b/src/frontend/js/app/nginx/stream/main.js @@ -3,6 +3,7 @@ const Mn = require('backbone.marionette'); const StreamModel = require('../../../models/stream'); const Api = require('../../api'); +const Cache = require('../../cache'); const Controller = require('../../controller'); const ListView = require('./list/main'); const ErrorView = require('../../error/main'); @@ -30,6 +31,10 @@ module.exports = Mn.View.extend({ } }, + templateContext: { + showAddButton: Cache.User.canManage('streams') + }, + onRender: function () { let view = this; @@ -41,10 +46,12 @@ module.exports = Mn.View.extend({ collection: new StreamModel.Collection(response) })); } else { + let manage = Cache.User.canManage('streams'); + view.showChildView('list_region', new EmptyView({ title: 'There are no Streams', - subtitle: 'Why don\'t you create one?', - link: 'Add Stream', + subtitle: manage ? 'Why don\'t you create one?' : 'And you don\'t have permission to create one.', + link: manage ? 'Add Stream' : null, btn_color: 'blue', action: function () { Controller.showNginxStreamForm();