Completed
Push — master ( c6b5de...db50e7 )
by Dmitry
04:45
created

src/controllers/HeldPaymentsController.php (1 issue)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
/**
3
 * Finance module for HiPanel
4
 *
5
 * @link      https://github.com/hiqdev/hipanel-module-finance
6
 * @package   hipanel-module-finance
7
 * @license   BSD-3-Clause
8
 * @copyright Copyright (c) 2015-2019, HiQDev (http://hiqdev.com/)
9
 */
10
11
namespace hipanel\modules\finance\controllers;
12
13
use hipanel\actions\IndexAction;
14
use hipanel\actions\PrepareBulkAction;
15
use hipanel\actions\RedirectAction;
16
use hipanel\actions\SmartUpdateAction;
17
use hipanel\base\CrudController;
18
use hipanel\filters\EasyAccessControl;
19
use hipanel\modules\finance\models\Change;
20
use Yii;
21
use yii\base\Event;
22
23
class HeldPaymentsController extends CrudController
24
{
25
    public static function modelClassName()
26
    {
27
        return Change::class;
28
    }
29
30
    public function behaviors()
31
    {
32
        return array_merge(parent::behaviors(), [
33
            [
34
                'class' => EasyAccessControl::class,
35
                'actions' => [
36
                    '*' => 'resell',
37
                ],
38
            ],
39
        ]);
40
    }
41
42
    public function actions()
43
    {
44
        return [
45
            'index' => [
46
                'class' => IndexAction::class,
47
                'findOptions' => ['state' => 'new', 'class' => 'merchant'],
48
                'data' => function ($action) {
0 ignored issues
show
The parameter $action is not used and could be removed.

This check looks from parameters that have been defined for a function or method, but which are not used in the method body.

Loading history...
49
                    return [
50
                        'states' => Change::getStates(),
51
                    ];
52
                },
53
            ],
54
            'bulk-approve' => [
55
                'class' => SmartUpdateAction::class,
56
                'scenario' => 'approve',
57
                'success' => Yii::t('hipanel:finance:change', 'Held payments were approved successfully'),
58
                'error' => Yii::t('hipanel:finance:change', 'Error occurred during held payments approving'),
59
                'POST html' => [
60
                    'save'    => true,
61
                    'success' => [
62
                        'class' => RedirectAction::class,
63
                    ],
64
                ],
65 View Code Duplication
                'on beforeSave' => function (Event $event) {
66
                    /** @var \hipanel\actions\Action $action */
67
                    $action = $event->sender;
68
                    $comment = Yii::$app->request->post('comment');
69
                    foreach ($action->collection->models as $model) {
70
                        $model->setAttribute('comment', $comment);
71
                    }
72
                },
73
            ],
74
            'bulk-approve-modal' => [
75
                'class' => PrepareBulkAction::class,
76
                'scenario' => 'approve',
77
                'view' => '_bulkApprove',
78
                'findOptions' => [
79
                    'state' => Change::STATE_NEW,
80
                ],
81
            ],
82
            'bulk-reject' => [
83
                'class' => SmartUpdateAction::class,
84
                'scenario' => 'reject',
85
                'success' => Yii::t('hipanel:finance:change', 'Held payments were rejected successfully'),
86
                'error' => Yii::t('hipanel:finance:change', 'Error occurred during held payments rejecting'),
87
                'POST html' => [
88
                    'save'    => true,
89
                    'success' => [
90
                        'class' => RedirectAction::class,
91
                    ],
92
                ],
93 View Code Duplication
                'on beforeSave' => function (Event $event) {
94
                    /** @var \hipanel\actions\Action $action */
95
                    $action = $event->sender;
96
                    $comment = Yii::$app->request->post('comment');
97
                    foreach ($action->collection->models as $model) {
98
                        $model->setAttribute('comment', $comment);
99
                    }
100
                },
101
            ],
102
            'bulk-reject-modal' => [
103
                'class' => PrepareBulkAction::class,
104
                'scenario' => 'reject',
105
                'view' => '_bulkReject',
106
                'findOptions' => [
107
                    'state' => Change::STATE_NEW,
108
                ],
109
            ],
110
        ];
111
    }
112
}
113