PaymentAdmin::getEditForm()   A
last analyzed

Complexity

Conditions 3
Paths 3

Size

Total Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 15
rs 9.7666
c 0
b 0
f 0
cc 3
nc 3
nop 2
1
<?php
2
3
namespace Bummzack\SsOmnipayUI\Admin;
4
5
use Bummzack\SsOmnipayUI\GridField\GridFieldCaptureAction;
6
use Bummzack\SsOmnipayUI\GridField\GridFieldPaymentStatusIndicator;
7
use Bummzack\SsOmnipayUI\GridField\GridFieldRefundAction;
8
use Bummzack\SsOmnipayUI\GridField\GridFieldVoidAction;
9
use SilverStripe\Admin\ModelAdmin;
10
use SilverStripe\Forms\GridField\GridFieldConfig;
11
use SilverStripe\Omnipay\Model\Payment;
12
13
/**
14
 * Model admin administration of payments.
15
 *
16
 * @package payment
17
 */
18
class PaymentAdmin extends ModelAdmin
19
{
20
21
    private static $menu_title = 'Payments';
0 ignored issues
show
Comprehensibility introduced by
Consider using a different property name as you override a private property of the parent class.
Loading history...
22
    private static $url_segment = 'payments';
0 ignored issues
show
Comprehensibility introduced by
Consider using a different property name as you override a private property of the parent class.
Loading history...
23
    private static $menu_icon = 'bummzack/silverstripe-omnipay-ui: client/dist/images/payment-admin.png';
0 ignored issues
show
Comprehensibility introduced by
Consider using a different property name as you override a private property of the parent class.
Loading history...
24
    private static $menu_priority = 1;
0 ignored issues
show
Comprehensibility introduced by
Consider using a different property name as you override a private property of the parent class.
Loading history...
25
26
    public $showImportForm = false;
27
28
    private static $managed_models = array(
0 ignored issues
show
Comprehensibility introduced by
Consider using a different property name as you override a private property of the parent class.
Loading history...
29
        Payment::class
30
    );
31
32
    public function alternateAccessCheck()
33
    {
34
        return !$this->config()->hidden;
35
    }
36
37
    public function getEditForm($id = null, $fields = null)
38
    {
39
        $form = parent::getEditForm($id, $fields);
40
        if ($this->modelClass == Payment::class) {
41
            /** @var GridFieldConfig $cfg */
42
            if ($cfg = $form->Fields()->fieldByName($this->sanitiseClassName(Payment::class))->getConfig()) {
43
                $cfg->addComponent(new GridFieldCaptureAction(), 'GridFieldEditButton')
44
                    ->addComponent(new GridFieldRefundAction(), 'GridFieldEditButton')
45
                    ->addComponent(new GridFieldVoidAction(), 'GridFieldEditButton')
46
                    ->addComponent(new GridFieldPaymentStatusIndicator(), 'GridFieldEditButton');
47
            }
48
        }
49
50
        return $form;
51
    }
52
}
53