source: trunk/Application/FormClasses.php@ 844

Last change on this file since 844 was 844, checked in by chronos, 8 years ago
  • Added: Autocreate new finance year if necessary for new document line items.
File size: 16.8 KB
Line 
1<?php
2
3// TODO: Split all form class definitions to modules
4
5function RegisterFormClasses($FormManager)
6{
7 $FormManager->Classes = array(
8 'UserCustomerRel' => array(
9 'Title' => 'Vztahy uživatel - zákazník',
10 'Table' => 'UserCustomerRel',
11 'Items' => array(
12 'User' => array('Type' => 'TUser', 'Caption' => 'Uživatel', 'Default' => ''),
13 'Customer' => array('Type' => 'TMember', 'Caption' => 'Zákazník', 'Default' => ''),
14 ),
15 ),
16 'FinanceInvoiceOperationRel' => array(
17 'Title' => 'Zaplacení faktůr',
18 'Table' => 'FinanceInvoiceOperationRel',
19 'Items' => array(
20 'Invoice' => array('Type' => 'TFinanceInvoice', 'Caption' => 'Faktura', 'Default' => ''),
21 'Operation' => array('Type' => 'TFinanceOperation', 'Caption' => 'Platba', 'Default' => ''),
22 ),
23 ),
24 'DocumentLine' => array(
25 'Title' => 'Dokladové řady',
26 'Table' => 'DocumentLine',
27 'DefaultSortColumn' => 'Name',
28 'Items' => array(
29 'Name' => array('Type' => 'String', 'Caption' => 'Jméno', 'Default' => ''),
30 'Shortcut' => array('Type' => 'String', 'Caption' => 'Kód', 'Default' => ''),
31 'Yearly' => array('Type' => 'Boolean', 'Caption' => 'Ročně', 'Default' => 0),
32 'Sequence' => array('Type' => 'TDocumentLineSequenceListLine', 'Caption' => 'Čísleníky', 'Default' => ''),
33 'Codes' => array('Type' => 'TDocumentLineCodeList', 'Caption' => 'Kódy', 'Default' => ''),
34 'Operations' => array('Type' => 'TFinanceOperationGroupListDocumentLine', 'Caption' => 'Skupiny finančních operací', 'Default' => ''),
35 'Invoices' => array('Type' => 'TFinanceInvoiceGroupListDocumentLine', 'Caption' => 'Skupiny faktur', 'Default' => ''),
36 ),
37 ),
38 'DocumentLineSequence' => array(
39 'Title' => 'Čísleníky dokladových řad',
40 'Table' => 'DocumentLineSequence',
41 'DefaultSortColumn' => 'Id',
42 'Items' => array(
43 'DocumentLine' => array('Type' => 'TDocumentLine', 'Caption' => 'Dokladová řada', 'Default' => ''),
44 'FinanceYear' => array('Type' => 'TFinanceYear', 'Caption' => 'Účetní rok', 'Default' => ''),
45 'NextNumber' => array('Type' => 'Integer', 'Caption' => 'Další číslo', 'Default' => '1'),
46 'YearPrefix' => array('Type' => 'Boolean', 'Caption' => 'Rok jako přípona', 'Default' => '1'),
47 ),
48 ),
49 'DocumentLineCode' => array(
50 'Title' => 'Kód dokladových řad',
51 'Table' => 'DocumentLineCode',
52 'DefaultSortColumn' => 'Name',
53 'Items' => array(
54 'DocumentLine' => array('Type' => 'TDocumentLine', 'Caption' => 'Dokladová řada', 'Default' => ''),
55 'Name' => array('Type' => 'String', 'Caption' => 'Název', 'Default' => ''),
56 ),
57 ),
58 'FinanceYear' => array(
59 'Title' => 'Účetní roky',
60 'Table' => 'FinanceYear',
61 'DefaultSortColumn' => 'Year',
62 'DefaultSortOrder' => 1,
63 'Items' => array(
64 'Year' => array('Type' => 'Integer', 'Caption' => 'Rok', 'Default' => ''),
65 'DateStart' => array('Type' => 'Date', 'Caption' => 'První den', 'Default' => ''),
66 'DateEnd' => array('Type' => 'Date', 'Caption' => 'Poslední den', 'Default' => ''),
67 'Closed' => array('Type' => 'Boolean', 'Caption' => 'Uzavřen', 'Default' => 0),
68 'Sequence' => array('Type' => 'TDocumentLineSequenceListYear', 'Caption' => 'Čísleníky', 'Default' => ''),
69 ),
70 //'AfterInsert' => array($this, 'AfterInsertFinanceYear'),
71 ),
72 'FinanceYearReport' => array(
73 'Title' => 'Roční výkaz',
74 'Table' => 'FinanceYearReport',
75 'SQL' => 'SELECT Id, DateEnd, DateStart FROM FinanceYear',
76 'DefaultSortColumn' => 'Id',
77 'Items' => array(
78 'Id' => array('Type' => 'TFinanceYear', 'Caption' => 'Rok', 'Default' => '',
79 'ReadOnly' => true),
80 'Income' => array('Type' => 'Integer', 'Caption' => 'Příjmy', 'Default' => '0', 'Suffix' => 'Kč', 'ReadOnly' => true,
81 'SQL' => '(SELECT ROUND(SUM(`FinanceOperation`.`Value`)) FROM `FinanceOperation` '.
82 'LEFT JOIN `FinanceOperationGroup` ON `FinanceOperationGroup`.`Id`=`FinanceOperation`.`Group` '.
83 'WHERE (`FinanceOperation`.`Time` <= `DateEnd`) '.
84 'AND (`FinanceOperation`.`Time` >= `DateStart`) AND (`FinanceOperationGroup`.`ValueSign` = 1))'),
85 'Spending' => array('Type' => 'Integer', 'Caption' => 'Výdaje', 'Default' => '0', 'Suffix' => 'Kč', 'ReadOnly' => true,
86 'SQL' => '(SELECT -ROUND(SUM(`FinanceOperation`.`Value`)) FROM `FinanceOperation` '.
87 'LEFT JOIN `FinanceOperationGroup` ON `FinanceOperationGroup`.`Id`=`FinanceOperation`.`Group` '.
88 'WHERE (`FinanceOperation`.`Time` <= `DateEnd`) '.
89 'AND (`FinanceOperation`.`Time` >= `DateStart`) AND (`FinanceOperationGroup`.`ValueSign` = -1))'),
90 'OperationBalance' => array('Type' => 'Integer', 'Caption' => 'Zisk', 'Default' => '0', 'Suffix' => 'Kč', 'ReadOnly' => true,
91 'SQL' => '(SELECT ROUND(SUM(`FinanceOperation`.`Value`)) FROM `FinanceOperation` '.
92 'WHERE (`FinanceOperation`.`Time` <= `DateEnd`) '.
93 'AND (`FinanceOperation`.`Time` >= `DateStart`))'),
94 'TaxIncome' => array('Type' => 'Integer', 'Caption' => 'Daňové příjmy', 'Default' => '0', 'Suffix' => 'Kč', 'ReadOnly' => true,
95 'SQL' => '(SELECT ROUND(SUM(`FinanceOperation`.`Value`)) FROM `FinanceOperation` '.
96 'LEFT JOIN `FinanceOperationGroup` ON `FinanceOperationGroup`.`Id`=`FinanceOperation`.`Group` '.
97 'WHERE (`FinanceOperation`.`Time` <= `DateEnd`) '.
98 'AND (`FinanceOperation`.`Time` >= `DateStart`) AND (`FinanceOperation`.`Taxable` = 1) AND (`FinanceOperationGroup`.`ValueSign` = 1))'),
99 'TaxSpending' => array('Type' => 'Integer', 'Caption' => 'Daňové výdaje', 'Default' => '0', 'Suffix' => 'Kč', 'ReadOnly' => true,
100 'SQL' => '(SELECT -ROUND(SUM(`FinanceOperation`.`Value`)) FROM `FinanceOperation` '.
101 'LEFT JOIN `FinanceOperationGroup` ON `FinanceOperationGroup`.`Id`=`FinanceOperation`.`Group` '.
102 'WHERE (`FinanceOperation`.`Time` <= `DateEnd`) '.
103 'AND (`FinanceOperation`.`Time` >= `DateStart`) AND (`FinanceOperation`.`Taxable` = 1) AND (`FinanceOperationGroup`.`ValueSign` = -1))'),
104 'TaxBase' => array('Type' => 'Integer', 'Caption' => 'Základ daně', 'Default' => '0', 'Suffix' => 'Kč', 'ReadOnly' => true,
105 'SQL' => '(SELECT ROUND(SUM(`FinanceOperation`.`Value`)) FROM `FinanceOperation` '.
106 'WHERE (`FinanceOperation`.`Time` <= `DateEnd`) '.
107 'AND (`FinanceOperation`.`Time` >= `DateStart`) AND (`FinanceOperation`.`Taxable` = 1))'),
108 'Claims' => array('Type' => 'Integer', 'Caption' => 'Pohledávky', 'Default' => '0', 'Suffix' => 'Kč', 'ReadOnly' => true,
109 'SQL' => '(SELECT ROUND(SUM(`FinanceInvoice`.`Value`)) FROM `FinanceInvoice` '.
110 'LEFT JOIN `FinanceInvoiceGroup` ON `FinanceInvoiceGroup`.`Id`=`FinanceInvoice`.`Group` '.
111 'WHERE (`FinanceInvoice`.`Time` <= `DateEnd`) '.
112 'AND (`FinanceInvoice`.`Time` >= `DateStart`) AND (`FinanceInvoiceGroup`.`ValueSign` = 1))'),
113 'Liabilities' => array('Type' => 'Integer', 'Caption' => 'Závazky', 'Default' => '0', 'Suffix' => 'Kč', 'ReadOnly' => true,
114 'SQL' => '(SELECT -ROUND(SUM(`FinanceInvoice`.`Value`)) FROM `FinanceInvoice` '.
115 'LEFT JOIN `FinanceInvoiceGroup` ON `FinanceInvoiceGroup`.`Id`=`FinanceInvoice`.`Group` '.
116 'WHERE (`FinanceInvoice`.`Time` <= `DateEnd`) '.
117 'AND (`FinanceInvoice`.`Time` >= `DateStart`) AND (`FinanceInvoiceGroup`.`ValueSign` = -1))'),
118 'InvoiceBalance' => array('Type' => 'Integer', 'Caption' => 'Fakturační rozdíl', 'Default' => '0', 'Suffix' => 'Kč', 'ReadOnly' => true,
119 'SQL' => '(SELECT ROUND(SUM(`FinanceInvoice`.`Value`)) FROM `FinanceInvoice` WHERE (`FinanceInvoice`.`Time` <= `DateEnd`) '.
120 'AND (`FinanceInvoice`.`Time` >= `DateStart`))'),
121 ),
122 //'AfterInsert' => array($this, 'AfterInsertFinanceYear'),
123 ),
124 'FinanceBillingPeriod' => array(
125 'Title' => 'Platební období',
126 'Table' => 'FinanceBillingPeriod',
127 'DefaultSortColumn' => 'Name',
128 'Items' => array(
129 'Name' => array('Type' => 'String', 'Caption' => 'Jméno', 'Default' => ''),
130 'MonthCount' => array('Type' => 'Integer', 'Caption' => 'Počet měsíců', 'Default' => '0', 'Suffix' => 'měsíců'),
131 'Customers' => array('Type' => 'TCustomerListBillingPeriod', 'Caption' => 'Zákazníci', 'Default' => ''),
132 ),
133 ),
134);
135
136$FormManager->FormTypes = array
137(
138 'TPriority' => array(
139 'Type' => 'Enumeration',
140 'States' => array('Nízká', 'Střední', 'Vysoká'),
141 ),
142 'TOnlineState' => array(
143 'Type' => 'Enumeration',
144 'States' => array('<span style="color:red;">Nedostupný</span>', '<span style="color:green;">Dostupný</span>'),
145 ),
146 'TAntennaPolarity' => array(
147 'Type' => 'Enumeration',
148 'States' => array('Vertikální', 'Horizontální', 'Kruhová', 'Vertikální i horizontální'),
149 ),
150 'TNetworkDeviceState' => array(
151 'Type' => 'Enumeration',
152 'States' => array('Vyřazeno', 'Použito', 'Na skladě'),
153 ),
154 'TNetworkDeviceAction' => array(
155 'Type' => 'Enumeration',
156 'States' => array('Zakoupeno', 'Prodáno', 'Zařazeno do použití', 'Vyřazeno z použití', 'Zasláno do reklamace', 'Přijato z reklamace'),
157 ),
158 'TActionEnum' => array(
159 'Type' => 'Enumeration',
160 'States' => array('add' => 'Přidat', 'modify' => 'Upravit', 'remove' => 'Odstranit'),
161 ),
162 'TWirelessMode' => array(
163 'Type' => 'Enumeration',
164 'States' => array('Přístupový bod (AP)', 'Klient'),
165 ),
166 'TFinanceBillingPeriod' => array(
167 'Type' => 'Reference',
168 'Table' => 'FinanceBillingPeriod',
169 'Id' => 'Id',
170 'Name' => 'Name',
171 'Filter' => '1',
172 ),
173 'TMemberListSubject' => array(
174 'Type' => 'ManyToOne',
175 'Table' => 'Member',
176 'Id' => 'Id',
177 'Ref' => 'Subject',
178 'Filter' => '1',
179 ),
180 'TDocumentLine' => array(
181 'Type' => 'Reference',
182 'Table' => 'DocumentLine',
183 'Id' => 'Id',
184 'Name' => 'Name',
185 'Filter' => '1',
186 ),
187 'TDocumentLineCode' => array(
188 'Type' => 'Reference',
189 'Table' => 'DocumentLineCode',
190 'Id' => 'Id',
191 'Name' => 'Name',
192 'Filter' => '1',
193 ),
194 'TStockSerialNumberListStock' => array(
195 'Type' => 'ManyToOne',
196 'Table' => 'StockSerialNumber',
197 'Id' => 'Id',
198 'Ref' => 'Stock',
199 'Filter' => '1',
200 ),
201 'TStockSerialNumberListProduct' => array(
202 'Type' => 'ManyToOne',
203 'Table' => 'StockSerialNumber',
204 'Id' => 'Id',
205 'Ref' => 'Product',
206 'Filter' => '1',
207 ),
208 'TNetworkDeviceListProduct' => array(
209 'Type' => 'ManyToOne',
210 'Table' => 'NetworkDevice',
211 'Id' => 'Id',
212 'Ref' => 'Product',
213 'Filter' => '1',
214 ),
215 'TDocumentLine' => array(
216 'Type' => 'Reference',
217 'Table' => 'DocumentLine',
218 'Id' => 'Id',
219 'Name' => 'Name',
220 'Filter' => '1',
221 ),
222 'TFinanceYear' => array(
223 'Type' => 'Reference',
224 'Table' => 'FinanceYear',
225 'Id' => 'Id',
226 'Name' => 'Year',
227 'Filter' => '1',
228 ),
229 'TCurrency' => array(
230 'Type' => 'Reference',
231 'Table' => 'Currency',
232 'Id' => 'Id',
233 'Name' => 'Code',
234 'Filter' => '1',
235 ),
236 'TFinanceInvoice' => array(
237 'Type' => 'Reference',
238 'Table' => 'FinanceInvoice',
239 'Id' => 'Id',
240 'Name' => '(SELECT `DocumentLineCode`.`Name` FROM `DocumentLineCode` WHERE `Id`=`FinanceInvoice`.`BillCode`)',
241 'Filter' => '1',
242 ),
243 'TFinanceOperation' => array(
244 'Type' => 'Reference',
245 'Table' => 'FinanceOperation',
246 'Id' => 'Id',
247 'Name' => '(SELECT `DocumentLineCode`.`Name` FROM `DocumentLineCode` WHERE `Id`=`FinanceOperation`.`BillCode`)',
248 'Filter' => '1',
249 ),
250 'TFinanceCharge' => array(
251 'Type' => 'Reference',
252 'Table' => 'FinanceCharge',
253 'Id' => 'Id',
254 'Name' => 'Id',
255 'Filter' => '1',
256 ),
257 'TDocumentLineSequenceListYear' => array(
258 'Type' => 'ManyToOne',
259 'Table' => 'DocumentLineSequence',
260 'Id' => 'Id',
261 'Ref' => 'FinanceYear',
262 'Filter' => '1',
263 ),
264 'TDocumentLineSequenceListLine' => array(
265 'Type' => 'ManyToOne',
266 'Table' => 'DocumentLineSequence',
267 'Id' => 'Id',
268 'Ref' => 'DocumentLine',
269 'Filter' => '1',
270 ),
271 'TDocumentLineCodeList' => array(
272 'Type' => 'ManyToOne',
273 'Table' => 'DocumentLineCode',
274 'Id' => 'Id',
275 'Ref' => 'DocumentLine',
276 'Filter' => '1',
277 ),
278 'TUserCustomerRelListUser' => array(
279 'Type' => 'ManyToOne',
280 'Table' => 'UserCustomerRel',
281 'Id' => 'Id',
282 'Ref' => 'User',
283 'Filter' => '1',
284 ),
285 'TUserCustomerRelListCustomer' => array(
286 'Type' => 'ManyToOne',
287 'Table' => 'UserCustomerRel',
288 'Id' => 'Id',
289 'Ref' => 'Customer',
290 'Filter' => '1',
291 ),
292 'TFinanceInvoiceOperationRelListInvoice' => array(
293 'Type' => 'ManyToOne',
294 'Table' => 'FinanceInvoiceOperationRel',
295 'Id' => 'Id',
296 'Ref' => 'Invoice',
297 'Filter' => '1',
298 ),
299 'TFinanceInvoiceOperationRelListOperation' => array(
300 'Type' => 'ManyToOne',
301 'Table' => 'FinanceInvoiceOperationRel',
302 'Id' => 'Id',
303 'Ref' => 'Operation',
304 'Filter' => '1',
305 ),
306 'TCustomerStockSerialNumber' => array(
307 'Type' => 'ManyToOne',
308 'Table' => 'StockSerialNumber',
309 'Id' => 'Id',
310 'Ref' => 'Location',
311 'Filter' => '1',
312 ),
313 'TPermissionUserAssignmentListUser' => array(
314 'Type' => 'ManyToOne',
315 'Table' => 'PermissionUserAssignment',
316 'Id' => 'Id',
317 'Ref' => 'User',
318 'Filter' => '1',
319 ),
320 'TPermissionGroupAssignmentListGroup' => array(
321 'Type' => 'ManyToOne',
322 'Table' => 'PermissionGroupAssignment',
323 'Id' => 'Id',
324 'Ref' => 'Group',
325 'Filter' => '1',
326 ),
327 'TPermissionGroupAssignmentListOperation' => array(
328 'Type' => 'ManyToOne',
329 'Table' => 'PermissionGroupAssignment',
330 'Id' => 'Id',
331 'Ref' => 'AssignedOperation',
332 'Filter' => '1',
333 ),
334 'TPermissionGroupAssignmentListAssignedGroup' => array(
335 'Type' => 'ManyToOne',
336 'Table' => 'PermissionGroupAssignment',
337 'Id' => 'Id',
338 'Ref' => 'AssignedGroup',
339 'Filter' => '1',
340 ),
341 'TNetworkSignalListInterface' => array(
342 'Type' => 'ManyToOne',
343 'Table' => 'NetworkSignal',
344 'Id' => 'Id',
345 'Ref' => 'Interface',
346 'Filter' => '1',
347 ),
348 'TFinanceInvoiceItemListInvoice' => array(
349 'Type' => 'ManyToOne',
350 'Table' => 'FinanceInvoiceItem',
351 'Id' => 'Id',
352 'Ref' => 'FinanceInvoice',
353 'Filter' => '1',
354 ),
355 'TFinanceInvoiceStornoListBy' => array(
356 'Type' => 'ManyToOne',
357 'Table' => 'FinanceInvoiceStorno',
358 'Id' => 'Id',
359 'Ref' => 'StornoBy',
360 'Filter' => '1',
361 ),
362 'TFinanceInvoiceStornoListOf' => array(
363 'Type' => 'ManyToOne',
364 'Table' => 'FinanceInvoiceStorno',
365 'Id' => 'Id',
366 'Ref' => 'StornoOf',
367 'Filter' => '1',
368 ),
369 'TFinanceInvoiceListGroup' => array(
370 'Type' => 'ManyToOne',
371 'Table' => 'FinanceInvoice',
372 'Id' => 'Id',
373 'Ref' => 'Group',
374 'Filter' => '1',
375 ),
376 'TFinanceOperationListGroup' => array(
377 'Type' => 'ManyToOne',
378 'Table' => 'FinanceOperation',
379 'Id' => 'Id',
380 'Ref' => 'Group',
381 'Filter' => '1',
382 ),
383 'TFinanceOperationListAccount' => array(
384 'Type' => 'ManyToOne',
385 'Table' => 'FinanceOperation',
386 'Id' => 'Id',
387 'Ref' => 'BankAccount',
388 'Filter' => '1',
389 ),
390 'TFinanceOperationListSubject' => array(
391 'Type' => 'ManyToOne',
392 'Table' => 'FinanceOperation',
393 'Id' => 'Id',
394 'Ref' => 'Subject',
395 'Filter' => '1',
396 ),
397 'TFinanceInvoiceListSubject' => array(
398 'Type' => 'ManyToOne',
399 'Table' => 'FinanceInvoice',
400 'Id' => 'Id',
401 'Ref' => 'Subject',
402 'Filter' => '1',
403 ),
404 'TMenuItemListMenu' => array(
405 'Type' => 'ManyToOne',
406 'Table' => 'MenuItem',
407 'Id' => 'Id',
408 'Ref' => 'Menu',
409 'Filter' => '1',
410 ),
411 'TMenuItemListParent' => array(
412 'Type' => 'ManyToOne',
413 'Table' => 'MenuItem',
414 'Id' => 'Id',
415 'Ref' => 'Parent',
416 'Filter' => '1',
417 ),
418 'TActionListGroup' => array(
419 'Type' => 'ManyToOne',
420 'Table' => 'Action',
421 'Id' => 'Id',
422 'Ref' => 'Group',
423 'Filter' => '1',
424 ),
425 'TFinanceOperationListTreasury' => array(
426 'Type' => 'ManyToOne',
427 'Table' => 'FinanceOperation',
428 'Id' => 'Id',
429 'Ref' => 'Treasury',
430 'Filter' => '1',
431 ),
432 'TActionListIcon' => array(
433 'Type' => 'ManyToOne',
434 'Table' => 'Action',
435 'Id' => 'Id',
436 'Ref' => 'Icon',
437 'Filter' => '1',
438 ),
439 'TActionListType' => array(
440 'Type' => 'ManyToOne',
441 'Table' => 'Action',
442 'Id' => 'Id',
443 'Ref' => 'Type',
444 'Filter' => '1',
445 ),
446 'TStockSerialNumberListStockSerialNumber' => array(
447 'Type' => 'ManyToOne',
448 'Table' => 'StockSerialNumber',
449 'Id' => 'Id',
450 'Ref' => 'Esemble',
451 'Filter' => '1',
452 ),
453 'TCustomerListBillingPeriod' => array(
454 'Type' => 'ManyToOne',
455 'Table' => 'Member',
456 'Id' => 'Id',
457 'Ref' => 'BillingPeriod',
458 'Filter' => '1',
459 ),
460 'TFinanceOperationGroupListDocumentLine' => array(
461 'Type' => 'ManyToOne',
462 'Table' => 'FinanceOperationGroup',
463 'Id' => 'Id',
464 'Ref' => 'DocumentLine',
465 'Filter' => '1',
466 ),
467 'TFinanceInvoiceGroupListDocumentLine' => array(
468 'Type' => 'ManyToOne',
469 'Table' => 'FinanceInvoiceGroup',
470 'Id' => 'Id',
471 'Ref' => 'DocumentLine',
472 'Filter' => '1',
473 ),
474);
475}
Note: See TracBrowser for help on using the repository browser.