96 lines
4.0 KiB
PHP
96 lines
4.0 KiB
PHP
|
|
<?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 ITS4YouReports_Field_Model extends Vtiger_Field_Model {
|
||
|
|
|
||
|
|
static function getPicklistValueByField($fieldName) {
|
||
|
|
$picklistValues = false;
|
||
|
|
if ($fieldName == 'reporttype') {
|
||
|
|
$picklistValues = [
|
||
|
|
'tabular' => vtranslate('tabular', 'ITS4YouReports'),
|
||
|
|
'summaries' => vtranslate('summaries', 'ITS4YouReports'),
|
||
|
|
'summaries_w_details' => vtranslate('summaries_w_details', 'ITS4YouReports'),
|
||
|
|
'summaries_matrix' => vtranslate('summaries_matrix', 'ITS4YouReports'),
|
||
|
|
];
|
||
|
|
global $current_user;
|
||
|
|
if (is_admin($current_user)) {
|
||
|
|
$picklistValues['custom_report'] = vtranslate('LBL_CUSTOM_REPORT', 'ITS4YouReports');
|
||
|
|
}
|
||
|
|
} else if ($fieldName == 'foldername') {
|
||
|
|
$allFolders = ITS4YouReports_Folder_Model::getAll();
|
||
|
|
foreach ($allFolders as $folder) {
|
||
|
|
$picklistValues[$folder->get('folderid')] = vtranslate($folder->get('foldername'), 'ITS4YouReports');
|
||
|
|
}
|
||
|
|
} else if ($fieldName == 'owner') {
|
||
|
|
$currentUserModel = Users_Record_Model::getCurrentUserModel();
|
||
|
|
$allUsers = $currentUserModel->getAccessibleUsers();
|
||
|
|
foreach ($allUsers as $userId => $userName) {
|
||
|
|
$picklistValues[$userId] = $userName;
|
||
|
|
}
|
||
|
|
} else if ($fieldName == 'tablabel') {
|
||
|
|
$reportModel = ITS4YouReports_Record_Model::getCleanInstance();
|
||
|
|
$picklistValues = $reportModel->getModulesList();
|
||
|
|
}
|
||
|
|
|
||
|
|
return $picklistValues;
|
||
|
|
}
|
||
|
|
|
||
|
|
static function getFieldInfoByField($fieldName) {
|
||
|
|
$fieldInfo = [
|
||
|
|
'mandatory' => false,
|
||
|
|
'presence' => true,
|
||
|
|
'quickcreate' => false,
|
||
|
|
'masseditable' => false,
|
||
|
|
'defaultvalue' => false,
|
||
|
|
];
|
||
|
|
if ($fieldName == 'reportname') {
|
||
|
|
$fieldInfo['type'] = 'string';
|
||
|
|
$fieldInfo['name'] = $fieldName;
|
||
|
|
$fieldInfo['label'] = 'Report Name';
|
||
|
|
} else if ($fieldName == 'description') {
|
||
|
|
$fieldInfo['type'] = 'string';
|
||
|
|
$fieldInfo['name'] = $fieldName;
|
||
|
|
$fieldInfo['label'] = 'Description';
|
||
|
|
} else if ($fieldName == 'reporttype') {
|
||
|
|
$fieldInfo['type'] = 'picklist';
|
||
|
|
$fieldInfo['name'] = $fieldName;
|
||
|
|
$fieldInfo['label'] = 'Report Type';
|
||
|
|
$fieldInfo['picklistvalues'] = self::getPicklistValueByField($fieldName);
|
||
|
|
} else if ($fieldName == 'owner') {
|
||
|
|
$fieldInfo['type'] = 'user';
|
||
|
|
$fieldInfo['name'] = $fieldName;
|
||
|
|
$fieldInfo['label'] = 'LBL_TEMPLATE_OWNER';
|
||
|
|
$fieldInfo['picklistvalues'] = self::getPicklistValueByField($fieldName);
|
||
|
|
} else if ($fieldName == 'foldername') {
|
||
|
|
$fieldInfo['type'] = 'picklist';
|
||
|
|
$fieldInfo['name'] = $fieldName;
|
||
|
|
$fieldInfo['label'] = 'LBL_FOLDER_NAME';
|
||
|
|
$fieldInfo['picklistvalues'] = self::getPicklistValueByField($fieldName);
|
||
|
|
} else {
|
||
|
|
$fieldInfo = false;
|
||
|
|
}
|
||
|
|
|
||
|
|
return $fieldInfo;
|
||
|
|
}
|
||
|
|
|
||
|
|
static function getListViewFieldsInfo() {
|
||
|
|
$fields = ['reportname', 'reporttype', 'foldername', 'tablabel', 'owner', 'description'];
|
||
|
|
$fieldsInfo = [];
|
||
|
|
foreach ($fields as $field) {
|
||
|
|
$fieldsInfo[$field] = ITS4YouReports_Field_Model::getFieldInfoByField($field);
|
||
|
|
}
|
||
|
|
|
||
|
|
return Zend_Json::encode($fieldsInfo);
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
?>
|