PATH:
home
/
letacommog
/
crmleta
/
modules
/
Inventory
/
models
<?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. *************************************************************************************/ /** * Inventory Module Model Class */ class Inventory_Module_Model extends Vtiger_Module_Model { /** * Function to check whether the module is an entity type module or not * @return <Boolean> true/false */ public function isQuickCreateSupported(){ //SalesOrder module is not enabled for quick create return false; } /** * Function to check whether the module is summary view supported * @return <Boolean> - true/false */ public function isSummaryViewSupported() { return true; } public function isCommentEnabled() { return true; } static function getAllCurrencies() { return getAllCurrencies(); } static function getAllProductTaxes() { $taxes = array(); $availbleTaxes = getAllTaxes('available'); foreach ($availbleTaxes as $taxInfo) { if ($taxInfo['method'] === 'Deducted') { continue; } $taxInfo['compoundon'] = Zend_Json::decode(html_entity_decode($taxInfo['compoundon'])); $taxInfo['regions'] = Zend_Json::decode(html_entity_decode($taxInfo['regions'])); $taxes[$taxInfo['taxid']] = $taxInfo; } return $taxes; } static function getAllShippingTaxes() { return Inventory_Charges_Model::getChargeTaxesList(); } /** * Function to get relation query for particular module with function name * @param <record> $recordId * @param <String> $functionName * @param Vtiger_Module_Model $relatedModule * @return <String> */ public function getRelationQuery($recordId, $functionName, $relatedModule, $relationId) { if ($functionName === 'get_activities') { $userNameSql = getSqlForNameInDisplayFormat(array('first_name' => 'vtiger_users.first_name', 'last_name' => 'vtiger_users.last_name'), 'Users'); $query = "SELECT CASE WHEN (vtiger_users.user_name not like '') THEN $userNameSql ELSE vtiger_groups.groupname END AS user_name, vtiger_crmentity.*, vtiger_activity.activitytype, vtiger_activity.subject, vtiger_activity.date_start, vtiger_activity.time_start, vtiger_activity.recurringtype, vtiger_activity.due_date, vtiger_activity.time_end, vtiger_activity.visibility, vtiger_seactivityrel.crmid AS parent_id, CASE WHEN (vtiger_activity.activitytype = 'Task') THEN (vtiger_activity.status) ELSE (vtiger_activity.eventstatus) END AS status FROM vtiger_activity INNER JOIN vtiger_crmentity ON vtiger_crmentity.crmid = vtiger_activity.activityid LEFT JOIN vtiger_seactivityrel ON vtiger_seactivityrel.activityid = vtiger_activity.activityid LEFT JOIN vtiger_cntactivityrel ON vtiger_cntactivityrel.activityid = vtiger_activity.activityid LEFT JOIN vtiger_users ON vtiger_users.id = vtiger_crmentity.smownerid LEFT JOIN vtiger_groups ON vtiger_groups.groupid = vtiger_crmentity.smownerid WHERE vtiger_crmentity.deleted = 0 AND vtiger_activity.activitytype <> 'Emails' AND vtiger_seactivityrel.crmid = ".$recordId; $relatedModuleName = $relatedModule->getName(); $query .= $this->getSpecificRelationQuery($relatedModuleName); $nonAdminQuery = $this->getNonAdminAccessControlQueryForRelation($relatedModuleName); if ($nonAdminQuery) { $query = appendFromClauseToQuery($query, $nonAdminQuery); if(trim($nonAdminQuery)) { $relModuleFocus = CRMEntity::getInstance($relatedModuleName); $condition = $relModuleFocus->buildWhereClauseConditionForCalendar(); if($condition) { $query .= ' AND '.$condition; } } } } else { $query = parent::getRelationQuery($recordId, $functionName, $relatedModule, $relationId); } return $query; } /** * Function returns export query * @param <String> $where * @return <String> export query */ public function getExportQuery($focus, $query) { $baseTableName = $focus->table_name; $splitQuery = preg_split('/ FROM /i', $query); $columnFields = explode(',', $splitQuery[0]); foreach ($columnFields as $key => &$value) { if($value == ' vtiger_inventoryproductrel.discount_amount'){ $value = ' vtiger_inventoryproductrel.discount_amount AS item_discount_amount'; } else if($value == ' vtiger_inventoryproductrel.discount_percent'){ $value = ' vtiger_inventoryproductrel.discount_percent AS item_discount_percent'; } else if($value == " $baseTableName.currency_id"){ $value = ' vtiger_currency_info.currency_name AS currency_id'; } } $joinSplit = preg_split('/ WHERE /i',$splitQuery[1]); $joinSplit[0] .= " LEFT JOIN vtiger_currency_info ON vtiger_currency_info.id = $baseTableName.currency_id"; $splitQuery[1] = $joinSplit[0] . ' WHERE ' .$joinSplit[1]; $query = implode(',', $columnFields).' FROM ' . $splitQuery[1]; return $query; } /* * Function to get supported utility actions for a module */ function getUtilityActionsNames() { return array('Import', 'Export'); } }
[+]
..
[-] Module.php
[edit]
[-] MassEditRecordStructure.php
[edit]
[-] EditRecordStructure.php
[edit]
[-] ListView.php
[edit]
[-] Record.php
[edit]
[-] TaxRegion.php
[edit]
[-] FilterRecordStructure.php
[edit]
[-] DetailView.php
[edit]
[-] Charges.php
[edit]
[-] RelationListView.php
[edit]
[-] TaxRecord.php
[edit]