diff --git a/src/js/yunohost/controllers/apps.js b/src/js/yunohost/controllers/apps.js
index 717ea785..13c66b4c 100644
--- a/src/js/yunohost/controllers/apps.js
+++ b/src/js/yunohost/controllers/apps.js
@@ -11,7 +11,7 @@
// List installed apps
app.get('#/apps', function (c) {
c.api('/apps?installed', function(data) { // http://api.yunohost.org/#!/app/app_list_get_8
- apps = data['apps'];
+ var apps = data['apps'];
c.arraySortById(apps);
c.view('app/app_list', {apps: apps});
});
@@ -21,7 +21,7 @@
app.get('#/apps/install', function (c) {
c.api('/apps', function(data) { // http://api.yunohost.org/#!/app/app_list_get_8
c.api('/apps?raw', function(dataraw) { // http://api.yunohost.org/#!/app/app_list_get_8
- apps = [];
+ var apps = [];
$.each(data['apps'], function(k, v) {
// Keep only uninstalled apps, or multi-instance apps
if ((!v['installed'] || dataraw[v['id']].manifest.multi_instance) && !v['id'].match(/__[0-9]{1,5}$/)) {
@@ -169,7 +169,7 @@
// Helper function that build app installation form
app.helper('appInstallForm', function(appId, manifest, params) {
- data = {
+ var data = {
id: appId,
manifest: manifest
};
@@ -286,10 +286,11 @@
// Clone a hidden input with empty value
// https://stackoverflow.com/questions/476426/submit-an-html-form-with-empty-checkboxes
- inputClone = {};
- inputClone.name = data.manifest.arguments.install[k].name;
- inputClone.inputType = 'hidden';
- inputClone.default = 0;
+ var inputClone = {
+ name : data.manifest.arguments.install[k].name,
+ inputType : 'hidden',
+ default : 0
+ };
data.manifest.arguments.install.push(inputClone);
}
@@ -319,13 +320,11 @@
// App installation form
app.get('#/apps/install/:app', function (c) {
c.api('/apps?raw', function(data) { // http://api.yunohost.org/#!/app/app_list_get_8
-
c.appInstallForm(
c.params['app'],
data[c.params['app']].manifest,
c.params
);
-
});
});
@@ -333,11 +332,14 @@
app.post('#/apps', function(c) {
// Warn admin if app is going to be installed on domain root.
if (c.params['path'] !== '/' || confirm(y18n.t('confirm_install_domain_root', [c.params['domain']]))) {
- params = { 'label': c.params['label'], 'app': c.params['app'] };
- delete c.params['label'];
- delete c.params['app'];
+ var params = {
+ label: c.params['label'],
+ app: c.params['app']
+ };
// Check for duplicate arg produced by empty checkbox. (See inputClone)
+ delete c.params['label'];
+ delete c.params['app'];
$.each(c.params, function(k, v) {
if (typeof(v) === 'object' && Array.isArray(v)) {
// And return only first value
@@ -346,6 +348,7 @@
});
params['args'] = c.serialize(c.params.toHash());
+
// Do not pass empty args.
if (params['args'] === "") {
delete params['args'];
@@ -365,7 +368,10 @@
// Install custom app from github
app.post('#/apps/install/custom', function(c) {
- params = { 'label': c.params['label'], 'app': c.params['url'] };
+ var params = {
+ label: c.params['label'],
+ app: c.params['url']
+ };
delete c.params['label'];
delete c.params['url'];
@@ -475,7 +481,10 @@
y18n.t('applications'),
y18n.t('confirm_access_remove_all', [c.params['app']]),
function() {
- params = {'apps': c.params['app'], 'users':[]};
+ var params = {
+ apps: c.params['app'],
+ users: []
+ };
c.api('/access?'+c.serialize(params), function(data) { // http://api.yunohost.org/#!/app/app_removeaccess_delete_12
store.clear('slide');
c.redirect('#/apps/'+ c.params['app']+ '/access');
@@ -494,7 +503,10 @@
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']};
+ var 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
store.clear('slide');
c.redirect('#/apps/'+ c.params['app']+ '/access');
@@ -513,7 +525,10 @@
y18n.t('applications'),
y18n.t('confirm_access_add', [c.params['app']]),
function() {
- params = {'apps': c.params['app'], 'users': null};
+ var params = {
+ apps: c.params['app'],
+ users: null
+ };
c.api('/access', function() { // http://api.yunohost.org/#!/app/app_addaccess_put_13
store.clear('slide');
c.redirect('#/apps/'+ c.params['app'] +'/access');
@@ -528,7 +543,10 @@
// Grant access for a specific user
app.post('#/apps/:app/access/add', function (c) {
- params = {'users': c.params['user'], 'apps': c.params['app']};
+ var params = {
+ users: c.params['user'],
+ apps: c.params['app']
+ };
c.api('/access', function() { // http://api.yunohost.org/#!/app/app_addaccess_put_13
store.clear('slide');
c.redirect('#/apps/'+ c.params['app'] +'/access');
@@ -541,7 +559,9 @@
y18n.t('applications'),
y18n.t('confirm_access_clear', [c.params['app']]),
function() {
- params = {'apps': c.params['app']};
+ var params = {
+ apps: c.params['app']
+ };
c.api('/access', function() { //
store.clear('slide');
c.redirect('#/apps/'+ c.params['app'] +'/access');
diff --git a/src/js/yunohost/controllers/backup.js b/src/js/yunohost/controllers/backup.js
index dad40d4d..9511b6fc 100644
--- a/src/js/yunohost/controllers/backup.js
+++ b/src/js/yunohost/controllers/backup.js
@@ -18,14 +18,15 @@
'system_yunohost',
'system_nginx'
];
+
// Storage list
app.get('#/backup', function (c) {
var storages = [];
var item = {
- id: 'local',
- name: y18n.t('local_archives'),
- uri: '/home/yunohost.backup/'
- };
+ id: 'local',
+ name: y18n.t('local_archives'),
+ uri: '/home/yunohost.backup/'
+ };
storages.push(item);
c.view('backup/backup', {'storages':storages});
@@ -44,14 +45,14 @@
// Create a backup
app.get('#/backup/:storage/create', function (c) {
- var data=[];
- data['storage']={
+ var data = [];
+ data['storage'] = {
id:c.params['storage'],
name:y18n.t('local_archives')
};
c.api('/hooks/backup', function(hooks) {
- data['hooks']=c.groupHooks(hooks['hooks']);
- data['apps']={};
+ data['hooks'] = c.groupHooks(hooks['hooks']);
+ data['apps'] = {};
c.api('/apps?with_backup', function(apps_list) {
data['apps'] = apps_list.apps;
c.view('backup/backup_create', data);
@@ -74,13 +75,13 @@
y18n.t('backup'),
y18n.t('confirm_restore', [c.params['archive']]),
$.proxy(function(c){
- var params=c.ungroupHooks(c.params['hooks'],c.params['apps']);
- params['force']='';
+ var params = c.ungroupHooks(c.params['hooks'],c.params['apps']);
+ params['force'] = '';
c.api('/backup/restore/'+c.params['archive'], function(data) {
store.clear('slide');
c.redirect('#/backup/'+ c.params['storage']+'/'+c.params['archive']);
}, 'POST', params);
- },this,c),
+ }, this, c),
function(){
store.clear('slide');
c.redirect('#/backup/'+ c.params['storage']+'/'+c.params['archive']);
@@ -127,14 +128,14 @@
// Get archive info
app.get('#/backup/:storage/:archive', function (c) {
c.api('/backup/archives/'+c.params['archive']+'?with_details', function(data) {
- data['storage']={
- id:c.params['storage'],
- name:y18n.t('local_archives')
+ data.storage = {
+ id: c.params['storage'],
+ name: y18n.t('local_archives')
};
- data['other_storages']=[];
- data['name']=c.params['archive'];
- data['hooks']=c.groupHooks(Object.keys(data['system']));
- data['items']=(data['hooks']!={} || data['apps']!=[]);
+ data.other_storages = [];
+ data.name = c.params['archive'];
+ data.hooks = c.groupHooks(Object.keys(data['system']));
+ data.items = (data['hooks']!={} || data['apps']!=[]);
c.view('backup/backup_info', data);
});
});
@@ -142,16 +143,16 @@
// Archive list
app.get('#/backup/:storage', function (c) {
c.api('/backup/archives?with_info', function(data) {
- data['storage']={
- id:'local',
- name:y18n.t('local_archives')
+ data.storage = {
+ id: 'local',
+ name: y18n.t('local_archives')
};
- data['archives2']=[];
+ data.archives2 = [];
$.each(data['archives'], function(name, info) {
- info['name']=name;
- data['archives2'].unshift(info)
+ info.name = name;
+ data.archives2.unshift(info)
});
- data['archives']=data['archives2'];
+ data.archives = data.archives2;
c.view('backup/backup_list', data);
});
});
diff --git a/src/js/yunohost/controllers/domains.js b/src/js/yunohost/controllers/domains.js
index e201ef00..94096d4b 100644
--- a/src/js/yunohost/controllers/domains.js
+++ b/src/js/yunohost/controllers/domains.js
@@ -12,7 +12,7 @@
app.get('#/domains', function (c) {
c.api('/domains', function(data) { // http://api.yunohost.org/#!/domain/domain_list_get_2
c.api('/domains/main', function(data2) {
- domains = [];
+ var domains = [];
$.each(data.domains, function(k, domain) {
domains.push({
url: domain,
@@ -21,11 +21,14 @@
});
// Do not show main domain form if we have only 1 domain
- main_domain_form = (domains.length > 1) ? true: false;
+ var main_domain_form = (domains.length > 1) ? true: false;
// Sort domains with main domain first
domains.sort(function(a, b){ return -2*(a.main) + 1; });
- c.view('domain/domain_list', {domains: domains, main_domain_form: main_domain_form});
+ c.view('domain/domain_list', {
+ domains: domains,
+ main_domain_form: main_domain_form
+ });
}, 'PUT');
});
});
@@ -40,10 +43,10 @@
c.params.ddomains = ['.nohost.me', '.noho.st'];
})
.always(function() {
- data = {
- ddomains : c.params.ddomains,
- domains : c.params.domains,
- allowDyndnsDomain : true
+ var data = {
+ ddomains: c.params.ddomains,
+ domains: c.params.domains,
+ allowDyndnsDomain: true
};
// Allow only 1 DynDns domain.
@@ -60,17 +63,18 @@
// Add domain (POST)
app.post('#/domains/add', function (c) {
+ var params = {};
+ var endurl = '';
if (c.params['domain'] === '') {
if (c.params['ddomain'] === '') {
c.flash('fail', y18n.t('error_select_domain'));
store.clear('slide');
c.redirect('#/domains/add');
}
- params = {'domain': c.params['ddomain'] + c.params['ddomain-ext']};
+ params.domain = c.params['ddomain'] + c.params['ddomain-ext'];
endurl = 'dyndns';
} else {
- params = { 'domain': c.params['domain'] };
- endurl = '';
+ params.domain = c.params['domain'];
}
c.api('/domains?'+endurl, function(data) { // http://api.yunohost.org/#!/domain/domain_add_post_1
@@ -87,16 +91,15 @@
// for apps installed) should be removed once letsencrypt_ynh
// is not used by many people anymore. Probably around 07/2017
// or end of 2017...
- enable_cert_management_ = true;
+ var enable_cert_management_ = true;
$.each(data['apps'], function(k, v) {
- if (v.id == "letsencrypt")
- {
+ if (v.id == "letsencrypt") {
enable_cert_management_ = false;
}
});
- domain = {
+ var domain = {
name: c.params['domain'],
main: (c.params['domain'] == dataMain.current_main_domain) ? true : false,
url: "https://"+c.params['domain'],
@@ -110,10 +113,10 @@
// Domain DNS
app.get('#/domains/:domain/dns', function (c) {
c.api('/domains/' + c.params['domain'] + '/dns', function(data) {
- domain = {
+ var domain = {
name: c.params['domain'],
dns: data
- }
+ };
c.view('domain/domain_dns', domain);
});
});
@@ -122,16 +125,15 @@
app.get('#/domains/:domain/cert-management', function (c) {
c.api('/domains/cert-status/' + c.params['domain'] + '?full', function(data) {
- s = data["certificates"][c.params['domain']]
-
- status_ = {}
- status_.CA_type = s.CA_type.verbose
- status_.CA_name = s.CA_name
- status_.validity = s.validity
- status_.ACME_eligible = s.ACME_eligible
+ var s = data["certificates"][c.params['domain']];
+ var status_ = {
+ CA_type: s.CA_type.verbose,
+ CA_name: s.CA_name,
+ validity: s.validity,
+ ACME_eligible: s.ACME_eligible
+ };
- switch (s.summary.code)
- {
+ switch (s.summary.code) {
case "critical" :
status_.alert_type = "danger";
status_.alert_icon = "exclamation-circle" ;
@@ -143,14 +145,12 @@
status_.alert_message = y18n.t('certificate_alert_selfsigned');
break;
case "attention" :
- if (status_.CA_type == "lets-encrypt")
- {
+ if (status_.CA_type == "lets-encrypt") {
status_.alert_type = "warning";
status_.alert_icon = "clock-o";
status_.alert_message = y18n.t('certificate_alert_letsencrypt_about_to_expire');
}
- else
- {
+ else {
status_.alert_type = "danger";
status_.alert_icon = "clock-o";
status_.alert_message = y18n.t('certificate_alert_about_to_expire');
@@ -173,14 +173,14 @@
break;
}
- actions_enabled = {};
- actions_enabled.install_letsencrypt = false;
- actions_enabled.manual_renew_letsencrpt = false;
- actions_enabled.regen_selfsigned = false;
- actions_enabled.replace_with_selfsigned = false;
+ var actions_enabled = {
+ install_letsencrypt: false,
+ manual_renew_letsencrpt: false,
+ regen_selfsigned: false,
+ replace_with_selfsigned: false
+ };
- switch (s.CA_type.code)
- {
+ switch (s.CA_type.code) {
case "self-signed" :
actions_enabled.install_letsencrypt = true;
actions_enabled.regen_selfsigned = true;
@@ -305,14 +305,16 @@
y18n.t('domains'),
y18n.t('confirm_change_maindomain'),
function(){
- params = {'new_domain': c.params['domain']};
+ var params = {
+ new_domain: c.params['domain']
+ };
c.api('/domains/main', function(data) { // http://api.yunohost.org/#!/tools/tools_maindomain_put_1
store.clear('slide');
c.redirect('#/domains');
}, 'PUT', params);
// Wait 15s and refresh the page
- refreshDomain = window.setTimeout(function(){
+ var refreshDomain = window.setTimeout(function(){
store.clear('slide');
c.redirect('#/domains');
}, 15000);
diff --git a/src/js/yunohost/controllers/firewall.js b/src/js/yunohost/controllers/firewall.js
index 01b90159..beeff865 100644
--- a/src/js/yunohost/controllers/firewall.js
+++ b/src/js/yunohost/controllers/firewall.js
@@ -12,8 +12,8 @@
app.get('#/tools/firewall', function (c) {
c.api('/firewall?raw', function(data) {
var firewall = {
- ports : {},
- upnp : false
+ ports: {},
+ upnp: false
};
// Reorganize ports
@@ -41,7 +41,9 @@
// confirm_upnp_enable and confirm_upnp_disable
y18n.t('confirm_upnp_' + c.params['action'].toLowerCase()),
function(){
- params = {'action' : c.params['action']};
+ var params = {
+ action : c.params['action']
+ };
c.api('/firewall/upnp', function(data) {
store.clear('slide');
c.redirect('#/tools/firewall');
@@ -57,8 +59,8 @@
// Toggle port status helper (available in every controller)
app.helper('togglePort', function(port, protocol, connection, action) {
var method = null,
- endurl = [],
- c = this
+ endurl = [],
+ c = this
;
if (port != parseInt(port) || port < 0 || port > 65535) {
@@ -110,8 +112,8 @@
// --ipv6-only:
// --no-upnp:
var params = {
- 'port' : port,
- 'protocol' : protocol,
+ port : port,
+ protocol : protocol
};
c.api('/firewall/port?'+endurl, function(data) {
store.clear('slide');
diff --git a/src/js/yunohost/controllers/home.js b/src/js/yunohost/controllers/home.js
index 8f9c78c0..052ea51f 100644
--- a/src/js/yunohost/controllers/home.js
+++ b/src/js/yunohost/controllers/home.js
@@ -35,9 +35,10 @@
// Loop through items in a reverse order (older first)
$($('item', xml).get().reverse()).each(function(k, v) {
- var link=$('link', v).text();
- if (typeof link == 'string' && link !== '' && link.charAt(0) == '/')
- link=forumUrl+link;
+ var link = $('link', v).text();
+ if (typeof link == 'string' && link !== '' && link.charAt(0) == '/') {
+ link = forumUrl+link;
+ }
// var description=$('description', v).text();
// description=description.replace('href="/','href="'+forumUrl+'/');
@@ -138,8 +139,8 @@
// Store url from params, it could have change form 'run' state
store.set('url', c.params['domain'] +'/yunohost/api');
- params = {
- 'password': c.params['password']
+ var params = {
+ password: c.params['password']
};
c.api('/login', function(data) {
store.set('connected', true);
diff --git a/src/js/yunohost/controllers/monitor.js b/src/js/yunohost/controllers/monitor.js
index 3dbbd72d..a7e8c664 100644
--- a/src/js/yunohost/controllers/monitor.js
+++ b/src/js/yunohost/controllers/monitor.js
@@ -10,7 +10,7 @@
// Server monitoring
app.get('#/tools/monitor', function (c) {
- monitorData = {};
+ var monitorData = {};
// Why this method ?
c.api('/services/glances', function(data) { // ?
diff --git a/src/js/yunohost/controllers/postinstall.js b/src/js/yunohost/controllers/postinstall.js
index e775b778..8f9834be 100644
--- a/src/js/yunohost/controllers/postinstall.js
+++ b/src/js/yunohost/controllers/postinstall.js
@@ -25,10 +25,10 @@
$('#masthead').hide();
$.get('https://dyndns.yunohost.org/domains', function() {})
.done(function(data){
- c.params.ddomains = data.map(function(dom){return '.'+dom;});
+ c.params['ddomains'] = data.map(function(dom){return '.'+dom;});
})
.fail(function() {
- c.params.ddomains = ['.nohost.me', '.noho.st'];
+ c.params['ddomains'] = ['.nohost.me', '.noho.st'];
})
.always(function() {
c.view('postinstall/postinstall_2', c.params, function() {
@@ -77,14 +77,16 @@
store.clear('slide');
c.redirect('#/postinstall/domain');
} else {
- params = { 'domain': c.params['domain'].toLowerCase() };
+ var params = {
+ domain: c.params['domain'].toLowerCase()
+ };
}
c.confirm(
y18n.t('postinstall'),
y18n.t('confirm_postinstall', [c.params['domain']]),
function(){
- params['password'] = c.params['password'];
+ params.password = c.params['password'];
store.set('url', window.location.hostname +'/yunohost/api');
store.set('user', 'admin');
diff --git a/src/js/yunohost/controllers/services.js b/src/js/yunohost/controllers/services.js
index 2a03c744..49a59dd4 100644
--- a/src/js/yunohost/controllers/services.js
+++ b/src/js/yunohost/controllers/services.js
@@ -11,7 +11,9 @@
// All services status
app.get('#/services', function (c) {
c.api('/services', function(data) { // ?
- data2 = { 'services': [] };
+ var data2 = {
+ services: []
+ };
$.each(data, function(k, v) {
v.name = k;
// Handlebars want booleans
@@ -29,7 +31,9 @@
// Status & actions for a service
app.get('#/services/:service', function (c) {
c.api('/services/'+ c.params['service'], function(data) { // ?
- data2 = { 'service': data };
+ var data2 = {
+ service: data
+ };
data2.service.name = c.params['service'];
// Handlebars want booleans
data2.service.is_loaded = (data.loaded=='enabled') ? true : false;
@@ -44,7 +48,9 @@
// Service log
app.get('#/services/:service/log', function (c) {
- params = { 'number': 50 };
+ var params = {
+ number: 50
+ };
c.api('/services/'+ c.params['service'] +'/log', function(data) { // ?
data2 = { 'logs': [], 'name': c.params['service'] };
$.each(data, function(k, v) {
@@ -62,7 +68,8 @@
// confirm_service_start, confirm_service_stop, confirm_service_enable and confirm_service_disable
y18n.t('confirm_service_' + c.params['action'].toLowerCase(), [c.params['service']]),
function(){
- var method = null, endurl = c.params['service'];
+ var method = null,
+ endurl = c.params['service'];
switch (c.params['action']) {
case 'start':
diff --git a/src/js/yunohost/controllers/tools.js b/src/js/yunohost/controllers/tools.js
index 81d6f6d4..ae606a38 100644
--- a/src/js/yunohost/controllers/tools.js
+++ b/src/js/yunohost/controllers/tools.js
@@ -20,7 +20,7 @@
// Update administration password (PUT)
app.put('#/tools/adminpw', function (c) {
- params = {};
+ var params = {};
$.each(c.params.toHash(), function(key, value) {
if (value !== '') { params[key] = value; }
});
@@ -49,7 +49,7 @@
// System update & upgrade
app.get('#/update', function (c) {
c.api('/update', function(data) {
- packagesLength = data.packages.length;
+ var packagesLength = data.packages.length;
for(var i = 0; i < packagesLength; i++) {
data.packages[i].delayed = false;
data.packages[i].changelog = data.packages[i].changelog.replace(/\n/g, '
');
@@ -77,7 +77,7 @@
// confirm_update_apps and confirm_update_packages
y18n.t('confirm_update_' + c.params['type'].toLowerCase()),
function(){
- endurl = '';
+ var endurl = '';
if (c.params['type'] == 'packages') {endurl = 'ignore_apps';}
else if (c.params['type'] == 'apps') {endurl = 'ignore_packages';}
@@ -103,7 +103,7 @@
// Security feed
app.get('#/tools/security-feed', function (c) {
- data = {
+ var data = {
items: []
};
@@ -125,11 +125,12 @@
.done(function(xml){
// Loop through items
$('item', xml).each(function(k, v) {
- var link=$('link', v)[0].innerHTML;
- if (typeof link == 'string' && link !== '' && link.charAt(0) == '/')
- link=forumUrl+link;
- var description=$('description', v)[0].textContent;
- description=description.replace('href="/','href="'+forumUrl+'/');
+ var link = $('link', v)[0].innerHTML;
+ if (typeof link == 'string' && link !== '' && link.charAt(0) == '/') {
+ link = forumUrl+link;
+ }
+ var description = $('description', v)[0].textContent;
+ description = description.replace('href="/','href="'+forumUrl+'/');
var item = {
guid: $('guid', v)[0].innerHTML,
@@ -159,9 +160,9 @@
// Diagnosis
app.get('#/tools/diagnosis(/:private)?', function (c) {
// See http://sammyjs.org/docs/routes for splat documentation
- private = (c.params.splat[0] == 'private');
+ var private = (c.params.splat[0] == 'private');
- endurl = (private) ? '?private' : '';
+ var endurl = (private) ? '?private' : '';
c.api('/diagnosis'+endurl, function(diagnosis) {
c.view('tools/tools_diagnosis', {
'diagnosis' : JSON.stringify(diagnosis, undefined, 4),
diff --git a/src/js/yunohost/controllers/users.js b/src/js/yunohost/controllers/users.js
index 8b029eba..ebfa61fe 100644
--- a/src/js/yunohost/controllers/users.js
+++ b/src/js/yunohost/controllers/users.js
@@ -79,7 +79,7 @@
data.password_min_length = PASSWORD_MIN_LENGTH;
// User email use a fake splitted field
- email = data.mail.split('@');
+ var email = data.mail.split('@');
data.email = {
username : email[0],
domain : email[1]
@@ -156,7 +156,7 @@
c.params['mailalias'] = c.params['mailforward'] = '';
// Remove empty inputs
- params = {};
+ var params = {};
$.each(c.params.toHash(), function(key, value) {
if (value.length > 0 && key !== 'user') { params[key] = value; }
});
diff --git a/src/js/yunohost/helpers.js b/src/js/yunohost/helpers.js
index 1c9e2a6a..bf41c86f 100644
--- a/src/js/yunohost/helpers.js
+++ b/src/js/yunohost/helpers.js
@@ -80,7 +80,7 @@
}, 1500);
}
- loaded = false;
+ app.loaded = false;
if ($('div.loader').length === 0) {
$('#main').append('