Completed
Pull Request — master (#37)
by
unknown
02:19
created

SiteSummaryExtension   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 29
rs 10
c 0
b 0
f 0
wmc 3

2 Methods

Rating   Name   Duplication   Size   Complexity  
A updateColumns() 0 7 1
A updateAlerts() 0 6 2
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('bringyourownideas/silverstripe-composer-security-checker: client/dist/css/securityalerts.css');
19
        Requirements::javascript(
20
            'bringyourownideas/silverstripe-composer-security-checker: client/dist/javascript/summaryalerts.js'
21
        );
22
        unset($columns['listSecurityAlertIdentifiers']);
23
    }
24
25
    /**
26
     * Update the Package's screen bound summary info with little badges to indicate
27
     * security alerts are present for this package
28
     *
29
     * @param array $alerts a list of alerts to display
30
     */
31
    public function updateAlerts(&$alerts)
32
    {
33
        $securityWarnings = $this->owner->sourceRecords()->filter('SecurityAlerts.ID:GreaterThan', 0);
34
35
        if ($securityWarnings->exists()) {
36
            $alerts['SecurityAlerts'] = $securityWarnings->renderWith('SecurityAlertSummary');
37
        }
38
    }
39
}
40