From b3611a8dfd0f80993e38680ba531b8409b864422 Mon Sep 17 00:00:00 2001 From: Nathan Gray Date: Tue, 28 Jul 2015 19:08:17 +0000 Subject: [PATCH] Remove popup account selection option --- etemplate/js/et2_widget_selectAccount.js | 88 ------------------- phpgwapi/inc/class.uiaccountsel.inc.php | 9 +- .../inc/class.preferences_hooks.inc.php | 1 - 3 files changed, 2 insertions(+), 96 deletions(-) diff --git a/etemplate/js/et2_widget_selectAccount.js b/etemplate/js/et2_widget_selectAccount.js index 49fee81750..a26eae28b4 100644 --- a/etemplate/js/et2_widget_selectAccount.js +++ b/etemplate/js/et2_widget_selectAccount.js @@ -26,7 +26,6 @@ * - 'groupmembers' => Non admins can only select groupmembers (Server side - normal selectbox) * - 'selectbox' => Selectbox with all accounts and groups (Server side - normal selectbox) * - 'primary_group' => Selectbox with primary group and search - * - 'popup' => No selectbox, just search. No popup, the search replaces the selectbox * * Only primary_group and popup need anything different from a normal selectbox * @@ -77,14 +76,6 @@ var et2_selectAccount = et2_selectbox.extend( // Reference to object with dialog this.dialog = null; - // Popup does not work with tags - var type = this.egw().preference('account_selection', 'common'); - if(type == 'popup' && _attrs.multiple) - { - _attrs.tags = false; - _attrs.rows = Math.max(2,_attrs.rows); - } - this._super.call(this, _parent, _attrs); // Allow certain widgets inside this one @@ -145,33 +136,6 @@ var et2_selectAccount = et2_selectbox.extend( this.getSurroundings().insertDOMNode(button[0]); } - else if (type == 'popup') - { - // Allow search 'inside' this widget - this.supportedWidgetClasses = [et2_link_entry]; - - this._create_search(); - // Use empty label as blur - if(this.options.empty_label) this.search_widget.set_blur(this.options.empty_label); - - // Rework to go around / through the selectbox - if(this.input) - { - this.getValue = function() {return this.value;}; - this.set_value = function(_value) { - this.value = _value; - this.search_widget.set_value(_value); - }; - this.search_widget.search.change(this, function(event) { - var value = event.data.search_widget.getValue(); - event.data.value = typeof value == 'object' && value ? value.id : value; - event.data.input.trigger("change"); - return false; - }); - } - var div = jQuery(document.createElement("div")).append(this.search_widget.getDOMNode()); - this.setDOMNode(div[0]); - } }, /** @@ -238,58 +202,6 @@ var et2_selectAccount = et2_selectbox.extend( this.multiOptions.prev().find('ul') .append(button); } - else if (type == 'popup') - { - // Allow search 'inside' this widget - this.supportedWidgetClasses = [et2_link_entry]; - - /** - * Popup takes the dialog and embeds it in place of the selectbox - */ - var dialog = this._open_multi_search(); - dialog.dialog("close"); - var div = jQuery(document.createElement("div")).append(this.dialog); - this.setDOMNode(div[0]); - - var select_col = jQuery('#selection_col',dialog).children(); - var selected = jQuery('#'+this.getInstanceManager().uniqueId + "_selected", select_col); - - // Re-do to get it to work around/through the select box - this.set_value = function(_value) { - selected.empty(); - if(typeof _value == 'string') - { - _value = _value.split(','); - } - if(typeof _value == 'object') - { - for(var key in _value) - { - this._add_selected(selected, _value[key]); - } - } - }; - var widget = this; - this.getValue = function() { - // Update widget with selected - var ids = []; - var data = {}; - jQuery('#'+this.getInstanceManager().uniqueId + '_selected li',select_col).each(function() { - var id = $j(this).attr("data-id"); - // Add to list - ids.push(id); - - // Make sure option is there - if(jQuery('input[data-id="'+id+'"]',widget.multiOptions).length == 0) - { - widget._appendMultiOption(id,jQuery('label',this).text()); - } - }); - - this.set_multi_value(ids); - return ids; - }; - } }, /** diff --git a/phpgwapi/inc/class.uiaccountsel.inc.php b/phpgwapi/inc/class.uiaccountsel.inc.php index 2d7d5dfef2..0088e4b6ec 100644 --- a/phpgwapi/inc/class.uiaccountsel.inc.php +++ b/phpgwapi/inc/class.uiaccountsel.inc.php @@ -60,7 +60,6 @@ class uiaccountsel * The function respects the 'account_selection' general preference: * - 'selectbox' => Selectbox with all accounts and groups * - 'primary_group' => Selectbox with primary group and search - * - 'popup' => Popup with search * - 'groupmembers' => Non admins can only select groupmembers * - 'none' => Non admins can NOT select any other user * @@ -142,10 +141,6 @@ class uiaccountsel } switch($account_sel) { - case 'popup': - $select = $selected; - break; - case 'primary_group': case 'groupmembers': if ($account_sel == 'primary_group') @@ -250,7 +245,7 @@ class uiaccountsel 'multiple' => $lines, // single selection (multiple=0), closes after the first selection ),false); $app = $GLOBALS['egw_info']['flags']['currentapp']; - if (!$only_groups && ($lines <= 1 && $this->account_selection == 'popup' || !$lines && $this->account_selection == 'primary_group')) + if (!$only_groups && ($lines <= 1 && !$lines && $this->account_selection == 'primary_group')) { if (!$lines) { @@ -279,7 +274,7 @@ class uiaccountsel $html = html::select($name,$selected,$select,True,$options.' id="'.$element_id. '" data-popup-link="'.htmlspecialchars($link).'"',$lines > 1 ? $lines : 0,false); - if (!$only_groups && ($lines > 0 && $this->account_selection == 'popup' || $lines > 1 && $this->account_selection == 'primary_group')) + if (!$only_groups && $lines > 1 && $this->account_selection == 'primary_group') { $html .= html::submit_button('search','Search accounts',$js,false, ' title="'.html::htmlspecialchars(lang('Search accounts')). diff --git a/preferences/inc/class.preferences_hooks.inc.php b/preferences/inc/class.preferences_hooks.inc.php index e3275a5c25..1f76b4840a 100644 --- a/preferences/inc/class.preferences_hooks.inc.php +++ b/preferences/inc/class.preferences_hooks.inc.php @@ -72,7 +72,6 @@ class preferences_hooks $account_sels = array( 'selectbox' => lang('Selectbox'), 'primary_group' => lang('Selectbox with primary group and search'), - 'popup' => lang('Popup with search'), 'groupmembers' => lang('Selectbox with groupmembers'), 'none' => lang('No user-selection at all'), );