mirror of
https://github.com/YunoHost/yunohost-admin.git
synced 2024-09-03 20:06:15 +02:00
Use select list for domain and admin in app_install page.
This commit is contained in:
parent
2d7ae6eac8
commit
7d1b4a9c72
3 changed files with 64 additions and 3 deletions
|
@ -104,4 +104,10 @@ th h4 {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
th h4 {font-size: 16px;}
|
th h4 {font-size: 16px;}
|
||||||
th h4 small {font-size: 12px;}
|
th h4 small {font-size: 12px;}
|
||||||
|
|
||||||
|
|
||||||
|
select option[default] {
|
||||||
|
color: #999;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
48
js/app.js
48
js/app.js
|
@ -221,8 +221,22 @@ app = Sammy('#main', function (sam) {
|
||||||
* Filters
|
* Filters
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
sam.before({except: {path: ['#/login', '#/postinstall']}}, function (req) {
|
sam.before(['#/apps/install/:app'], function (req){
|
||||||
|
// Preload domains list.
|
||||||
|
req.params.domains = [];
|
||||||
|
req.api('/domains', function(data) {
|
||||||
|
req.params.domains = data.Domains;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
sam.before(['#/apps/install/:app'], function (req){
|
||||||
|
// Preload users lists.
|
||||||
|
req.params.users = [];
|
||||||
|
req.api('/users', function(data) {
|
||||||
|
req.params.users = data.Users;
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
sam.before({except: {path: ['#/login', '#/postinstall']}}, function (req) {
|
||||||
// Store path for further redirections
|
// Store path for further redirections
|
||||||
store.set('path-1', store.get('path'));
|
store.set('path-1', store.get('path'));
|
||||||
store.set('path', req.path);
|
store.set('path', req.path);
|
||||||
|
@ -505,7 +519,37 @@ app = Sammy('#main', function (sam) {
|
||||||
|
|
||||||
sam.get('#/apps/install/:app', function (c) {
|
sam.get('#/apps/install/:app', function (c) {
|
||||||
c.api('/apps?raw=true', function(data) { // http://api.yunohost.org/#!/app/app_list_get_8
|
c.api('/apps?raw=true', function(data) { // http://api.yunohost.org/#!/app/app_list_get_8
|
||||||
c.view('app_install', data[c.params['app']]);
|
appData = data[c.params['app']];
|
||||||
|
|
||||||
|
$.each(appData.manifest.arguments.install, function(k, v) {
|
||||||
|
appData.manifest.arguments.install[k].allowedValues = [];
|
||||||
|
|
||||||
|
// Special case for domain input.
|
||||||
|
// Display a list of available domains
|
||||||
|
if (v.name == 'domain') {
|
||||||
|
$.each(c.params.domains, function(key, domain){
|
||||||
|
appData.manifest.arguments.install[k].allowedValues.push({
|
||||||
|
value: domain,
|
||||||
|
label: domain,
|
||||||
|
});
|
||||||
|
})
|
||||||
|
appData.manifest.arguments.install[k].help = "<a href='#/domains'>Manage domains</a>";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Special case for admin input.
|
||||||
|
// Display a list of available users
|
||||||
|
if (v.name == 'admin') {
|
||||||
|
$.each(c.params.users, function(key, user){
|
||||||
|
appData.manifest.arguments.install[k].allowedValues.push({
|
||||||
|
value: user.Username,
|
||||||
|
label: user.Fullname+' ('+user.Mail+')'
|
||||||
|
});
|
||||||
|
})
|
||||||
|
appData.manifest.arguments.install[k].help = "<a href='#/users'>Manage users</a>";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
c.view('app_install', appData);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,18 @@
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="{{name}}" class="col-sm-12">{{ask.en}}</label>
|
<label for="{{name}}" class="col-sm-12">{{ask.en}}</label>
|
||||||
<div class="col-sm-12">
|
<div class="col-sm-12">
|
||||||
|
{{#if allowedValues}}
|
||||||
|
<select name="{{name}}" required placeholder="{{example}}" class="form-control" {{#if multipleValues}}multiple{{/if}}>
|
||||||
|
<option value="" default disabled selected>{{example}}</option>
|
||||||
|
{{#allowedValues}}<option value="{{value}}">{{label}}</option>{{/allowedValues}}
|
||||||
|
</select>
|
||||||
|
{{else}}
|
||||||
<input type="text" name="{{name}}" class="form-control" value="{{default}}" placeholder="{{example}}" required>
|
<input type="text" name="{{name}}" class="form-control" value="{{default}}" placeholder="{{example}}" required>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{#if help}}
|
||||||
|
<span class="help-block">{{{help}}}</span>
|
||||||
|
{{/if}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
{{/manifest.arguments.install}}
|
{{/manifest.arguments.install}}
|
||||||
|
|
Loading…
Add table
Reference in a new issue