Documentation/Index/CustomDocumentBeanAfterSave: CustomDocumentBeanAfterSave.inc

Plik CustomDocumentBeanAfterSave.inc, 1.5 KB (dodany przez TS, 7 years temu)
xx
Line 
1<?php
2
3/**
4 * CustomDocumentBeanAfterSave
5 *
6 * @author Tomasz Świenty
7 * @version 0.1
8 * @copyright Copyright (c) eDokumenty
9 */
10final class CustomDocumentBeanAfterSave {
11
12
13
14    public static function init($args) {
15
16        if (!isset($args['container'])) {
17            return FALSE;
18        }
19
20        if (!is_object($args['container']) OR !is_a($args['container'], 'Bean')) {
21            return FALSE;
22        }
23
24        // dane z beana z formularza
25        $data = $args['container']->data;
26
27        if (!($doc_id = $args['container']->getPkeyValue())) {
28            return FALSE;
29        }
30
31        if ($args['container']->getb(__CLASS__)) {
32            return FALSE;
33        }
34       
35        if (!file_exists('./classes/Log/observers/CRegisterLogObserver.inc')) {
36            return FALSE;
37        }
38
39        require_once('./classes/Log/observers/CRegisterLogObserver.inc');
40
41        $cregisterEntries = CRegisterLogObserver::getCachedCRegisterEntries($doc_id);
42        if (!$cregisterEntries) {
43            return $cregisterEntries;
44        }
45
46        $args['container']->set('c_cnid', 7464); // tutaj oczywiście można pobrać z zapamiętanego zapisywanego rekordu rejestru
47        $args['container']->set(__CLASS__, TRUE); // to ustawiam, żeby sprawdzić po kolejnym save żeby nie było rekurencji
48        $args['container']->set('dscrpt', $cregisterEntries[0]['d']);
49       
50        $args['container']->update();
51
52    }
53
54}
55
56if (isset($args)) {
57    CustomDocumentBeanAfterSave::init($args);
58}
59
60?>