1 | <?php |
||||
2 | |||||
3 | namespace CWP\AgencyExtensions\Model; |
||||
4 | |||||
5 | use CWP\CWP\PageTypes\BaseHomePage; |
||||
6 | use SilverStripe\Forms\HTMLEditor\HTMLEditorField; |
||||
7 | use SilverStripe\Versioned\Versioned; |
||||
8 | use SilverStripe\Core\Injector\Injector; |
||||
9 | use SilverStripe\Assets\Image; |
||||
10 | use SilverStripe\CMS\Model\SiteTree; |
||||
11 | use SilverStripe\Forms\TextField; |
||||
12 | use SilverStripe\AssetAdmin\Forms\UploadField; |
||||
0 ignored issues
–
show
|
|||||
13 | use SilverStripe\Forms\TreeDropdownField; |
||||
14 | use SilverStripe\Forms\LabelField; |
||||
15 | use SilverStripe\Forms\CheckboxField; |
||||
16 | use SilverStripe\Forms\CompositeField; |
||||
17 | use SilverStripe\Forms\FieldList; |
||||
18 | use SilverStripe\ORM\DataObject; |
||||
19 | use SilverStripe\Forms\FileHandleField; |
||||
20 | |||||
21 | class CarouselItem extends DataObject |
||||
22 | { |
||||
23 | private static $table_name = 'CarouselItem'; |
||||
0 ignored issues
–
show
|
|||||
24 | |||||
25 | private static $extensions = [ |
||||
0 ignored issues
–
show
|
|||||
26 | Versioned::class |
||||
27 | ]; |
||||
28 | |||||
29 | private static $versioned_gridfield_extensions = true; |
||||
0 ignored issues
–
show
|
|||||
30 | |||||
31 | private static $db = [ |
||||
0 ignored issues
–
show
|
|||||
32 | 'Title' => 'Varchar(255)', |
||||
33 | 'Content' => 'HTMLText', |
||||
34 | 'SortOrder' => 'Int', |
||||
35 | 'PrimaryCallToActionLabel' => 'Varchar(255)', |
||||
36 | 'SecondaryCallToActionLabel' => 'Varchar(255)' |
||||
37 | ]; |
||||
38 | |||||
39 | private static $has_one = [ |
||||
0 ignored issues
–
show
|
|||||
40 | 'Parent' => BaseHomePage::class, |
||||
41 | 'Image' => Image::class, |
||||
42 | 'PrimaryCallToAction' => SiteTree::class, |
||||
43 | 'SecondaryCallToAction' => SiteTree::class |
||||
44 | ]; |
||||
45 | |||||
46 | private static $owns = [ |
||||
0 ignored issues
–
show
|
|||||
47 | 'Image' |
||||
48 | ]; |
||||
49 | |||||
50 | private static $summary_fields = [ |
||||
0 ignored issues
–
show
|
|||||
51 | 'Image.CMSThumbnail' => 'Image', |
||||
52 | 'Title' => 'Title', |
||||
53 | 'Content.FirstSentence' => 'Text', |
||||
54 | 'PrimaryCallToAction.Title' => 'Primary CTA', |
||||
55 | 'SecondaryCallToAction.Title' => 'Secondary CTA' |
||||
56 | ]; |
||||
57 | |||||
58 | private static $searchable_fields = [ |
||||
0 ignored issues
–
show
|
|||||
59 | 'Title', |
||||
60 | 'Content' |
||||
61 | ]; |
||||
62 | |||||
63 | public function getCMSFields() |
||||
64 | { |
||||
65 | $fields = new FieldList( |
||||
66 | // Set title |
||||
67 | TextField::create('Title', 'Title', null, 255), |
||||
68 | // Content |
||||
69 | HtmlEditorField::create('Content') |
||||
70 | ->setRows(5) |
||||
71 | ->setDescription( |
||||
72 | _t( |
||||
73 | __CLASS__ . '.CONTENT_HELPTIP', |
||||
74 | 'Recommended: Use less than 50 words. For carousel slides, use a similar amount of content ' . |
||||
75 | 'as other items to ensure carousel height does not vary.' |
||||
76 | ) |
||||
77 | ), |
||||
78 | // Image |
||||
79 | Injector::inst()->create(FileHandleField::class, 'Image', 'Image') |
||||
80 | ->setAllowedFileCategories('image') |
||||
81 | ->setDescription( |
||||
82 | _t( |
||||
83 | __CLASS__ . '.IMAGE_HELPTIP', |
||||
84 | 'Recommended: Use high resolution images greater than 1600x900px.' |
||||
85 | ) |
||||
86 | ), |
||||
87 | // Call to actions |
||||
88 | TextField::create('PrimaryCallToActionLabel'), |
||||
89 | TreeDropdownField::create( |
||||
90 | 'PrimaryCallToActionID', |
||||
91 | _t(__CLASS__ . '.PRIMARYCALLTOACTION', 'Primary Call To Action Link'), |
||||
92 | SiteTree::class |
||||
93 | ), |
||||
94 | TextField::create('SecondaryCallToActionLabel'), |
||||
95 | TreeDropdownField::create( |
||||
96 | 'SecondaryCallToActionID', |
||||
97 | _t(__CLASS__ . '.SECONDARYCALLTOACTION', 'Secondary Call To Action Link'), |
||||
98 | SiteTree::class |
||||
99 | ) |
||||
100 | ); |
||||
101 | |||||
102 | $this->extend('updateCMSFields', $fields); |
||||
103 | |||||
104 | return $fields; |
||||
105 | } |
||||
106 | |||||
107 | public function canCreate($member = null, $context = array()) |
||||
108 | { |
||||
109 | return $this->Parent()->canCreate($member); |
||||
0 ignored issues
–
show
The method
Parent() does not exist on CWP\AgencyExtensions\Model\CarouselItem . Since you implemented __call , consider adding a @method annotation.
(
Ignorable by Annotation
)
If this is a false-positive, you can also ignore this issue in your code via the
![]() |
|||||
110 | } |
||||
111 | |||||
112 | public function canEdit($member = null) |
||||
113 | { |
||||
114 | return $this->Parent()->canEdit($member); |
||||
115 | } |
||||
116 | |||||
117 | public function canDelete($member = null) |
||||
118 | { |
||||
119 | return $this->Parent()->canDelete($member); |
||||
120 | } |
||||
121 | |||||
122 | public function canView($member = null) |
||||
123 | { |
||||
124 | return $this->Parent()->canView($member); |
||||
125 | } |
||||
126 | } |
||||
127 |
The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g.
excluded_paths: ["lib/*"]
, you can move it to the dependency path list as follows:For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths