Merge pull request #10155 from totten/master-pdf-save2
[civicrm-core.git] / CRM / Financial / DAO / FinancialType.php
CommitLineData
e501603b
TO
1<?php
2/*
3+--------------------------------------------------------------------+
4| CiviCRM version 4.7 |
5+--------------------------------------------------------------------+
0f03f337 6| Copyright CiviCRM LLC (c) 2004-2017 |
e501603b
TO
7+--------------------------------------------------------------------+
8| This file is a part of CiviCRM. |
9| |
10| CiviCRM is free software; you can copy, modify, and distribute it |
11| under the terms of the GNU Affero General Public License |
12| Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
13| |
14| CiviCRM is distributed in the hope that it will be useful, but |
15| WITHOUT ANY WARRANTY; without even the implied warranty of |
16| MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
17| See the GNU Affero General Public License for more details. |
18| |
19| You should have received a copy of the GNU Affero General Public |
20| License and the CiviCRM Licensing Exception along |
21| with this program; if not, contact CiviCRM LLC |
22| at info[AT]civicrm[DOT]org. If you have questions about the |
23| GNU Affero General Public License or the licensing of CiviCRM, |
24| see the CiviCRM license FAQ at http://civicrm.org/licensing |
25+--------------------------------------------------------------------+
26*/
27/**
28 * @package CRM
0f03f337 29 * @copyright CiviCRM LLC (c) 2004-2017
e501603b
TO
30 *
31 * Generated from xml/schema/CRM/Financial/FinancialType.xml
32 * DO NOT EDIT. Generated by CRM_Core_CodeGen
e7a6b91a 33 * (GenCodeChecksum:9d787931917508983d68631821eea721)
e501603b
TO
34 */
35require_once 'CRM/Core/DAO.php';
36require_once 'CRM/Utils/Type.php';
f41f0342 37/**
38 * CRM_Financial_DAO_FinancialType constructor.
39 */
e501603b
TO
40class CRM_Financial_DAO_FinancialType extends CRM_Core_DAO {
41 /**
f41f0342 42 * Static instance to hold the table name.
e501603b
TO
43 *
44 * @var string
45 */
46 static $_tableName = 'civicrm_financial_type';
e501603b 47 /**
f41f0342 48 * Should CiviCRM log any modifications to this table in the civicrm_log table.
e501603b
TO
49 *
50 * @var boolean
51 */
52 static $_log = true;
53 /**
54 * ID of original financial_type so you can search this table by the financial_type.id and then select the relevant version based on the timestamp
55 *
56 * @var int unsigned
57 */
58 public $id;
59 /**
60 * Financial Type Name.
61 *
62 * @var string
63 */
64 public $name;
65 /**
66 * Financial Type Description.
67 *
68 * @var string
69 */
70 public $description;
71 /**
72 * Is this financial type tax-deductible? If true, contributions of this type may be fully OR partially deductible - non-deductible amount is stored in the Contribution record.
73 *
74 * @var boolean
75 */
76 public $is_deductible;
77 /**
78 * Is this a predefined system object?
79 *
80 * @var boolean
81 */
82 public $is_reserved;
83 /**
84 * Is this property active?
85 *
86 * @var boolean
87 */
88 public $is_active;
89 /**
f41f0342 90 * Class constructor.
e501603b
TO
91 */
92 function __construct() {
93 $this->__table = 'civicrm_financial_type';
94 parent::__construct();
95 }
96 /**
97 * Returns all the column names of this table
98 *
99 * @return array
100 */
101 static function &fields() {
346aaaba
TO
102 if (!isset(Civi::$statics[__CLASS__]['fields'])) {
103 Civi::$statics[__CLASS__]['fields'] = array(
e501603b
TO
104 'id' => array(
105 'name' => 'id',
106 'type' => CRM_Utils_Type::T_INT,
107 'title' => ts('Financial Type ID') ,
108 'description' => 'ID of original financial_type so you can search this table by the financial_type.id and then select the relevant version based on the timestamp',
109 'required' => true,
522a26c9 110 'table_name' => 'civicrm_financial_type',
111 'entity' => 'FinancialType',
112 'bao' => 'CRM_Financial_BAO_FinancialType',
6a7e5e5d 113 'localizable' => 0,
e501603b
TO
114 ) ,
115 'financial_type' => array(
116 'name' => 'name',
117 'type' => CRM_Utils_Type::T_STRING,
118 'title' => ts('Financial Type') ,
119 'description' => 'Financial Type Name.',
120 'required' => true,
121 'maxlength' => 64,
122 'size' => CRM_Utils_Type::BIG,
123 'import' => true,
124 'where' => 'civicrm_financial_type.name',
125 'headerPattern' => '/(finan(cial)?)?type/i',
126 'dataPattern' => '/donation|member|campaign/i',
127 'export' => true,
522a26c9 128 'table_name' => 'civicrm_financial_type',
129 'entity' => 'FinancialType',
130 'bao' => 'CRM_Financial_BAO_FinancialType',
6a7e5e5d 131 'localizable' => 0,
e501603b
TO
132 ) ,
133 'description' => array(
134 'name' => 'description',
135 'type' => CRM_Utils_Type::T_STRING,
136 'title' => ts('Description') ,
137 'description' => 'Financial Type Description.',
138 'maxlength' => 255,
139 'size' => CRM_Utils_Type::HUGE,
522a26c9 140 'table_name' => 'civicrm_financial_type',
141 'entity' => 'FinancialType',
142 'bao' => 'CRM_Financial_BAO_FinancialType',
6a7e5e5d 143 'localizable' => 0,
e501603b
TO
144 ) ,
145 'is_deductible' => array(
146 'name' => 'is_deductible',
147 'type' => CRM_Utils_Type::T_BOOLEAN,
148 'title' => ts('Is Tax Deductible?') ,
149 'description' => 'Is this financial type tax-deductible? If true, contributions of this type may be fully OR partially deductible - non-deductible amount is stored in the Contribution record.',
150 'default' => '1',
522a26c9 151 'table_name' => 'civicrm_financial_type',
152 'entity' => 'FinancialType',
153 'bao' => 'CRM_Financial_BAO_FinancialType',
6a7e5e5d 154 'localizable' => 0,
e501603b
TO
155 ) ,
156 'is_reserved' => array(
157 'name' => 'is_reserved',
158 'type' => CRM_Utils_Type::T_BOOLEAN,
159 'title' => ts('Financial Type is Reserved?') ,
160 'description' => 'Is this a predefined system object?',
522a26c9 161 'table_name' => 'civicrm_financial_type',
162 'entity' => 'FinancialType',
163 'bao' => 'CRM_Financial_BAO_FinancialType',
6a7e5e5d 164 'localizable' => 0,
e501603b
TO
165 ) ,
166 'is_active' => array(
167 'name' => 'is_active',
168 'type' => CRM_Utils_Type::T_BOOLEAN,
169 'title' => ts('Financial Type Is Active?') ,
170 'description' => 'Is this property active?',
522a26c9 171 'table_name' => 'civicrm_financial_type',
172 'entity' => 'FinancialType',
173 'bao' => 'CRM_Financial_BAO_FinancialType',
6a7e5e5d 174 'localizable' => 0,
e501603b
TO
175 ) ,
176 );
346aaaba 177 CRM_Core_DAO_AllCoreTables::invoke(__CLASS__, 'fields_callback', Civi::$statics[__CLASS__]['fields']);
e501603b 178 }
346aaaba 179 return Civi::$statics[__CLASS__]['fields'];
e501603b
TO
180 }
181 /**
bd8e0b14 182 * Return a mapping from field-name to the corresponding key (as used in fields()).
e501603b
TO
183 *
184 * @return array
bd8e0b14 185 * Array(string $name => string $uniqueName).
e501603b
TO
186 */
187 static function &fieldKeys() {
bd8e0b14
TO
188 if (!isset(Civi::$statics[__CLASS__]['fieldKeys'])) {
189 Civi::$statics[__CLASS__]['fieldKeys'] = array_flip(CRM_Utils_Array::collect('name', self::fields()));
e501603b 190 }
bd8e0b14 191 return Civi::$statics[__CLASS__]['fieldKeys'];
e501603b
TO
192 }
193 /**
194 * Returns the names of this table
195 *
196 * @return string
197 */
198 static function getTableName() {
199 return self::$_tableName;
200 }
201 /**
202 * Returns if this table needs to be logged
203 *
204 * @return boolean
205 */
206 function getLog() {
207 return self::$_log;
208 }
209 /**
210 * Returns the list of fields that can be imported
211 *
212 * @param bool $prefix
213 *
214 * @return array
215 */
216 static function &import($prefix = false) {
60808919
TO
217 $r = CRM_Core_DAO_AllCoreTables::getImports(__CLASS__, 'financial_type', $prefix, array());
218 return $r;
e501603b
TO
219 }
220 /**
221 * Returns the list of fields that can be exported
222 *
223 * @param bool $prefix
224 *
225 * @return array
226 */
227 static function &export($prefix = false) {
60808919
TO
228 $r = CRM_Core_DAO_AllCoreTables::getExports(__CLASS__, 'financial_type', $prefix, array());
229 return $r;
e501603b 230 }
e7a6b91a
AS
231 /**
232 * Returns the list of indices
233 */
234 public static function indices($localize = TRUE) {
235 $indices = array(
236 'UI_id' => array(
237 'name' => 'UI_id',
238 'field' => array(
239 0 => 'id',
240 ) ,
241 'localizable' => false,
242 'unique' => true,
243 'sig' => 'civicrm_financial_type::1::id',
244 ) ,
245 );
246 return ($localize && !empty($indices)) ? CRM_Core_DAO_AllCoreTables::multilingualize(__CLASS__, $indices) : $indices;
247 }
e501603b 248}