[ Index ]

PHP Cross Reference of vtigercrm-6.1.0

title

Body

[close]

/modules/Documents/actions/ -> Folder.php (source)

   1  <?php
   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  class Documents_Folder_Action extends Vtiger_Action_Controller {
  12  
  13  	function __construct() {
  14          parent::__construct();
  15          $this->exposeMethod('save');
  16          $this->exposeMethod('delete');
  17      }
  18  
  19  	public function checkPermission(Vtiger_Request $request) {
  20          $moduleName = $request->getModule();
  21  
  22          if(!Users_Privileges_Model::isPermitted($moduleName, 'DetailView')) {
  23              throw new AppException(vtranslate('LBL_PERMISSION_DENIED', $moduleName));
  24          }
  25      }
  26  
  27  	public function process(Vtiger_Request $request) {
  28          $mode = $request->getMode();
  29          if(!empty($mode)) {
  30              echo $this->invokeExposedMethod($mode, $request);
  31          }
  32      }
  33  
  34  	public function save($request) {
  35          $moduleName = $request->getModule();
  36          $folderName = $request->get('foldername');
  37          $folderDesc = $request->get('folderdesc');
  38          $result = array();
  39  
  40          if (!empty ($folderName)) {
  41              $folderModel = Documents_Folder_Model::getInstance();
  42              $folderModel->set('foldername', $folderName);
  43              $folderModel->set('description', $folderDesc);
  44  
  45              if ($folderModel->checkDuplicate()) {
  46                  throw new AppException(vtranslate('LBL_FOLDER_EXISTS', $moduleName));
  47                  exit;
  48              }
  49  
  50              $folderModel->save();
  51              $result = array('success'=>true, 'message'=>vtranslate('LBL_FOLDER_SAVED', $moduleName), 'info'=>$folderModel->getInfoArray());
  52  
  53              $response = new Vtiger_Response();
  54              $response->setResult($result);
  55              $response->emit();
  56          }
  57      }
  58  
  59  
  60  	public function delete($request) {
  61          $moduleName = $request->getModule();
  62          $folderId = $request->get('folderid');
  63          $result = array();
  64  
  65          if (!empty ($folderId)) {
  66              $folderModel = Documents_Folder_Model::getInstanceById($folderId);
  67              if (!($folderModel->hasDocuments())) {
  68                  $folderModel->delete();
  69                  $result = array('success'=>true, 'message'=>vtranslate('LBL_FOLDER_DELETED', $moduleName));
  70              } else {
  71                  $result = array('success'=>false, 'message'=>vtranslate('LBL_FOLDER_HAS_DOCUMENTS', $moduleName));
  72              }
  73          }
  74  
  75          $response = new Vtiger_Response();
  76          $response->setResult($result);
  77          $response->emit();
  78      }
  79          
  80          public function validateRequest(Vtiger_Request $request) { 
  81              $request->validateWriteAccess(); 
  82          } 
  83  }


Generated: Fri Nov 28 20:08:37 2014 Cross-referenced by PHPXref 0.7.1