1 | <?php |
---|
2 | |
---|
3 | /** |
---|
4 | * ProcessEditDialogBeforeOpen |
---|
5 | * |
---|
6 | * @author Tomasz Świenty |
---|
7 | * @version 0.1 |
---|
8 | * @copyright Copyright (c) BetaSoft |
---|
9 | */ |
---|
10 | final class ProcessEditDialogBeforeOpen { |
---|
11 | |
---|
12 | |
---|
13 | /** |
---|
14 | * @param $args |
---|
15 | * @return bool |
---|
16 | * @throws RequestAbortException |
---|
17 | */ |
---|
18 | public static function init($args) { |
---|
19 | |
---|
20 | $action = NULL; |
---|
21 | if (!isset($args['action'])) { |
---|
22 | return FALSE; |
---|
23 | } |
---|
24 | |
---|
25 | $action = $args['action']; |
---|
26 | if ($action !== 'beforeOpen') { |
---|
27 | return TRUE; |
---|
28 | } |
---|
29 | |
---|
30 | if (!is_object($args['container']) OR !is_a($args['container'], 'ProcessEditDialog')) { |
---|
31 | return TRUE; |
---|
32 | } |
---|
33 | |
---|
34 | // jeśli nowa sprawa wtedy mamy clsnam i keyval |
---|
35 | // jeśli edycja wtedy mamy prc_id i cały zestaw danych sprawy w tym dos_id |
---|
36 | // proszę sprawdzić debugiem |
---|
37 | $params = JSON::toArray(isset($args['params']) ? $args['params'] : []); |
---|
38 | if (!$params) { |
---|
39 | return TRUE; |
---|
40 | } |
---|
41 | |
---|
42 | // EDYCJA |
---|
43 | if (isset($params['prc_id']) AND filter_var($params['prc_id'], FILTER_VALIDATE_INT) AND isset($params['dos_id']) AND ($params['dos_id'] == 20)) { |
---|
44 | // własny kod js dla przykładu |
---|
45 | // JScript::add('App.openDialogByCls(\'CONTACT\', 10)'); |
---|
46 | throw new RequestAbortException(); |
---|
47 | } |
---|
48 | |
---|
49 | // dla nowej sprawy clsnam = DOSS a keyval to dsexid |
---|
50 | if (!isset($params['prc_id']) AND isset($params['clsnam']) AND isset($params['keyval'])) { |
---|
51 | // jeśli spełnione warunku otwarcia własnej kartoteki to kod js plus throw new RequestAbortException(); |
---|
52 | } |
---|
53 | |
---|
54 | } |
---|
55 | |
---|
56 | } |
---|
57 | |
---|
58 | if (isset($args)) { |
---|
59 | ProcessEditDialogBeforeOpen::init($args); |
---|
60 | } |
---|