Changeset 3282 for branches/2.2/contactcenter
- Timestamp:
- 09/23/10 10:14:52 (14 years ago)
- Location:
- branches/2.2/contactcenter
- Files:
-
- 1 added
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/2.2/contactcenter/inc/class.bo_contactcenter.inc.php
r3211 r3282 300 300 // Necessary for the new way the catalog tree is built at initialization 301 301 $new_branch['name'] = $branch['name']; 302 $new_branch['external'] = $ branch['external'];302 $new_branch['external'] = $this->tree['branches'][$id]['external']; 303 303 $branch = $new_branch; 304 304 } -
branches/2.2/contactcenter/inc/class.bo_ldap_manager.inc.php
r3262 r3282 181 181 'telex' => array('telexNumber') 182 182 ), 183 'contact.connection.mail' => array('mail'), 184 'contact.connection.phone' => array('telephoneNumber') 183 185 ); 184 186 -
branches/2.2/contactcenter/inc/class.ui_data.inc.php
r3247 r3282 116 116 $GLOBALS['phpgw']->template->set_var('cc_qa_close',lang('Close')); 117 117 /* End Quick Add */ 118 119 /* Advanced Search */ 120 121 $GLOBALS['phpgw']->template->set_var('cc_corporate',lang('Corporate')); 122 $GLOBALS['phpgw']->template->set_var('cc_cs_title',lang('Advanced Search')); 123 $GLOBALS['phpgw']->template->set_var('cc_catalogues',lang('Catalogues')); 124 125 126 127 /* End of Advanced Search*/ 118 128 119 129 $cc_css_file = $GLOBALS['phpgw_info']['server']['webserver_url'].'/contactcenter/styles/cc.css'; … … 470 480 echo serialize(array( 471 481 'status' => 'ok', 482 'catalog' => $catalog_info['class'], 483 'external' => $catalog_info['external']?true:false, 472 484 'perms' => $perms 473 485 )); … … 2753 2765 } 2754 2766 2767 //Traduz o campo na busca completa por entradas no catálogo do usuário. 2768 function aux_full_search ($field,$isldap) { 2769 $retorno = ''; 2770 if($isldap) { 2771 switch($field) { 2772 case 'mail': 2773 $retorno = 'contact.connection.mail'; 2774 break; 2775 case 'phone': 2776 $retorno = 'contact.connection.phone'; 2777 break; 2778 } 2779 } 2780 else { 2781 switch($field) { 2782 case 'corporate': 2783 $retorno = 'contact.corporate_name'; 2784 break; 2785 case 'mail': 2786 case 'phone': 2787 $retorno = 'contact.contact_connection.connection.connection_value'; 2788 break; 2789 } 2790 } 2791 return $retorno; 2792 } 2755 2793 2756 2794 /*! … … 2775 2813 // It's an external catalog? 2776 2814 $external = $this->bo->is_external($this->page_info['actual_catalog']); 2777 2778 if (!is_array($data) || !$data['search_for'] || !is_array($data['fields'])) 2815 $full_search = isset($data['full_search'])?$data['full_search']:false; 2816 2817 if (!is_array($data) || (!$data['search_for'] && !$full_search) || !is_array($data['fields'])) 2779 2818 { 2780 2819 echo serialize(array( … … 2821 2860 if (!is_array($names)) 2822 2861 { 2823 echo serialize(array( 2824 'msg' => lang('Invalid Search Parameter'), 2825 'status' => 'abort' 2826 )); 2862 if(!$full_search) { 2863 echo serialize(array( 2864 'msg' => lang('Invalid Search Parameter'), 2865 'status' => 'abort' 2866 )); 2867 exit; 2868 } 2869 else 2870 $names = array(); 2827 2871 2828 2872 } … … 2840 2884 * must have attibute phpgwAccountStatus, phpgwAccountVisible != -1 2841 2885 */ 2886 2842 2887 $rules = array( 2843 2888 0 => array( … … 2868 2913 ), 2869 2914 ); 2915 2916 foreach($full_search as $field => $value) { 2917 if(trim($value)!='') 2918 array_push($rules,array( 2919 'field' => $this->aux_full_search($field,true), 2920 'type' => 'LIKE', 2921 'value' => '*'.$value.'*' 2922 )); 2923 } 2924 2925 } 2926 else if(!$external) { 2927 2928 foreach($full_search as $field => $value) { 2929 if(trim($value)!='') 2930 array_push($rules,array( 2931 'field' => $this->aux_full_search($field,false), 2932 'type' => 'iLIKE', 2933 'value' => '%'.$value.'%' 2934 )); 2935 } 2936 2870 2937 } 2871 2938 … … 2906 2973 'contact.object_class', 2907 2974 //'contact.account_status', 2908 'contact.account_visible' 2975 'contact.account_visible', 2976 'contact.connection.mail', 2977 'contact.connection.phone' 2909 2978 ), $rules, array('order' => $data['fields']['search'], 'sort' => 'ASC'), $data['search_for_area'], $data['search_for'] != null ); 2910 2979 } -
branches/2.2/contactcenter/js/cc_search.js
r1690 r3282 22 22 return false; 23 23 } 24 25 this.mount_handler = function (responseText) 26 { 27 var data = new Array(); 28 data = unserialize(responseText); 29 30 if( !data ) 31 return false; 32 33 if( data[0] == 0 ) 34 { 35 if (_this.onSearchFinish) 36 _this.onSearchFinish(null); 37 return false; 38 } 39 40 if (data[3].length > 300) 41 { 42 alert("Mais de 300 resultados foram retornados! \n Favor refinar sua busca."); 43 44 if (_this.onSearchFinish) 45 _this.onSearchFinish(null); 46 47 return false; 48 } 49 50 ccSearchUpdate(); 51 52 letter = 'search'; 53 54 if ( letter != CC_actual_letter ) 55 { 56 CC_actual_page = '1'; 57 } 58 else 59 { 60 CC_actual_page = parseInt(data[1]); 61 } 62 63 CC_actual_letter = letter; 64 65 if (CC_max_cards[0] == 0) 66 { 67 if(CC_visual == 'cards') 68 drawCards(0); 69 else if(CC_visual == 'table') 70 drawTable(0); 71 72 setPages(0,0); 73 return; 74 } 75 76 if (data[0] == '0') 77 { 78 Element('cc_type_contact').value = data[1]; 79 CC_npages = 0; 80 CC_actual_page = 1; 81 if(CC_visual == 'cards') 82 drawCards(0); 83 else if(CC_visual == 'table') 84 drawTable(0); 85 setPages(0,0); 86 return; 87 } 88 else 89 { 90 Element('cc_type_contact').value = data[10]; 91 } 92 93 if (typeof(data) != 'object') 94 { 95 showMessage(Element('cc_msg_err_contacting_server').value); 96 return; 97 } 98 99 if (typeof(data[3]) == 'object') 100 { 101 CC_npages = parseInt(data[0]); 102 CC_actual_page = parseInt(data[1]); 103 if(CC_visual == 'cards') 104 drawCards(data[3].length, data[10]); 105 else if(CC_visual == 'table') 106 drawTable(data[3].length, data[10]); 107 resizeWindow(); 108 populateCards(data, data[10]); 109 setPages(data[0], data[1]); 110 } 111 else if (data['error']) 112 { 113 showMessage(data['error']); 114 } 115 else 116 { 117 showMessage(Element('cc_msg_err_contacting_server').value); 118 return; 119 } 120 }; 121 24 122 25 123 /* Attributes */ … … 141 239 ccSearchClass.prototype.go = function() 142 240 { 241 if (this.DOMinput.value == '') { 242 if ((ccTree.actualCatalog != 'bo_group_manager') && 243 (ccTree.actualCatalog != 'bo_shared_group_manager') && 244 (!ccTree.actualCatalogIsExternal)) { //Busca avançada para pessoal e catálogo geral 245 ccFullSearchVar.showForm(); 246 return; 247 } 248 } 143 249 var data = new Array(); 144 250 … … 197 303 var _this = this; 198 304 199 var handler = function (responseText) 200 { 201 var data = new Array(); 202 data = unserialize(responseText); 203 204 if( !data ) 205 return false; 206 207 if( data[0] == 0 ) 208 { 209 if (_this.onSearchFinish) 210 _this.onSearchFinish(null); 211 return false; 212 } 213 214 if (data[3].length > 300) 215 { 216 alert("Mais de 300 resultados foram retornados! \n Favor refinar sua busca."); 217 218 if (_this.onSearchFinish) 219 _this.onSearchFinish(null); 220 221 return false; 222 } 223 224 ccSearchUpdate(); 225 226 letter = 'search'; 227 228 if ( letter != CC_actual_letter ) 229 { 230 CC_actual_page = '1'; 231 } 232 else 233 { 234 CC_actual_page = parseInt(data[1]); 235 } 236 237 CC_actual_letter = letter; 238 239 if (CC_max_cards[0] == 0) 240 { 241 if(CC_visual == 'cards') 242 drawCards(0); 243 else if(CC_visual == 'table') 244 drawTable(0); 245 246 setPages(0,0); 247 return; 248 } 249 250 if (data[0] == '0') 251 { 252 Element('cc_type_contact').value = data[1]; 253 CC_npages = 0; 254 CC_actual_page = 1; 255 if(CC_visual == 'cards') 256 drawCards(0); 257 else if(CC_visual == 'table') 258 drawTable(0); 259 setPages(0,0); 260 return; 261 } 262 else 263 { 264 Element('cc_type_contact').value = data[10]; 265 } 266 267 if (typeof(data) != 'object') 268 { 269 showMessage(Element('cc_msg_err_contacting_server').value); 270 return; 271 } 272 273 if (typeof(data[3]) == 'object') 274 { 275 CC_npages = parseInt(data[0]); 276 CC_actual_page = parseInt(data[1]); 277 if(CC_visual == 'cards') 278 drawCards(data[3].length, data[10]); 279 else if(CC_visual == 'table') 280 drawTable(data[3].length, data[10]); 281 resizeWindow(); 282 populateCards(data, data[10]); 283 setPages(data[0], data[1]); 284 } 285 else if (data['error']) 286 { 287 showMessage(data['error']); 288 } 289 else 290 { 291 showMessage(Element('cc_msg_err_contacting_server').value); 292 return; 293 } 294 }; 295 296 this.Connector.newRequest('search', CC_url+'search&data='+serialize(data), 'GET', handler); 305 var handler = this.mount_handler; 306 this.Connector.newRequest('search', CC_url+'search&data='+serialize(data), 'GET', handler); 297 307 } -
branches/2.2/contactcenter/js/cc_tree.js
r3180 r3282 34 34 this.tree = new dFTree({'name': params['name']+'_tree'}); 35 35 this.actualLevel = null; 36 this.actualCatalog = null; 37 this.actualCatalogIsExternal = null; 36 38 this.treeAvailable = false; 37 39 this.afterSetCatalog = params['afterSetCatalog']; … … 57 59 return; 58 60 } 59 61 _this.actualCatalog = data['catalog'];//Atribuir o catalogo atual... 62 _this.actualCatalogIsExternal = data['external']; 60 63 if (data['status'] != 'ok') 61 64 { -
branches/2.2/contactcenter/setup/tables_current.inc.php
r2 r3282 287 287 'pgp_key' => array( 'type' => 'text' ), 288 288 'notes' => array( 'type' => 'text' ), 289 'is_global' => array( 'type' => 'bool' ) 289 'is_global' => array( 'type' => 'bool' ), 290 'corporate_name'=> array( 'type' => 'varchar', 'precision' => 100) 290 291 ), 291 292 'pk' => array('id_contact'), -
branches/2.2/contactcenter/templates/default/index.tpl
r1690 r3282 89 89 <input id="cc_msg_add_contact_to_group" type="hidden" value="{cc_msg_add_contact_to_group}"> 90 90 <input id="cc_contact_type" type="hidden" value="{cc_contact_type}"> 91 <input id="cc_select_groups" type="hidden" value="{cc_select_groups}"> 91 92 93 <input id="cc_corporate" type="hidden" value="{cc_corporate}"> 94 <input id="cc_catalogues" type="hidden" value="{cc_catalogues}"> 95 <input id="cc_cs_title" type="hidden" value="{cc_cs_title}"> 92 96 93 97 <!-- END JS MESSAGES --> … … 259 263 <script type="text/javascript" src="js/ccIEContacts.js"></script> 260 264 <script type="text/javascript" src="js/ccMain.js"></script> 265 <script type="text/javascript" src="js/ccMain.js"></script> 266 <script type="text/javascript" src="js/cc_full_search.js"></script> 261 267 <!-- END BOTTOM DETAILS-->
Note: See TracChangeset
for help on using the changeset viewer.