mirror of
https://github.com/YunoHost/yunohost-admin.git
synced 2024-09-03 20:06:15 +02:00
[enh] Switch to modal confirmation for user, domain and app section.
This commit is contained in:
parent
d1433ab4b6
commit
7f42fc03e9
1 changed files with 204 additions and 110 deletions
140
js/app.js
140
js/app.js
|
@ -769,14 +769,19 @@ app = Sammy('#main', function (sam) {
|
||||||
|
|
||||||
// Remove existing user
|
// Remove existing user
|
||||||
sam.get('#/users/:user/delete', function (c) {
|
sam.get('#/users/:user/delete', function (c) {
|
||||||
if (confirm(y18n.t('confirm_delete', [c.params['user']]))) {
|
c.confirm(
|
||||||
|
y18n.t('users'),
|
||||||
|
y18n.t('confirm_delete', [c.params['user']]),
|
||||||
|
function(){
|
||||||
c.api('/users/'+ c.params['user'], function(data) { // http://api.yunohost.org/#!/user/user_delete_delete_4
|
c.api('/users/'+ c.params['user'], function(data) { // http://api.yunohost.org/#!/user/user_delete_delete_4
|
||||||
c.redirect('#/users');
|
c.redirect('#/users');
|
||||||
}, 'DELETE');
|
}, 'DELETE');
|
||||||
} else {
|
},
|
||||||
|
function(){
|
||||||
store.clear('slide');
|
store.clear('slide');
|
||||||
c.redirect('#/users/'+ c.params['user']);
|
c.redirect('#/users/'+ c.params['user']);
|
||||||
}
|
}
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
@ -841,15 +846,20 @@ app = Sammy('#main', function (sam) {
|
||||||
|
|
||||||
// Remove existing domain
|
// Remove existing domain
|
||||||
sam.get('#/domains/:domain/delete', function (c) {
|
sam.get('#/domains/:domain/delete', function (c) {
|
||||||
if (confirm(y18n.t('confirm_delete', [c.params['domain']]))) {
|
c.confirm(
|
||||||
|
y18n.t('domains'),
|
||||||
|
y18n.t('confirm_delete', [c.params['domain']]),
|
||||||
|
function(){
|
||||||
c.api('/domains/'+ c.params['domain'], function(data) { // http://api.yunohost.org/#!/domain/domain_remove_delete_3
|
c.api('/domains/'+ c.params['domain'], function(data) { // http://api.yunohost.org/#!/domain/domain_remove_delete_3
|
||||||
store.clear('slide');
|
store.clear('slide');
|
||||||
c.redirect('#/domains');
|
c.redirect('#/domains');
|
||||||
}, 'DELETE');
|
}, 'DELETE');
|
||||||
} else {
|
},
|
||||||
|
function(){
|
||||||
store.clear('slide');
|
store.clear('slide');
|
||||||
c.redirect('#/domains');
|
c.redirect('#/domains');
|
||||||
}
|
}
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Set default domain
|
// Set default domain
|
||||||
|
@ -858,8 +868,11 @@ app = Sammy('#main', function (sam) {
|
||||||
c.flash('fail', y18n.t('error_select_domain'));
|
c.flash('fail', y18n.t('error_select_domain'));
|
||||||
store.clear('slide');
|
store.clear('slide');
|
||||||
c.redirect('#/domains');
|
c.redirect('#/domains');
|
||||||
} else if (confirm(y18n.t('confirm_change_maindomain'))) {
|
} else {
|
||||||
|
c.confirm(
|
||||||
|
y18n.t('domains'),
|
||||||
|
y18n.t('confirm_change_maindomain'),
|
||||||
|
function(){
|
||||||
params = {'new_domain': c.params['domain']}
|
params = {'new_domain': c.params['domain']}
|
||||||
c.api('/domains/main', function(data) { // http://api.yunohost.org/#!/tools/tools_maindomain_put_1
|
c.api('/domains/main', function(data) { // http://api.yunohost.org/#!/tools/tools_maindomain_put_1
|
||||||
store.clear('slide');
|
store.clear('slide');
|
||||||
|
@ -871,11 +884,13 @@ app = Sammy('#main', function (sam) {
|
||||||
store.clear('slide');
|
store.clear('slide');
|
||||||
c.redirect('#/domains')
|
c.redirect('#/domains')
|
||||||
}, 15000);
|
}, 15000);
|
||||||
|
},
|
||||||
} else {
|
function(){
|
||||||
store.clear('slide');
|
store.clear('slide');
|
||||||
c.redirect('#/domains');
|
c.redirect('#/domains');
|
||||||
}
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
@ -1089,7 +1104,10 @@ app = Sammy('#main', function (sam) {
|
||||||
|
|
||||||
// Install custom app from github
|
// Install custom app from github
|
||||||
sam.post('#/apps/install/custom', function(c) {
|
sam.post('#/apps/install/custom', function(c) {
|
||||||
if (confirm(y18n.t('confirm_install_custom_app'))) {
|
c.confirm(
|
||||||
|
y18n.t('applications'),
|
||||||
|
y18n.t('confirm_install_custom_app'),
|
||||||
|
function(){
|
||||||
params = { 'label': c.params['label'], 'app': c.params['url'] }
|
params = { 'label': c.params['label'], 'app': c.params['url'] }
|
||||||
delete c.params['label'];
|
delete c.params['label'];
|
||||||
delete c.params['url'];
|
delete c.params['url'];
|
||||||
|
@ -1119,24 +1137,30 @@ app = Sammy('#main', function (sam) {
|
||||||
store.clear('slide');
|
store.clear('slide');
|
||||||
c.redirect('#/apps/install');
|
c.redirect('#/apps/install');
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
else {
|
function(){
|
||||||
c.flash('warning', y18n.t('app_install_cancel'));
|
c.flash('warning', y18n.t('app_install_cancel'));
|
||||||
store.clear('slide');
|
store.clear('slide');
|
||||||
c.redirect('#/apps/install');
|
c.redirect('#/apps/install');
|
||||||
}
|
}
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Remove installed app
|
// Remove installed app
|
||||||
sam.get('#/apps/:app/uninstall', function (c) {
|
sam.get('#/apps/:app/uninstall', function (c) {
|
||||||
if (confirm(y18n.t('confirm_uninstall', [c.params['app']]))) {
|
c.confirm(
|
||||||
|
y18n.t('applications'),
|
||||||
|
y18n.t('confirm_uninstall', [c.params['app']]),
|
||||||
|
function() {
|
||||||
c.api('/apps/'+ c.params['app'], function() { // http://api.yunohost.org/#!/app/app_remove_delete_4
|
c.api('/apps/'+ c.params['app'], function() { // http://api.yunohost.org/#!/app/app_remove_delete_4
|
||||||
c.redirect('#/apps');
|
c.redirect('#/apps');
|
||||||
}, 'DELETE');
|
}, 'DELETE');
|
||||||
} else {
|
},
|
||||||
|
function() {
|
||||||
store.clear('slide');
|
store.clear('slide');
|
||||||
c.redirect('#/apps/'+ c.params['app']);
|
c.redirect('#/apps/'+ c.params['app']);
|
||||||
}
|
}
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Manage app access
|
// Manage app access
|
||||||
|
@ -1186,44 +1210,59 @@ app = Sammy('#main', function (sam) {
|
||||||
|
|
||||||
// Remove all access
|
// Remove all access
|
||||||
sam.get('#/apps/:app/access/remove', function (c) {
|
sam.get('#/apps/:app/access/remove', function (c) {
|
||||||
if (confirm(y18n.t('confirm_access_remove_all', [c.params['app']]))) {
|
c.confirm(
|
||||||
|
y18n.t('applications'),
|
||||||
|
y18n.t('confirm_access_remove_all', [c.params['app']]),
|
||||||
|
function() {
|
||||||
params = {'apps': c.params['app'], 'users':[]}
|
params = {'apps': c.params['app'], 'users':[]}
|
||||||
c.api('/access?'+c.serialize(params), function(data) { // http://api.yunohost.org/#!/app/app_removeaccess_delete_12
|
c.api('/access?'+c.serialize(params), function(data) { // http://api.yunohost.org/#!/app/app_removeaccess_delete_12
|
||||||
store.clear('slide');
|
store.clear('slide');
|
||||||
c.redirect('#/apps/'+ c.params['app']+ '/access');
|
c.redirect('#/apps/'+ c.params['app']+ '/access');
|
||||||
}, 'DELETE', params);
|
}, 'DELETE', params);
|
||||||
} else {
|
},
|
||||||
|
function() {
|
||||||
store.clear('slide');
|
store.clear('slide');
|
||||||
c.redirect('#/apps/'+ c.params['app']+ '/access');
|
c.redirect('#/apps/'+ c.params['app']+ '/access');
|
||||||
}
|
}
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Remove access to a specific user
|
// Remove access to a specific user
|
||||||
sam.get('#/apps/:app/access/remove/:user', function (c) {
|
sam.get('#/apps/:app/access/remove/:user', function (c) {
|
||||||
if (confirm(y18n.t('confirm_access_remove_user', [c.params['app'], c.params['user']]))) {
|
c.confirm(
|
||||||
|
y18n.t('applications'),
|
||||||
|
y18n.t('confirm_access_remove_user', [c.params['app'], c.params['user']]),
|
||||||
|
function() {
|
||||||
params = {'apps': c.params['app'], 'users': c.params['user']}
|
params = {'apps': c.params['app'], 'users': c.params['user']}
|
||||||
c.api('/access?'+c.serialize(params), function(data) { // http://api.yunohost.org/#!/app/app_removeaccess_delete_12
|
c.api('/access?'+c.serialize(params), function(data) { // http://api.yunohost.org/#!/app/app_removeaccess_delete_12
|
||||||
store.clear('slide');
|
store.clear('slide');
|
||||||
c.redirect('#/apps/'+ c.params['app']+ '/access');
|
c.redirect('#/apps/'+ c.params['app']+ '/access');
|
||||||
}, 'DELETE', params); // passing 'params' here is useless because jQuery doesn't handle ajax datas for DELETE requests. Passing parameters through uri.
|
}, 'DELETE', params); // passing 'params' here is useless because jQuery doesn't handle ajax datas for DELETE requests. Passing parameters through uri.
|
||||||
} else {
|
},
|
||||||
|
function() {
|
||||||
store.clear('slide');
|
store.clear('slide');
|
||||||
c.redirect('#/apps/'+ c.params['app']+ '/access');
|
c.redirect('#/apps/'+ c.params['app']+ '/access');
|
||||||
}
|
}
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Grant all access
|
// Grant all access
|
||||||
sam.get('#/apps/:app/access/add', function (c) {
|
sam.get('#/apps/:app/access/add', function (c) {
|
||||||
if (confirm(y18n.t('confirm_access_add', [c.params['app']]))) {
|
c.confirm(
|
||||||
|
y18n.t('applications'),
|
||||||
|
y18n.t('confirm_access_add', [c.params['app']]),
|
||||||
|
function() {
|
||||||
params = {'apps': c.params['app'], 'users': null}
|
params = {'apps': c.params['app'], 'users': null}
|
||||||
c.api('/access', function() { // http://api.yunohost.org/#!/app/app_addaccess_put_13
|
c.api('/access', function() { // http://api.yunohost.org/#!/app/app_addaccess_put_13
|
||||||
store.clear('slide');
|
store.clear('slide');
|
||||||
c.redirect('#/apps/'+ c.params['app'] +'/access');
|
c.redirect('#/apps/'+ c.params['app'] +'/access');
|
||||||
}, 'PUT', params);
|
}, 'PUT', params);
|
||||||
} else {
|
},
|
||||||
|
function() {
|
||||||
store.clear('slide');
|
store.clear('slide');
|
||||||
c.redirect('#/apps/'+ c.params['app']+ '/access');
|
c.redirect('#/apps/'+ c.params['app']+ '/access');
|
||||||
}
|
}
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Grant access for a specific user
|
// Grant access for a specific user
|
||||||
|
@ -1237,29 +1276,39 @@ app = Sammy('#main', function (sam) {
|
||||||
|
|
||||||
// Clear access (reset)
|
// Clear access (reset)
|
||||||
sam.get('#/apps/:app/access/clear', function (c) {
|
sam.get('#/apps/:app/access/clear', function (c) {
|
||||||
if (confirm(y18n.t('confirm_access_clear', [c.params['app']]))) {
|
c.confirm(
|
||||||
|
y18n.t('applications'),
|
||||||
|
y18n.t('confirm_access_clear', [c.params['app']]),
|
||||||
|
function() {
|
||||||
params = {'apps': c.params['app']}
|
params = {'apps': c.params['app']}
|
||||||
c.api('/access', function() { //
|
c.api('/access', function() { //
|
||||||
store.clear('slide');
|
store.clear('slide');
|
||||||
c.redirect('#/apps/'+ c.params['app'] +'/access');
|
c.redirect('#/apps/'+ c.params['app'] +'/access');
|
||||||
}, 'POST', params);
|
}, 'POST', params);
|
||||||
} else {
|
},
|
||||||
|
function() {
|
||||||
store.clear('slide');
|
store.clear('slide');
|
||||||
c.redirect('#/apps/'+ c.params['app']+ '/access');
|
c.redirect('#/apps/'+ c.params['app']+ '/access');
|
||||||
}
|
}
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
// Make app default
|
// Make app default
|
||||||
sam.get('#/apps/:app/default', function (c) {
|
sam.get('#/apps/:app/default', function (c) {
|
||||||
if (confirm(y18n.t('confirm_app_default'))) {
|
c.confirm(
|
||||||
|
y18n.t('applications'),
|
||||||
|
y18n.t('confirm_app_default'),
|
||||||
|
function() {
|
||||||
c.api('/apps/'+ c.params['app'] +'/default', function() { //
|
c.api('/apps/'+ c.params['app'] +'/default', function() { //
|
||||||
store.clear('slide');
|
store.clear('slide');
|
||||||
c.redirect('#/apps/'+ c.params['app']);
|
c.redirect('#/apps/'+ c.params['app']);
|
||||||
}, 'PUT');
|
}, 'PUT');
|
||||||
} else {
|
},
|
||||||
|
function() {
|
||||||
store.clear('slide');
|
store.clear('slide');
|
||||||
c.redirect('#/apps/'+ c.params['app']);
|
c.redirect('#/apps/'+ c.params['app']);
|
||||||
}
|
}
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
@ -1310,6 +1359,50 @@ app = Sammy('#main', function (sam) {
|
||||||
|
|
||||||
// Enable/Disable & Start/Stop service
|
// Enable/Disable & Start/Stop service
|
||||||
sam.get('#/services/:service/:action', function (c) {
|
sam.get('#/services/:service/:action', function (c) {
|
||||||
|
c.confirm(
|
||||||
|
"Service",
|
||||||
|
y18n.t('confirm_service_action', [y18n.t(c.params['action']), c.params['service']]),
|
||||||
|
function(){
|
||||||
|
var method = null, endurl = c.params['service'];
|
||||||
|
|
||||||
|
switch (c.params['action']) {
|
||||||
|
case 'start':
|
||||||
|
method = 'PUT';
|
||||||
|
break;
|
||||||
|
case 'stop':
|
||||||
|
method = 'DELETE';
|
||||||
|
break;
|
||||||
|
case 'enable':
|
||||||
|
method = 'PUT';
|
||||||
|
endurl += '/enable';
|
||||||
|
break;
|
||||||
|
case 'disable':
|
||||||
|
method = 'DELETE';
|
||||||
|
endurl += '/enable';
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
c.flash('fail', y18n.t('unknown_action', [c.params['action']]));
|
||||||
|
store.clear('slide');
|
||||||
|
c.redirect('#/services/'+ c.params['service']);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (method && endurl) {
|
||||||
|
c.api('/services/'+ endurl, function(data) {
|
||||||
|
store.clear('slide');
|
||||||
|
c.redirect('#/services/'+ c.params['service']);
|
||||||
|
}, method);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
store.clear('slide');
|
||||||
|
c.redirect('#/services/'+ c.params['service']);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
function(){
|
||||||
|
store.clear('slide');
|
||||||
|
c.redirect('#/services/'+ c.params['service']);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
/*
|
||||||
if (confirm(y18n.t('confirm_service_action', [y18n.t(c.params['action']), c.params['service']]))) {
|
if (confirm(y18n.t('confirm_service_action', [y18n.t(c.params['action']), c.params['service']]))) {
|
||||||
var method = null, endurl = c.params['service'];
|
var method = null, endurl = c.params['service'];
|
||||||
|
|
||||||
|
@ -1344,6 +1437,7 @@ app = Sammy('#main', function (sam) {
|
||||||
store.clear('slide');
|
store.clear('slide');
|
||||||
c.redirect('#/services/'+ c.params['service']);
|
c.redirect('#/services/'+ c.params['service']);
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue