Account Suspended
Account Suspended
This Account has been suspended.
Contact your hosting provider for more information.
 All Data Structures Functions Variables Pages
CurrencyValueElement.php
1 <?php
2  /*********************************************************************************
3  * Zurmo is a customer relationship management program developed by
4  * Zurmo, Inc. Copyright (C) 2017 Zurmo Inc.
5  *
6  * Zurmo is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU Affero General Public License version 3 as published by the
8  * Free Software Foundation with the addition of the following permission added
9  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
10  * IN WHICH THE COPYRIGHT IS OWNED BY ZURMO, ZURMO DISCLAIMS THE WARRANTY
11  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
12  *
13  * Zurmo is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15  * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Affero General Public License along with
19  * this program; if not, see http://www.gnu.org/licenses or write to the Free
20  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21  * 02110-1301 USA.
22  *
23  * You can contact Zurmo, Inc. with a mailing address at 27 North Wacker Drive
24  * Suite 370 Chicago, IL 60606. or at email address contact@zurmo.com.
25  *
26  * The interactive user interfaces in original and modified versions
27  * of this program must display Appropriate Legal Notices, as required under
28  * Section 5 of the GNU Affero General Public License version 3.
29  *
30  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
31  * these Appropriate Legal Notices must retain the display of the Zurmo
32  * logo and Zurmo copyright notice. If the display of the logo is not reasonably
33  * feasible for technical reasons, the Appropriate Legal Notices must display the words
34  * "Copyright Zurmo Inc. 2017. All rights reserved".
35  ********************************************************************************/
36 
42  {
49  protected function renderControlEditable()
50  {
51  assert('$this->model->{$this->attribute} instanceof CurrencyValue');
52  $currencyValueModel = $this->model->{$this->attribute};
53  $params = array();
54  $params['inputPrefix'] = $this->resolveInputPrefix();
55  $this->resolveParamsForCurrencyId($params);
56  //need to somehow override to pass not to default to currency
57  $activeCurrenciesElement = new CurrencyIdForAModelsRelatedCurrencyValueDropDownElement(
58  $this->model, $this->attribute, $this->form, $params);
59  $activeCurrenciesElement->editableTemplate = '{content}';
60  $content = '<div class="hasParallelFields">';
61  $content .= ZurmoHtml::tag('div', array('class' => 'quarter'), $activeCurrenciesElement->render());
62  $content .= ZurmoHtml::tag('div', array('class' => 'threeQuarters'),
63  $this->renderEditableValueTextField($currencyValueModel, $this->form, $this->attribute, 'value', $this->model));
64  $content .= $this->renderExtraEditableContent();
65  $content .= '</div>';
66  return $content;
67  }
68 
69  protected function renderEditableValueTextField($model, $form, $inputNameIdPrefix, $attribute, $parentModel = null)
70  {
71  //need to override a resolveValue to NOT default to 0 if not specifically null
72  $id = $this->getEditableInputId($inputNameIdPrefix, $attribute);
73  $htmlOptions = array(
74  'name' => $this->getEditableInputName($inputNameIdPrefix, $attribute),
75  'id' => $id,
76  'value' => $this->resolveAndGetEditableValue($model, $attribute),
77  );
78  $additionalHtmlOptions = $this->getHtmlOptions();
79  $htmlOptions = array_merge($htmlOptions, $additionalHtmlOptions);
80  $textField = $form->textField($model, $attribute, $htmlOptions);
81  $error = $form->error ($model, $attribute, array('inputID' => $id), true, true,
82  $this->renderScopedErrorId($inputNameIdPrefix, $attribute));
83  return $textField . $error;
84  }
85 
91  protected function renderControlNonEditable()
92  {
93  assert('$this->model->{$this->attribute} instanceof CurrencyValue');
94  $currencyValueModel = $this->model->{$this->attribute};
95  return Yii::app()->numberFormatter->formatCurrency((float)$currencyValueModel->value,
96  $currencyValueModel->currency->code);
97  }
98 
99  protected function renderError()
100  {
101  }
102 
103  protected function renderLabel()
104  {
105  if ($this->form === null)
106  {
107  return $this->getFormattedAttributeLabel();
108  }
109  $id = $this->getEditableInputId($this->attribute, 'value');
110  return $this->form->labelEx($this->model, $this->attribute, array('for' => $id));
111  }
112 
116  protected function renderExtraEditableContent()
117  {
118  }
119 
123  protected function resolveParamsForCurrencyId(& $params)
124  {
125  $params['htmlOptions'] = $this->getHtmlOptions();
126  }
127 
128  protected function resolveAndGetEditableValue($model, $attribute)
129  {
130  return $model->$attribute;
131  }
132  }
133 ?>
resolveInputPrefix()
Definition: Element.php:340
Generated on Fri Sep 25 2020 07:10:35
Account Suspended
Account Suspended
This Account has been suspended.
Contact your hosting provider for more information.