- Apply 'none' user selection preference (with admin consideration)

- Avoid potential infinite loop with no select options
This commit is contained in:
Nathan Gray 2014-09-29 20:37:23 +00:00
parent 0f9adabe4a
commit 84821bef95
2 changed files with 11 additions and 3 deletions

View File

@ -111,6 +111,11 @@ var et2_selectAccount = et2_selectbox.extend(
switch(type) switch(type)
{ {
case 'none': case 'none':
if(typeof egw.user('apps').admin == 'undefined')
{
this.options.select_options = {};
break;
}
case 'selectbox': case 'selectbox':
case 'groupmembers': case 'groupmembers':
default: default:
@ -164,9 +169,10 @@ var et2_selectAccount = et2_selectbox.extend(
*/ */
createMultiSelect: function() { createMultiSelect: function() {
this._super.apply(this, arguments);
var type = this.egw().preference('account_selection', 'common'); var type = this.egw().preference('account_selection', 'common');
if(type == 'none' && typeof egw.user('apps').admin == 'undefined') return;
this._super.apply(this, arguments);
this.options.select_options = this._get_accounts(); this.options.select_options = this._get_accounts();

View File

@ -440,7 +440,9 @@ var et2_selectbox = et2_inputWidget.extend(
{ {
_value = _value.split(','); _value = _value.split(',');
} }
if(this.input !== null && this.options.select_options && this.input.children().length == 0) if(this.input !== null && this.options.select_options && (
!jQuery.isEmptyObject(this.options.select_options) || this.options.select_options.length > 0
) && this.input.children().length == 0)
{ {
// No options set yet // No options set yet
this.set_select_options(this.options.select_options); this.set_select_options(this.options.select_options);