PartialFileFieldSubmission   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 61
Duplicated Lines 100 %

Coupling/Cohesion

Components 1
Dependencies 2

Test Coverage

Coverage 78.56%

Importance

Changes 0
Metric Value
wmc 7
lcom 1
cbo 2
dl 61
loc 61
ccs 11
cts 14
cp 0.7856
rs 10
c 0
b 0
f 0

4 Methods

Rating   Name   Duplication   Size   Complexity  
A canCreate() 4 4 1
A canEdit() 8 8 2
A canDelete() 8 8 2
A canView() 8 8 2

How to fix   Duplicated Code   

Duplicated Code

Duplicate code is one of the most pungent code smells. A rule that is often used is to re-structure code once it is duplicated in three or more places.

Common duplication problems, and corresponding solutions are:

1
<?php
2
3
namespace Firesphere\PartialUserforms\Models;
4
5
use SilverStripe\Security\Member;
6
use SilverStripe\UserForms\Model\Submission\SubmittedFileField;
7
8
/**
9
 * Class \Firesphere\PartialUserforms\Models\PartialFileFieldSubmission
10
 *
11
 * @property int $SubmittedFormID
12
 * @method PartialFormSubmission SubmittedForm()
13
 */
14 View Code Duplication
class PartialFileFieldSubmission extends SubmittedFileField
15
{
16
    private static $table_name = 'PartialFileFieldSubmission';
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...
17
18
    private static $has_one = [
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...
19
        'SubmittedForm' => PartialFormSubmission::class,
20
    ];
21
22
23
    /**
24
     * @param Member $member
25
     * @param array $context
26
     * @return boolean
27
     */
28 1
    public function canCreate($member = null, $context = [])
29
    {
30 1
        return false;
31
    }
32
33
    /**
34
     * @param Member $member
35
     *
36
     * @return bool
37
     */
38 2
    public function canView($member = null)
39
    {
40 2
        if ($this->SubmittedFormID) {
41 2
            return $this->SubmittedForm()->canView($member);
0 ignored issues
show
Bug Compatibility introduced by
The expression $this->SubmittedForm()->canView($member); of type boolean|string adds the type string to the return on line 41 which is incompatible with the return type of the parent method SilverStripe\UserForms\M...ittedFormField::canView of type boolean.
Loading history...
42
        }
43
44
        return parent::canView($member);
45
    }
46
47
    /**
48
     * @param Member $member
49
     *
50
     * @return bool
51
     */
52 1
    public function canEdit($member = null)
53
    {
54 1
        if ($this->SubmittedFormID) {
55 1
            return $this->SubmittedForm()->canEdit($member);
0 ignored issues
show
Bug Compatibility introduced by
The expression $this->SubmittedForm()->canEdit($member); of type boolean|string adds the type string to the return on line 55 which is incompatible with the return type of the parent method SilverStripe\UserForms\M...ittedFormField::canEdit of type boolean.
Loading history...
56
        }
57
58
        return parent::canEdit($member);
59
    }
60
61
    /**
62
     * @param Member $member
63
     *
64
     * @return bool
65
     */
66 1
    public function canDelete($member = null)
67
    {
68 1
        if ($this->SubmittedFormID) {
69 1
            return $this->SubmittedForm()->canDelete($member);
0 ignored issues
show
Bug Compatibility introduced by
The expression $this->SubmittedForm()->canDelete($member); of type boolean|string adds the type string to the return on line 69 which is incompatible with the return type of the parent method SilverStripe\UserForms\M...tedFormField::canDelete of type boolean.
Loading history...
70
        }
71
72
        return parent::canDelete($member);
73
    }
74
}
75