[ Index ]
 

Code source de vtiger CRM 5.0.2

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/modules/Reports/ -> Report.js (source)

   1  /*********************************************************************************
   2  ** The contents of this file are subject to the vtiger CRM Public License Version 1.0
   3   * ("License"); You may not use this file except in compliance with the License
   4   * The Original Code is:  vtiger CRM Open Source
   5   * The Initial Developer of the Original Code is vtiger.
   6   * Portions created by vtiger are Copyright (C) vtiger.
   7   * All Rights Reserved.
   8   *
   9   ********************************************************************************/
  10  var typeofdata = new Array();
  11  typeofdata['V'] = ['e','n','s','c','k'];
  12  typeofdata['N'] = ['e','n','l','g','m','h'];
  13  typeofdata['T'] = ['e','n','l','g','m','h'];
  14  typeofdata['I'] = ['e','n','l','g','m','h'];
  15  typeofdata['C'] = ['e','n'];
  16  typeofdata['D'] = ['e','n','l','g','m','h'];
  17  
  18  var fLabels = new Array();
  19  fLabels['e'] = 'equals';
  20  fLabels['n'] = 'not equal to';
  21  fLabels['s'] = 'starts with';
  22  fLabels['c'] = 'contains';
  23  fLabels['k'] = 'does not contain';
  24  fLabels['l'] = 'less than';
  25  fLabels['g'] = 'greater than';
  26  fLabels['m'] = 'less or equal';
  27  fLabels['h'] = 'greater or equal';
  28  var noneLabel;
  29  var gcurrepfolderid=0;
  30  function trimfValues(value)
  31  {
  32      var string_array;
  33      string_array = value.split(":");
  34      return string_array[4];
  35  }
  36  
  37  function updatefOptions(sel, opSelName) {
  38      var selObj = document.getElementById(opSelName);
  39      var fieldtype = null ;
  40  
  41      var currOption = selObj.options[selObj.selectedIndex];
  42      var currField = sel.options[sel.selectedIndex];
  43  
  44      if(currField.value != null && currField.value.length != 0)
  45      {
  46      fieldtype = trimfValues(currField.value);
  47      ops = typeofdata[fieldtype];
  48      var off = 0;
  49      if(ops != null)
  50      {
  51  
  52          var nMaxVal = selObj.length;
  53          for(nLoop = 0; nLoop < nMaxVal; nLoop++)
  54          {
  55              selObj.remove(0);
  56          }
  57          selObj.options[0] = new Option ('None', '');
  58          if (currField.value == '') {
  59              selObj.options[0].selected = true;
  60          }
  61          off = 1;
  62          for (var i = 0; i < ops.length; i++)
  63          {
  64              var label = fLabels[ops[i]];
  65              if (label == null) continue;
  66              var option = new Option (fLabels[ops[i]], ops[i]);
  67              selObj.options[i + off] = option;
  68              if (currOption != null && currOption.value == option.value)
  69              {
  70                  option.selected = true;
  71              }
  72          }
  73      }
  74      }else
  75      {
  76      var nMaxVal = selObj.length;
  77      for(nLoop = 0; nLoop < nMaxVal; nLoop++)
  78      {
  79          selObj.remove(0);
  80      }
  81      selObj.options[0] = new Option ('None', '');
  82      if (currField.value == '') {
  83          selObj.options[0].selected = true;
  84      }
  85      }
  86  
  87  }
  88  
  89  // Setting cookies
  90  function set_cookie ( name, value, exp_y, exp_m, exp_d, path, domain, secure )
  91  {
  92    var cookie_string = name + "=" + escape ( value );
  93  
  94    if ( exp_y )
  95    {
  96      var expires = new Date ( exp_y, exp_m, exp_d );
  97      cookie_string += "; expires=" + expires.toGMTString();
  98    }
  99  
 100    if ( path )
 101          cookie_string += "; path=" + escape ( path );
 102  
 103    if ( domain )
 104          cookie_string += "; domain=" + escape ( domain );
 105    
 106    if ( secure )
 107          cookie_string += "; secure";
 108    
 109    document.cookie = cookie_string;
 110  }
 111  
 112  // Retrieving cookies
 113  function get_cookie ( cookie_name )
 114  {
 115    var results = document.cookie.match ( cookie_name + '=(.*?)(;|$)' );
 116  
 117    if ( results )
 118      return ( unescape ( results[1] ) );
 119    else
 120      return null;
 121  }
 122  
 123  
 124  // Delete cookies 
 125  function delete_cookie ( cookie_name )
 126  {
 127    var cookie_date = new Date ( );  // current date & time
 128    cookie_date.setTime ( cookie_date.getTime() - 1 );
 129    document.cookie = cookie_name += "=; expires=" + cookie_date.toGMTString();
 130  }
 131  function goToURL( url )
 132  {
 133      document.location.href = url;
 134  }
 135      
 136  function invokeAction( actionName )
 137  {
 138      if( actionName == "newReport" )
 139      {
 140          goToURL( "?module=Reports&action=NewReport0&return_module=Reports&return_action=index" );
 141          return;
 142      }    
 143      goToURL( "/crm/ScheduleReport.do?step=showAllSchedules" );
 144  } 
 145  function verify_data(form) {
 146      var isError = false;
 147      var errorMessage = "";
 148      if (trim(form.folderName.value) == "") {
 149          isError = true;
 150          errorMessage += "\nFolder Name";
 151      }
 152      // Here we decide whether to submit the form.
 153      if (isError == true) {
 154          alert("Missing required fields:" + errorMessage);
 155          return false;
 156      }
 157      return true;
 158  }
 159  
 160  function setObjects() 
 161  {
 162      availListObj=getObj("availList")
 163      selectedColumnsObj=getObj("selectedColumns")
 164  
 165      moveupLinkObj=getObj("moveup_link")
 166      moveupDisabledObj=getObj("moveup_disabled")
 167      movedownLinkObj=getObj("movedown_link")
 168      movedownDisabledObj=getObj("movedown_disabled")
 169  }
 170  
 171  function addColumn() 
 172  {
 173      for (i=0;i<selectedColumnsObj.length;i++) 
 174      {
 175          selectedColumnsObj.options[i].selected=false
 176      }
 177      addColumnStep1();
 178  }
 179  
 180  function addColumnStep1()
 181  {
 182      if (availListObj.options.selectedIndex > -1)
 183      {
 184          for (i=0;i<availListObj.length;i++) 
 185          {
 186              if (availListObj.options[i].selected==true) 
 187              {
 188                  var rowFound=false;
 189                  for (j=0;j<selectedColumnsObj.length;j++) 
 190                  {
 191                      if (selectedColumnsObj.options[j].value==availListObj.options[i].value) 
 192                      {
 193                          var rowFound=true;
 194                          var existingObj=selectedColumnsObj.options[j];
 195                          break;
 196                      }
 197                  }
 198  
 199                  if (rowFound!=true) 
 200                  {
 201                      var newColObj=document.createElement("OPTION")
 202                      newColObj.value=availListObj.options[i].value
 203                      if (browser_ie) newColObj.innerText=availListObj.options[i].innerText
 204                      else if (browser_nn4 || browser_nn6) newColObj.text=availListObj.options[i].text
 205                      selectedColumnsObj.appendChild(newColObj)
 206                      newColObj.selected=true
 207                  } 
 208                  else 
 209                  {
 210                      existingObj.selected=true
 211                  }
 212                  availListObj.options[i].selected=false
 213                  addColumnStep1();
 214              }
 215          }
 216      }else
 217      {
 218          exit();
 219      }
 220  }
 221  
 222  function delColumn() 
 223  {
 224      if (selectedColumnsObj.options.selectedIndex > -1)
 225      {
 226          for (i=0;i < selectedColumnsObj.options.length;i++) 
 227          {
 228              if(selectedColumnsObj.options[i].selected == true)
 229              {
 230                  selectedColumnsObj.remove(i);
 231                  delColumn();
 232              }
 233          }
 234      }else
 235      {
 236          exit();
 237      }
 238  }
 239  
 240  function formSelectColumnString()
 241  {
 242      var selectedColStr = "";
 243      for (i=0;i<selectedColumnsObj.options.length;i++) 
 244      {
 245          selectedColStr += selectedColumnsObj.options[i].value + ";";
 246      }
 247      document.NewReport.selectedColumnsString.value = selectedColStr;
 248  }
 249  
 250  function moveUp() 
 251  {
 252      var currpos=selectedColumnsObj.options.selectedIndex
 253      for (i=0;i<selectedColumnsObj.length;i++) 
 254      {
 255          if(i != currpos)
 256              selectedColumnsObj.options[i].selected=false
 257      }
 258      if (currpos>0) 
 259      {
 260          var prevpos=selectedColumnsObj.options.selectedIndex-1
 261  
 262          if (browser_ie) 
 263          {
 264              temp=selectedColumnsObj.options[prevpos].innerText
 265              selectedColumnsObj.options[prevpos].innerText=selectedColumnsObj.options[currpos].innerText
 266              selectedColumnsObj.options[currpos].innerText=temp     
 267          } 
 268          else if (browser_nn4 || browser_nn6) 
 269          {
 270              temp=selectedColumnsObj.options[prevpos].text
 271              selectedColumnsObj.options[prevpos].text=selectedColumnsObj.options[currpos].text
 272              selectedColumnsObj.options[currpos].text=temp
 273          }
 274          temp=selectedColumnsObj.options[prevpos].value
 275          selectedColumnsObj.options[prevpos].value=selectedColumnsObj.options[currpos].value
 276          selectedColumnsObj.options[currpos].value=temp
 277          selectedColumnsObj.options[prevpos].selected=true
 278          selectedColumnsObj.options[currpos].selected=false
 279          }
 280          
 281  }
 282  
 283  function moveDown() 
 284  {
 285      var currpos=selectedColumnsObj.options.selectedIndex
 286      for (i=0;i<selectedColumnsObj.length;i++) 
 287      {
 288          if(i != currpos)
 289              selectedColumnsObj.options[i].selected=false
 290      }
 291      if (currpos<selectedColumnsObj.options.length-1)    
 292      {
 293          var nextpos=selectedColumnsObj.options.selectedIndex+1
 294  
 295          if (browser_ie) 
 296          {    
 297              temp=selectedColumnsObj.options[nextpos].innerText
 298              selectedColumnsObj.options[nextpos].innerText=selectedColumnsObj.options[currpos].innerText
 299              selectedColumnsObj.options[currpos].innerText=temp
 300          }
 301          else if (browser_nn4 || browser_nn6) 
 302          {
 303              temp=selectedColumnsObj.options[nextpos].text
 304              selectedColumnsObj.options[nextpos].text=selectedColumnsObj.options[currpos].text
 305              selectedColumnsObj.options[currpos].text=temp
 306          }
 307          temp=selectedColumnsObj.options[nextpos].value
 308          selectedColumnsObj.options[nextpos].value=selectedColumnsObj.options[currpos].value
 309          selectedColumnsObj.options[currpos].value=temp
 310  
 311          selectedColumnsObj.options[nextpos].selected=true
 312          selectedColumnsObj.options[currpos].selected=false
 313      }
 314  }
 315  
 316  function disableMove() 
 317  {
 318      var cnt=0
 319          for (i=0;i<selectedColumnsObj.options.length;i++) 
 320          {
 321              if (selectedColumnsObj.options[i].selected==true)
 322                  cnt++
 323          }
 324  
 325      if (cnt>1) 
 326      {
 327          moveupLinkObj.style.display=movedownLinkObj.style.display="none"
 328              moveupDisabledObj.style.display=movedownDisabledObj.style.display="block"
 329      }
 330      else 
 331      {
 332          moveupLinkObj.style.display=movedownLinkObj.style.display="block"
 333              moveupDisabledObj.style.display=movedownDisabledObj.style.display="none"
 334      }
 335  }        
 336  
 337  
 338  function hideTabs()
 339  {
 340      var objreportType = getObj('reportType');
 341      if(objreportType[0].checked == true)
 342      {
 343          divarray = new Array('step1','step2','step4','step5');
 344      }
 345      else
 346      {
 347          divarray = new Array('step1','step2','step3','step4','step5');
 348      }
 349  }
 350          
 351  function showSaveDialog()
 352  {    
 353      url = "index.php?module=Reports&action=SaveReport";
 354      window.open(url,"Save_Report","width=550,height=350,top=20,left=20;toolbar=no,status=no,menubar=no,directories=no,resizable=yes,scrollbar=no")
 355  }
 356      
 357  function saveAndRunReport()
 358  {
 359      if(selectedColumnsObj.options.length == 0)
 360      {
 361          alert("Selected Columns cannot be empty");
 362          return false;
 363      }
 364  
 365      formSelectColumnString();
 366      document.NewReport.submit();
 367  }       
 368          
 369  function changeSteps1() 
 370  {
 371      
 372      if(getObj('step5').style.display != 'none')
 373      {
 374          saveAndRunReport();
 375      }else
 376      {
 377          for(i = 0; i < divarray.length ;i++)
 378          {
 379              if(getObj(divarray[i]).style.display != 'none')
 380              {
 381                  if(i == 1 && selectedColumnsObj.options.length == 0)
 382                  {
 383                      alert("Selected Columns cannot be empty");
 384                      return false;
 385                  }    
 386                  if(divarray[i] == 'step4')
 387                  {
 388                      document.getElementById("next").value = finish_text;    
 389                  }
 390                  hide(divarray[i]);
 391                  show(divarray[i+1]);
 392                  tableid = divarray[i]+'label';
 393                  newtableid = divarray[i+1]+'label';
 394                  getObj(tableid).className = 'settingsTabList'; 
 395                  getObj(newtableid).className = 'settingsTabSelected';
 396                  document.getElementById('back_rep').disabled = false;
 397                  break;
 398              }
 399  
 400          }
 401      }
 402  }
 403  function changeStepsback1() 
 404  {
 405      if(getObj('step1').style.display != 'none')
 406      {
 407          document.NewReport.action.value='ReportsAjax';
 408          document.NewReport.file.value='NewReport0';
 409          document.NewReport.submit();
 410      }else
 411      {
 412          for(i = 0; i < divarray.length ;i++)
 413          {
 414              if(getObj(divarray[i]).style.display != 'none')
 415              {
 416                  if(divarray[i] == 'step2' && !backwalk_flag)
 417                  {
 418                      document.getElementById('back_rep').disabled = true;
 419                  }
 420                  document.getElementById("next").value = next_text+'>';    
 421                  hide(divarray[i]);
 422                  show(divarray[i-1]);
 423                  tableid = divarray[i]+'label';
 424                  newtableid = divarray[i-1]+'label';
 425                  getObj(tableid).className = 'settingsTabList'; 
 426                  getObj(newtableid).className = 'settingsTabSelected';
 427                  break;
 428              }
 429  
 430          }
 431      }
 432  }
 433  function changeSteps()
 434  {
 435      if(getObj('step1').style.display != 'none')
 436      {
 437          if (trim(document.NewRep.reportname.value) == "")
 438          {
 439              alert("Missing Report Name");
 440          }else
 441          {
 442              hide('step1');
 443              show('step2');
 444              document.getElementById('back_rep').disabled = false;
 445              getObj('step1label').className = 'settingsTabList'; 
 446              getObj('step2label').className = 'settingsTabSelected';
 447          }
 448      }
 449      else
 450      {
 451          document.NewRep.submit();
 452      }
 453  }
 454  function changeStepsback()
 455  {
 456      hide('step2');
 457      show('step1');
 458      document.getElementById('back_rep').disabled = true;
 459      getObj('step1label').className = 'settingsTabSelected'; 
 460      getObj('step2label').className = 'settingsTabList';
 461  }
 462  function editReport(id)
 463  {
 464      var arg = 'index.php?module=Reports&action=ReportsAjax&file=NewReport1&record='+id;
 465      fnPopupWin(arg);
 466  }
 467  function CreateReport(module)
 468  {
 469      var arg ='index.php?module=Reports&action=ReportsAjax&file=NewReport0&folder='+gcurrepfolderid+'&reportmodule='+module;
 470      fnPopupWin(arg);
 471  }
 472  function fnPopupWin(winName){
 473      window.open(winName, "ReportWindow","width=740px,height=625px,scrollbars=yes");
 474  }


Généré le : Sun Feb 25 10:22:19 2007 par Balluche grâce à PHPXref 0.7