From 532e9275f8c2a890cb6b9da355811a3c26e7311e Mon Sep 17 00:00:00 2001 From: Coleman Watts Date: Wed, 12 Feb 2014 11:00:25 -0800 Subject: [PATCH] CRM-13966 - Refactor group org autocomplete --- CRM/Group/Form/Edit.php | 30 ++++-------------------------- templates/CRM/Group/Form/Edit.tpl | 16 +++------------- 2 files changed, 7 insertions(+), 39 deletions(-) diff --git a/CRM/Group/Form/Edit.php b/CRM/Group/Form/Edit.php index 17d97c96c4..b8f7fdb10b 100644 --- a/CRM/Group/Form/Edit.php +++ b/CRM/Group/Form/Edit.php @@ -174,25 +174,8 @@ class CRM_Group_Form_Edit extends CRM_Core_Form { } } - if (CRM_Core_Permission::check('administer Multiple Organizations') && - CRM_Core_Permission::isMultisiteEnabled() - ) { + if (CRM_Core_Permission::check('administer Multiple Organizations') && CRM_Core_Permission::isMultisiteEnabled()) { CRM_Contact_BAO_GroupOrganization::retrieve($this->_id, $defaults); - - if (!empty($defaults['group_organization'])) { - //used in edit mode - $this->_groupOrganizationID = $defaults['group_organization']; - } - if (!empty($defaults['organization_id'])) { - $result = civicrm_api3('contact', 'getquick', array( - 'org' => 1, - 'id' => $defaults['organization_id'] - )); - $this->assign('organizationName', $result['values'][0]['data']); - } - else { - $this->assign('organizationName', ''); - } } } @@ -314,15 +297,10 @@ class CRM_Group_Form_Edit extends CRM_Core_Form { } $this->add('select', 'parents', ts('Add Parent'), $parentGroupSelectValues, $required); } - if (CRM_Core_Permission::check('administer Multiple Organizations') && - CRM_Core_Permission::isMultisiteEnabled() - ) { + if (CRM_Core_Permission::check('administer Multiple Organizations') && CRM_Core_Permission::isMultisiteEnabled()) { //group organization Element - $groupOrgDataURL = CRM_Utils_System::url('civicrm/ajax/search', 'org=1', FALSE, NULL, FALSE); - $this->assign('groupOrgDataURL', $groupOrgDataURL); - - $this->addElement('text', 'organization', ts('Organization'), ''); - $this->addElement('hidden', 'organization_id', '', array('id' => 'organization_id')); + $props = array('api' => array('params' => array('contact_type' => 'Organization'))); + $this->addEntityRef('organization_id', ts('Organization'), $props); } // is_reserved property CRM-9936 diff --git a/templates/CRM/Group/Form/Edit.tpl b/templates/CRM/Group/Form/Edit.tpl index 12bf2e17a4..e93e9092cd 100644 --- a/templates/CRM/Group/Form/Edit.tpl +++ b/templates/CRM/Group/Form/Edit.tpl @@ -111,13 +111,12 @@ {/if} - {if $form.organization} + {if $form.organization_id}

{ts}Associated Organization{/ts} {help id="id-group-organization" file="CRM/Group/Page/Group.hlp"}

- - +
      {$form.organization.label}{$form.organization.html|crmAddClass:huge} -
{$organizationName}
+
      {$form.organization_id.label}{$form.organization_id.html|crmAddClass:huge}
@@ -151,15 +150,6 @@ cj('input[type=checkbox][name="group_type[{/literal}{$freezeMailignList}{literal cj('input[type=checkbox][name="group_type[{/literal}{$hideMailignList}{literal}]"]').hide(); cj('label[for="group_type[{/literal}{$hideMailignList}{literal}]"]').hide(); {/literal}{/if}{literal} - -var dataUrl = "{/literal}{crmURL p='civicrm/ajax/rest' q='className=CRM_Contact_Page_AJAX&fnName=getContactList&json=1&org=1&context=groupcontact' h=0 }{literal}"; -cj('#organization').val(cj('#organization_address').text()).autocomplete( dataUrl, { - width : 250, selectFirst : false, matchContains: true - }).result( function(event, data, formatted) { - cj( "#organization_id" ).val( data[1] ); - htmlDiv = data[0].replace( /::/gi, ' '); - cj('div#organization_address').html(htmlDiv); - }); {/literal} -- 2.25.1