change currency converted

This commit is contained in:
Yuri Kuznetsov
2014-09-26 17:54:39 +03:00
parent 2dbb44eb16
commit 2e5cef2abb
3 changed files with 19 additions and 59 deletions
@@ -30,6 +30,10 @@ class Currency extends \Espo\Core\Utils\Database\Orm\Base
{
$converedFieldName = $fieldName . 'Converted';
$currencyColumnName = Util::toUnderScore($fieldName);
$alias = Util::toUnderScore($fieldName) . "_currency_alias";
return array(
$entityName => array(
'fields' => array(
@@ -37,6 +41,20 @@ class Currency extends \Espo\Core\Utils\Database\Orm\Base
"type" => "float",
"orderBy" => $converedFieldName . " {direction}"
),
$fieldName . 'Converted' => array(
'type' => 'float',
'select' => Util::toUnderScore($entityName) . "." . $currencyColumnName . " * {$alias}.rate" ,
'where' =>
array (
"=" => Util::toUnderScore($entityName) . "." . $currencyColumnName . " * {$alias}.rate = {value}",
">" => Util::toUnderScore($entityName) . "." . $currencyColumnName . " * {$alias}.rate > {value}",
"<" => Util::toUnderScore($entityName) . "." . $currencyColumnName . " * {$alias}.rate < {value}",
">=" => Util::toUnderScore($entityName) . "." . $currencyColumnName . " * {$alias}.rate >= {value}",
"<=" => Util::toUnderScore($entityName) . "." . $currencyColumnName . " * {$alias}.rate <= {value}",
"<>" => Util::toUnderScore($entityName) . "." . $currencyColumnName . " * {$alias}.rate <> {value}"
),
'notStorable' => true
),
),
),
);
@@ -1,58 +0,0 @@
<?php
/************************************************************************
* This file is part of EspoCRM.
*
* EspoCRM - Open Source CRM application.
* Copyright (C) 2014 Yuri Kuznetsov, Taras Machyshyn, Oleksiy Avramenko
* Website: http://www.espocrm.com
*
* EspoCRM is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* EspoCRM is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
************************************************************************/
namespace Espo\Core\Utils\Database\Orm\Fields;
use Espo\Core\Utils\Util;
class CurrencyConverted extends \Espo\Core\Utils\Database\Orm\Base
{
protected function load($fieldName, $entityName)
{
$currencyColumnName = str_replace('_converted', '', Util::toUnderScore($fieldName));
$alias = $currencyColumnName . "_currency_alias";
return array(
$entityName => array(
'fields' => array(
$fieldName => array(
'type' => 'float',
'select' => Util::toUnderScore($entityName) . "." . $currencyColumnName . " * {$alias}.rate" ,
'where' =>
array (
"=" => Util::toUnderScore($entityName) . "." . $currencyColumnName . " * {$alias}.rate = {value}",
">" => Util::toUnderScore($entityName) . "." . $currencyColumnName . " * {$alias}.rate > {value}",
"<" => Util::toUnderScore($entityName) . "." . $currencyColumnName . " * {$alias}.rate < {value}",
">=" => Util::toUnderScore($entityName) . "." . $currencyColumnName . " * {$alias}.rate >= {value}",
"<=" => Util::toUnderScore($entityName) . "." . $currencyColumnName . " * {$alias}.rate <= {value}",
"<>" => Util::toUnderScore($entityName) . "." . $currencyColumnName . " * {$alias}.rate <> {value}"
),
'notStorable' => true
),
),
),
);
}
}
@@ -4,6 +4,6 @@
"filter": true,
"notCreatable": true,
"fieldDefs":{
"notStorable":true
"skip": true
}
}