[ Index ] |
|
Code source de vtiger CRM 5.0.2 |
1 {*<!-- 2 /********************************************************************************* 3 ** The contents of this file are subject to the vtiger CRM Public License Version 1.0 4 * ("License"); You may not use this file except in compliance with the License 5 * The Original Code is: vtiger CRM Open Source 6 * The Initial Developer of the Original Code is vtiger. 7 * Portions created by vtiger are Copyright (C) vtiger. 8 * All Rights Reserved. 9 * 10 ********************************************************************************/ 11 -->*} 12 <script language="JAVASCRIPT" type="text/javascript" src="include/js/smoothscroll.js"></script> 13 <script language="javascript"> 14 15 function dup_validation() 16 {ldelim} 17 var mode = getObj('mode').value; 18 var groupname = $('groupName').value; 19 var groupid = getObj('groupId').value; 20 if(mode == 'edit') 21 var reminstr = '&mode='+mode+'&groupName='+groupname+'&groupid='+groupid; 22 else 23 var reminstr = '&groupName='+groupname; 24 new Ajax.Request( 25 'index.php', 26 {ldelim}queue: {ldelim}position: 'end', scope: 'command'{rdelim}, 27 method: 'post', 28 postBody: 'module=Users&action=UsersAjax&file=SaveGroup&ajax=true&dup_check=true'+reminstr, 29 onComplete: function(response) {ldelim} 30 if(response.responseText.indexOf('SUCESS') >-1) 31 document.newGroupForm.submit(); 32 else 33 alert(response.responseText); 34 {rdelim} 35 {rdelim} 36 ); 37 {rdelim} 38 39 var constructedOptionValue; 40 var constructedOptionName; 41 42 var roleIdArr=new Array({$ROLEIDSTR}); 43 var roleNameArr=new Array({$ROLENAMESTR}); 44 var userIdArr=new Array({$USERIDSTR}); 45 var userNameArr=new Array({$USERNAMESTR}); 46 var grpIdArr=new Array({$GROUPIDSTR}); 47 var grpNameArr=new Array({$GROUPNAMESTR}); 48 49 function showOptions() 50 {ldelim} 51 var selectedOption=document.newGroupForm.memberType.value; 52 //Completely clear the select box 53 document.forms['newGroupForm'].availList.options.length = 0; 54 55 if(selectedOption == 'groups') 56 {ldelim} 57 constructSelectOptions('groups',grpIdArr,grpNameArr); 58 {rdelim} 59 else if(selectedOption == 'roles') 60 {ldelim} 61 constructSelectOptions('roles',roleIdArr,roleNameArr); 62 {rdelim} 63 else if(selectedOption == 'rs') 64 {ldelim} 65 66 constructSelectOptions('rs',roleIdArr,roleNameArr); 67 {rdelim} 68 else if(selectedOption == 'users') 69 {ldelim} 70 constructSelectOptions('users',userIdArr,userNameArr); 71 {rdelim} 72 {rdelim} 73 74 function constructSelectOptions(selectedMemberType,idArr,nameArr) 75 {ldelim} 76 var i; 77 var findStr=document.newGroupForm.findStr.value; 78 if(findStr.replace(/^\s+/g, '').replace(/\s+$/g, '').length !=0) 79 {ldelim} 80 81 var k=0; 82 for(i=0; i<nameArr.length; i++) 83 {ldelim} 84 if(nameArr[i].indexOf(findStr) ==0) 85 {ldelim} 86 constructedOptionName[k]=nameArr[i]; 87 constructedOptionValue[k]=idArr[i]; 88 k++; 89 {rdelim} 90 {rdelim} 91 {rdelim} 92 else 93 {ldelim} 94 constructedOptionValue = idArr; 95 constructedOptionName = nameArr; 96 {rdelim} 97 98 //Constructing the selectoptions 99 var j; 100 var nowNamePrefix; 101 for(j=0;j<constructedOptionName.length;j++) 102 {ldelim} 103 if(selectedMemberType == 'roles') 104 {ldelim} 105 nowNamePrefix = 'Roles::' 106 {rdelim} 107 else if(selectedMemberType == 'rs') 108 {ldelim} 109 nowNamePrefix = 'RoleAndSubordinates::' 110 {rdelim} 111 else if(selectedMemberType == 'groups') 112 {ldelim} 113 nowNamePrefix = 'Group::' 114 {rdelim} 115 else if(selectedMemberType == 'users') 116 {ldelim} 117 nowNamePrefix = 'User::' 118 {rdelim} 119 120 var nowName = nowNamePrefix + constructedOptionName[j]; 121 var nowId = selectedMemberType + '::' + constructedOptionValue[j] 122 document.forms['newGroupForm'].availList.options[j] = new Option(nowName,nowId); 123 {rdelim} 124 //clearing the array 125 constructedOptionValue = new Array(); 126 constructedOptionName = new Array(); 127 128 129 {rdelim} 130 131 function validate() 132 {ldelim} 133 formSelectColumnString(); 134 if( !emptyCheck( "groupName", "Group Name" ) ) 135 return false; 136 137 if(trim(document.newGroupForm.groupName.value) == "") 138 {ldelim} 139 alert('Group Name cannot be none'); 140 return false; 141 {rdelim} 142 143 //alert(document.newGroupForm.selectedColumnsString.value); 144 if(document.newGroupForm.selectedColumnsString.value.replace(/^\s+/g, '').replace(/\s+$/g, '').length==0) 145 {ldelim} 146 147 alert('Group should have at least one member. Select a member to the group'); 148 return false; 149 {rdelim} 150 dup_validation(); 151 {rdelim} 152 </script> 153 154 <br> 155 <table align="center" border="0" cellpadding="0" cellspacing="0" width="98%"> 156 <tbody><tr> 157 <td valign="top"><img src="{$IMAGE_PATH}showPanelTopLeft.gif"></td> 158 <td class="showPanelBg" style="padding: 10px;" valign="top" width="100%"> 159 <br> 160 161 <div align=center> 162 {include file='SetMenu.tpl'} 163 <!-- DISPLAY --> 164 <table border=0 cellspacing=0 cellpadding=5 width=100% class="settingsSelUITopLine"> 165 <form name="newGroupForm" action="index.php" method="post"> 166 <input type="hidden" name="module" value="Users"> 167 <input type="hidden" name="action" value="SaveGroup"> 168 <input type="hidden" name="mode" value="{$MODE}"> 169 <input type="hidden" name="parenttab" value="Settings"> 170 <input type="hidden" name="groupId" value="{$GROUPID}"> 171 <input type="hidden" name="returnaction" value="{$RETURN_ACTION}"> 172 <tr> 173 <td width=50 rowspan=2 valign=top><img src="{$IMAGE_PATH}ico-groups.gif" alt="Groups" width="48" height="48" border=0 title="Roles"></td> 174 {if $MODE eq 'edit'} 175 <td class=heading2 valign=bottom><b><a href="index.php?module=Settings&action=index&parenttab=Settings">{$MOD.LBL_SETTINGS}</a> > <a href="index.php?module=Users&action=listgroups&parenttab=Settings">{$CMOD.LBL_GROUPS}</a> > {$MOD.LBL_EDIT} "{$GROUPNAME}" </b></td> 176 {else} 177 <td class=heading2 valign=bottom><b><a href="index.php?module=Settings&action=index&parenttab=Settings">{$MOD.LBL_SETTINGS}</a> > <a href="index.php?module=Users&action=listgroups&parenttab=Settings">{$CMOD.LBL_GROUPS}</a> > {$CMOD.LBL_CREATE_NEW_GROUP}</b></td> 178 {/if} 179 </tr> 180 <tr> 181 {if $MODE eq 'edit'} 182 <td valign=top class="small">{$MOD.LBL_EDIT} {$CMOD.LBL_PROPERTIES} "{$GROUPNAME}" {$CMOD.LBL_GROUP}</td> 183 {else} 184 <td valign=top class="small">{$CMOD.LBL_NEW_GROUP}</td> 185 {/if} 186 </tr> 187 </table> 188 189 <br> 190 <table border=0 cellspacing=0 cellpadding=10 width=100% > 191 <tr> 192 <td valign=top> 193 194 <table border=0 cellspacing=0 cellpadding=5 width=100% class="tableHeading"> 195 <tr> 196 {if $MODE eq 'edit'} 197 <td class="big"><strong>{$CMOD.LBL_PROPERTIES} "{$GROUPNAME}" </strong></td> 198 {else} 199 <td class="big"><strong>{$CMOD.LBL_NEW_GROUP}</strong></td> 200 {/if} 201 <td><div align="right"> 202 {if $MODE eq 'edit'} 203 <input type="button" class="crmButton small save" name="add" value=" {$APP.LBL_SAVE_BUTTON_LABEL} " onClick="return validate()"> 204 {else} 205 <input type="button" class="crmButton create small" name="add" value="{$CMOD.LBL_ADD_GROUP_BUTTON}" onClick="return validate()"> 206 {/if} 207 208 <input type="button" class="crmButton cancel small" name="cancel" value="{$APP.LBL_CANCEL_BUTTON_LABEL}" onClick="window.history.back()"> 209 </div></td> 210 </tr> 211 </table> 212 <table width="100%" border="0" cellspacing="0" cellpadding="5"> 213 <tr class="small"> 214 <td width="15%" class="small cellLabel"><font color="red">*</font><strong>{$CMOD.LBL_GROUP_NAME}</strong></td> 215 <td width="85%" class="cellText" ><input id="groupName" name="groupName" type="text" value="{$GROUPNAME}" class="detailedViewTextBox"></td> 216 </tr> 217 <tr class="small"> 218 <td class="small cellLabel"><strong>{$CMOD.LBL_DESCRIPTION}</strong></td> 219 <td class="cellText"><input name="description" type="text" value="{$DESCRIPTION}" class="detailedViewTextBox"> </td> 220 </tr> 221 <tr class="small"> 222 <td colspan="2" valign=top class="cellLabel"><strong>{$CMOD.LBL_MEMBER}</strong> </td> 223 </tr> 224 <tr class="small"> 225 <td colspan="2" valign=top class="cellText"> 226 <br> 227 <table width="95%" border="0" align="center" cellpadding="5" cellspacing="0"> 228 <tr> 229 <td width="40%" valign=top class="cellBottomDotLinePlain small"><strong>{$CMOD.LBL_MEMBER_AVLBL}</strong></td> 230 <td width="10%"> </td> 231 <td width="40%" class="cellBottomDotLinePlain small"><strong>{$CMOD.LBL_MEMBER_SELECTED}</strong></td> 232 </tr> 233 <tr> 234 <td valign=top class="small"> 235 {$CMOD.LBL_ENTITY}: 236 <select id="memberType" name="memberType" class="small" onchange="showOptions()"> 237 <option value="groups" selected>{$CMOD.LBL_GROUPS}</option> 238 <option value="roles">{$CMOD.LBL_ROLES}</option> 239 <option value="rs">{$CMOD.LBL_ROLES_SUBORDINATES}</option> 240 <option value="users">{$MOD.LBL_USERS}</option> 241 </select> 242 <input type="hidden" name="findStr" class="small"> 243 </td> 244 <td width="50"> </td> 245 <td class="small"> </td> 246 </tr> 247 <tr class=small> 248 <td valign=top>{$CMOD.LBL_MEMBER} {$CMOD.LBL_OF} {$CMOD.LBL_ENTITY}<br> 249 <select id="availList" name="availList" multiple size="10" class="small crmFormList"> 250 </select> 251 <input type="hidden" name="selectedColumnsString"/> 252 253 </td> 254 <td width="50"><div align="center"> 255 <input type="button" name="Button" value=" ›› " onClick="addColumn()" class="crmButton small"/><br /><br /> 256 <input type="button" name="Button1" value=" ‹‹ " onClick="delColumn()" class="crmButton small"/> 257 </div></td> 258 <td class="small" style="background-color:#ddFFdd" valign=top>{$CMOD.LBL_MEMBER} {$CMOD.LBL_OF} "{$GROUPNAME}" <br> 259 <select id="selectedColumns" name="selectedColumns" multiple size="10" class="small crmFormList"> 260 {foreach item=element from=$MEMBER} 261 <option value="{$element.0}">{$element.1}</option> 262 {/foreach} 263 </select></td> 264 </tr> 265 <tr> 266 <td colspan=3> 267 <ul class=small> 268 <li>{$CMOD.LBL_GROUP_MESG1}</li> 269 <li>{$CMOD.LBL_GROUP_MESG2}</li> 270 <li>{$CMOD.LBL_GROUP_MESG3}</li> 271 </ul> 272 273 </td> 274 </tr> 275 </table> 276 277 </td> 278 </tr> 279 </table> 280 <br> 281 <table border=0 cellspacing=0 cellpadding=5 width=100% > 282 <tr><td class="small" nowrap align=right><a href="#top">{$MOD.LBL_SCROLL}</a></td></tr> 283 </table> 284 285 286 </td> 287 </tr> 288 <tr> 289 <td valign=top> </td> 290 </tr> 291 </table> 292 293 294 295 </td> 296 </tr> 297 </table> 298 </td> 299 </tr> 300 </form> 301 </table> 302 303 </div> 304 305 </td> 306 <td valign="top"><img src="{$IMAGE_PATH}showPanelTopRight.gif"></td> 307 </tr> 308 </tbody> 309 </table> 310 <script language="JavaScript" type="text/JavaScript"> 311 var moveupLinkObj,moveupDisabledObj,movedownLinkObj,movedownDisabledObj; 312 function setObjects() 313 {ldelim} 314 availListObj=getObj("availList") 315 selectedColumnsObj=getObj("selectedColumns") 316 317 {rdelim} 318 319 function addColumn() 320 {ldelim} 321 for (i=0;i<selectedColumnsObj.length;i++) 322 {ldelim} 323 selectedColumnsObj.options[i].selected=false 324 {rdelim} 325 326 for (i=0;i<availListObj.length;i++) 327 {ldelim} 328 if (availListObj.options[i].selected==true) 329 {ldelim} 330 for (j=0;j<selectedColumnsObj.length;j++) 331 {ldelim} 332 if (selectedColumnsObj.options[j].value==availListObj.options[i].value) 333 {ldelim} 334 var rowFound=true 335 var existingObj=selectedColumnsObj.options[j] 336 break 337 {rdelim} 338 {rdelim} 339 340 if (rowFound!=true) 341 {ldelim} 342 var newColObj=document.createElement("OPTION") 343 newColObj.value=availListObj.options[i].value 344 if (browser_ie) newColObj.innerText=availListObj.options[i].innerText 345 else if (browser_nn4 || browser_nn6) newColObj.text=availListObj.options[i].text 346 selectedColumnsObj.appendChild(newColObj) 347 availListObj.options[i].selected=false 348 newColObj.selected=true 349 rowFound=false 350 {rdelim} 351 else 352 {ldelim} 353 existingObj.selected=true 354 {rdelim} 355 {rdelim} 356 {rdelim} 357 {rdelim} 358 359 function delColumn() 360 {ldelim} 361 for (i=0;i<=selectedColumnsObj.options.length;i++) 362 {ldelim} 363 if (selectedColumnsObj.options.selectedIndex>=0) 364 selectedColumnsObj.remove(selectedColumnsObj.options.selectedIndex) 365 {rdelim} 366 {rdelim} 367 368 function formSelectColumnString() 369 {ldelim} 370 var selectedColStr = ""; 371 for (i=0;i<selectedColumnsObj.options.length;i++) 372 {ldelim} 373 selectedColStr += selectedColumnsObj.options[i].value + ";"; 374 {rdelim} 375 document.newGroupForm.selectedColumnsString.value = selectedColStr; 376 {rdelim} 377 setObjects(); 378 showOptions(); 379 </script>
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sun Feb 25 10:22:19 2007 | par Balluche grâce à PHPXref 0.7 |