Files
crm.clientright.ru/modules/Settings/Webforms/models/Module.php

127 lines
3.8 KiB
PHP
Raw Normal View History

<?php
/*+***********************************************************************************
* The contents of this file are subject to the vtiger CRM Public License Version 1.0
* ("License"); You may not use this file except in compliance with the License
* The Original Code is: vtiger CRM Open Source
* The Initial Developer of the Original Code is vtiger.
* Portions created by vtiger are Copyright (C) vtiger.
* All Rights Reserved.
*************************************************************************************/
class Settings_Webforms_Module_Model extends Settings_Vtiger_Module_Model {
var $baseTable = 'vtiger_webforms';
var $baseIndex = 'id';
var $nameFields = array('name');
var $listFields = array('name'=>'WebForm Name', 'targetmodule' => 'Module', 'publicid'=>'Public Id', 'returnurl' => 'Return Url', 'enabled' => 'Status');
var $name = 'Webforms';
var $allowedAllFilesSize = 52428800; //50MB
public static function getSupportedModulesList() {
$webformModules = array('Contacts', 'Accounts', 'Leads', 'Potentials', 'HelpDesk', 'Vendors');
$sourceModule = array();
foreach ($webformModules as $key => $moduleName) {
$moduleModel = Vtiger_Module_Model::getInstance($moduleName);
$presenceValues = array(0,2);
if($moduleModel && in_array($moduleModel->presence, $presenceValues)){
$sourceModule[$moduleName] = vtranslate($moduleName, $moduleName);
}
}
return $sourceModule;
}
/**
* Function to get Create view url
* @return <String> Url
*/
public function getCreateRecordUrl() {
return "index.php?module=".$this->getName()."&parent=".$this->getParentName()."&view=Edit";
}
/**
* Function to get List view url
* @return <String> Url
*/
public function getListViewUrl() {
return "index.php?module=".$this->getName()."&parent=".$this->getParentName()."&view=List";
}
/**
* Function to get list of Blocks
* @return <Array> list of Block models <Settings_Webforms_Block_Model>
*/
public function getBlocks() {
if(empty($this->blocks)) {
$this->blocks = Settings_Webforms_Block_Model::getAllForModule($this);
}
return $this->blocks;
}
/**
* Function to get list of fields
* @return <Array> list of Field models <Settings_Webforms_Field_Model>
*/
public function getFields() {
if (!$this->fields) {
$fieldsList = array();
$blocks = $this->getBlocks();
foreach ($blocks as $blockModel) {
$fieldsList = array_merge($fieldsList, $blockModel->getFields());
}
$this->fields = $fieldsList;
}
return $this->fields;
}
/**
* Function to get field using field name
* @param <String> $fieldName
* @return <Settings_Webforms_Field_Model>
*/
public function getField($fieldName) {
$fields = $this->getFields();
return $fields[$fieldName];
}
/**
* Function to delete record
* @param <Settings_Webforms_Record_Model> $recordModel
* @return <boolean> true
*/
public function deleteRecord($recordModel) {
$recordId = $recordModel->getId();
$db = PearDatabase::getInstance();
$db->pquery("DELETE from vtiger_webforms_field WHERE webformid = ?", array($recordId));
$db->pquery("DELETE from vtiger_webforms WHERE id = ?", array($recordId));
return true;
}
/**
* Function to get Module Header Links (for Vtiger7)
* @return array
*/
public function getModuleBasicLinks(){
$createPermission = Users_Privileges_Model::isPermitted($this->getName(), 'CreateView');
$moduleName = $this->getName();
$basicLinks = array();
if($createPermission) {
$basicLinks[] = array(
'linktype' => 'BASIC',
'linklabel' => 'LBL_ADD_RECORD',
'linkurl' => $this->getCreateRecordUrl(),
'linkicon' => 'fa-plus'
);
}
return $basicLinks;
}
function isStarredEnabled(){
return false;
}
public function allowedAllFilesSize() {
return $this->allowedAllFilesSize;
}
}