2 if(!defined('sugarEntry') || !sugarEntry) die('Not A Valid Entry Point');
3 /*********************************************************************************
4 * SugarCRM Community Edition is a customer relationship management program developed by
5 * SugarCRM, Inc. Copyright (C) 2004-2011 SugarCRM Inc.
7 * This program is free software; you can redistribute it and/or modify it under
8 * the terms of the GNU Affero General Public License version 3 as published by the
9 * Free Software Foundation with the addition of the following permission added
10 * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
11 * IN WHICH THE COPYRIGHT IS OWNED BY SUGARCRM, SUGARCRM DISCLAIMS THE WARRANTY
12 * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
14 * This program is distributed in the hope that it will be useful, but WITHOUT
15 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16 * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
19 * You should have received a copy of the GNU Affero General Public License along with
20 * this program; if not, see http://www.gnu.org/licenses or write to the Free
21 * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
24 * You can contact SugarCRM, Inc. headquarters at 10050 North Wolfe Road,
25 * SW2-130, Cupertino, CA 95014, USA. or at email address contact@sugarcrm.com.
27 * The interactive user interfaces in modified source and object code versions
28 * of this program must display Appropriate Legal Notices, as required under
29 * Section 5 of the GNU Affero General Public License version 3.
31 * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
32 * these Appropriate Legal Notices must retain the display of the "Powered by
33 * SugarCRM" logo. If the display of the logo is not reasonably feasible for
34 * technical reasons, the Appropriate Legal Notices must display the words
35 * "Powered by SugarCRM".
36 ********************************************************************************/
40 * QuickSearchDefaults class, outputs default values for setting up quicksearch
42 * @copyright 2004-2007 SugarCRM Inc.
43 * @license http://www.sugarcrm.com/crm/products/sugar-professional-eula.html SugarCRM Professional End User License
44 * @since Class available since Release 4.0
47 class QuickSearchDefaults {
49 var $form_name = 'EditView';
51 function setFormName($name = 'EditView') {
52 $this->form_name = $name;
55 function getQSParent($parent = 'Accounts') {
59 'form' => $this->form_name,
61 'modules' => array($parent),
63 'field_list' => array('name', 'id'),
64 'populate_list' => array('parent_name', 'parent_id'),
65 'required_list' => array('parent_id'),
66 'conditions' => array(array('name'=>'name','op'=>'like_custom','end'=>'%','value'=>'')),
69 'no_match_text' => $app_strings['ERR_SQS_NO_MATCH']
75 function getQSAccount($nameKey, $idKey, $billingKey = null, $shippingKey = null, $additionalFields = null) {
80 $field_list = array('name', 'id');
81 $populate_list = array($nameKey, $idKey);
82 if($billingKey != null) {
83 $field_list = array_merge($field_list, array('billing_address_street', 'billing_address_city',
84 'billing_address_state', 'billing_address_postalcode', 'billing_address_country'));
86 $populate_list = array_merge($populate_list, array($billingKey . "_address_street", $billingKey . "_address_city",
87 $billingKey . "_address_state", $billingKey . "_address_postalcode", $billingKey . "_address_country"));
90 if($shippingKey != null) {
91 $field_list = array_merge($field_list, array('shipping_address_street', 'shipping_address_city',
92 'shipping_address_state', 'shipping_address_postalcode', 'shipping_address_country'));
94 $populate_list = array_merge($populate_list, array($shippingKey . "_address_street", $shippingKey . "_address_city",
95 $shippingKey . "_address_state", $shippingKey . "_address_postalcode", $shippingKey . "_address_country"));
98 if(!empty($additionalFields) && is_array($additionalFields)) {
99 $field_list = array_merge($field_list, array_keys($additionalFields));
100 $populate_list = array_merge($populate_list, array_values($additionalFields));
104 'form' => $this->form_name,
106 'modules' => array('Accounts'),
108 'field_list' => $field_list,
109 'populate_list' => $populate_list,
110 'conditions' => array(array('name'=>'name','op'=>'like_custom','end'=>'%','value'=>'')),
111 'required_list' => array($idKey),
114 'no_match_text' => $app_strings['ERR_SQS_NO_MATCH']
120 function getQSUser($p_name = 'assigned_user_name', $p_id ='assigned_user_id') {
123 $qsUser = array('form' => $this->form_name,
124 'method' => 'get_user_array', // special method
125 'field_list' => array('user_name', 'id'),
126 'populate_list' => array($p_name, $p_id),
127 'required_list' => array($p_id),
128 'conditions' => array(array('name'=>'user_name','op'=>'like_custom','end'=>'%','value'=>'')),
129 'limit' => '30','no_match_text' => $app_strings['ERR_SQS_NO_MATCH']);
132 function getQSCampaigns() {
135 $qsCampaign = array('form' => $this->form_name,
137 'modules'=> array('Campaigns'),
139 'field_list' => array('name', 'id'),
140 'populate_list' => array('campaign_name', 'campaign_id'),
141 'conditions' => array(array('name'=>'name','op'=>'like_custom','end'=>'%','value'=>'')),
142 'required_list' => array('campaign_id'),
145 'no_match_text' => $app_strings['ERR_SQS_NO_MATCH']);
150 // BEGIN QuickSearch functions for 4.5.x backwards compatibility support
151 function getQSScripts() {
152 global $sugar_version, $sugar_config, $theme;
153 $qsScripts = '<script type="text/javascript" src="' . getJSPath('include/JSON.js') .'"></script>
154 <script type="text/javascript">sqsWaitGif = "' . SugarThemeRegistry::current()->getImageURL('sqsWait.gif') . '";</script>
155 <script type="text/javascript" src="'. getJSPath('include/javascript/quicksearch.js') . '"></script>';
159 function getQSScriptsNoServer() {
160 return $this->getQSScripts();
163 function getQSScriptsJSONAlreadyDefined() {
164 global $sugar_version, $sugar_config, $theme;
165 $qsScriptsJSONAlreadyDefined = '<script type="text/javascript">sqsWaitGif = "' . SugarThemeRegistry::current()->getImageURL('sqsWait.gif') . '";</script><script type="text/javascript" src="' . getJSPath('include/javascript/quicksearch.js') . '"></script>';
166 return $qsScriptsJSONAlreadyDefined;
168 // END QuickSearch functions for 4.5.x backwards compatibility support