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 @@
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 @@
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 @@
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();