SiteSummaryExtension::updateColumns()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 5
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 9
rs 10
1
<?php
2
3
namespace BringYourOwnIdeas\SecurityChecker\Extensions;
4
5
use SilverStripe\View\Requirements;
6
use SilverStripe\Core\Extension;
7
8
class SiteSummaryExtension extends Extension
9
{
10
    /**
11
     * Update screen bound report columns to remove the text (csv) column
12
     * listing SecurityAlert Identifier numbers, and include the view assets to render appropriately
13
     *
14
     * @param array $columns Report display columns
15
     */
16
    public function updateColumns(&$columns)
17
    {
18
        Requirements::css(
19
            'bringyourownideas/silverstripe-composer-security-checker: client/dist/css/securityalerts.css'
20
        );
21
        Requirements::javascript(
22
            'bringyourownideas/silverstripe-composer-security-checker: client/dist/javascript/summaryalerts.js'
23
        );
24
        unset($columns['listSecurityAlertIdentifiers']);
25
    }
26
27
    /**
28
     * Update the Package's screen bound summary info with little badges to indicate
29
     * security alerts are present for this package
30
     *
31
     * @param array $alerts a list of alerts to display
32
     */
33
    public function updateAlerts(&$alerts)
34
    {
35
        $securityWarnings = $this->owner->sourceRecords()->filter('SecurityAlerts.ID:GreaterThan', 0);
36
37
        if ($securityWarnings->exists()) {
38
            $alerts['SecurityAlerts'] = $securityWarnings->renderWith('SecurityAlertSummary');
39
        }
40
    }
41
}
42