Completed
Push — master ( abf85b...4ebda5 )
by Nicolaas
03:21
created

code/model/BuyableStockManualUpdate.php (2 issues)

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
 *@author: Nicolaas [at] Sunny Side Up . Co . Nz
4
 *@description: manual change for a buyable
5
 * the buyable available quantity can be changed (manually overridden) using this class.
6
 *
7
 * All entries link to the BuyableStockCalculatedQuantity object.
8
 * The BuyableStockCalculatedQuantity objects calculates, for each buyable,
9
 * how many are available.
10
 *
11
 **/
12
13
class BuyableStockManualUpdate extends DataObject
0 ignored issues
show
Coding Style Compatibility introduced by
PSR1 recommends that each class must be in a namespace of at least one level to avoid collisions.

You can fix this by adding a namespace to your class:

namespace YourVendor;

class YourClass { }

When choosing a vendor namespace, try to pick something that is not too generic to avoid conflicts with other libraries.

Loading history...
14
{
15
    private static $db = array(
16
        "Quantity" => "Int",
17
        "ExternalUpdate" => "Boolean"
18
    );
19
20
    private static $has_one = array(
21
        "Parent" => "BuyableStockCalculatedQuantity",
22
        "Member" => "Member"
23
    );
24
25
    //MODEL ADMIN STUFF
26
27
    private static $searchable_fields = array(
28
        "Quantity",
29
        "MemberID"
30
    );
31
32
    private static $field_labels = array(
33
        "Quantity",
34
        "ParentID"  => "Buyable",
35
        "MemberID"  => "Updated by ..."
36
    );
37
38
    private static $summary_fields = array(
39
        "Parent.Name" => "Buyable",
40
        "Member.FirstName" => "Updater",
41
        "Quantity" => "Quantity"
42
    );
43
44
    private static $api_access = true;
45
46
47
    private static $indexes = [
48
        'LastEdited' =>  true
49
    ];
50
51
    private static $default_sort = [
52
        'LastEdited' =>  'DESC',
53
        'ParentID' => 'ASC',
54
        'ID' => 'DESC'
55
    ];
56
57
    private static $singular_name = "Stock Manual Update Entry";
58
    public function i18n_singular_name()
59
    {
60
        return _t("BuyableStockManualUpdate.STOCKUPDATEENTRY", "Stock Manual Update Entry");
61
    }
62
63
    private static $plural_name = "Stock Manual Update Entries";
64
    public function i18n_plural_name()
65
    {
66
        return _t("BuyableStockManualUpdate.STOCKUPDATEENTRIES", "Stock Manual Update Entries");
67
    }
68
69
    public function canView($member = null)
70
    {
71
        return $this->canDoAnything($member);
72
    }
73
74
    public function canCreate($member = null)
75
    {
76
        return $this->canDoAnything($member);
77
    }
78
79
    public function canEdit($member = null)
80
    {
81
        return false;
82
    }
83
84
    public function canDelete($member = null)
85
    {
86
        return false;
87
    }
88
89 View Code Duplication
    protected function canDoAnything($member = null)
90
    {
91
        $shopAdminCode = EcommerceConfig::get("EcommerceRole", "admin_permission_code");
92
        if (!Permission::check($shopAdminCode)) {
93
            Security::permissionFailure($this, _t('Security.PERMFAILURE', ' This page is secured and you need administrator rights to access it. Enter your credentials below and we will send you right along.'));
0 ignored issues
show
$this is of type this<BuyableStockManualUpdate>, but the function expects a object<Controller>|null.

It seems like the type of the argument is not accepted by the function/method which you are calling.

In some cases, in particular if PHP’s automatic type-juggling kicks in this might be fine. In other cases, however this might be a bug.

We suggest to add an explicit type cast like in the following example:

function acceptsInteger($int) { }

$x = '123'; // string "123"

// Instead of
acceptsInteger($x);

// we recommend to use
acceptsInteger((integer) $x);
Loading history...
94
        }
95
        return true;
96
    }
97
}
98