MemberExtension::getDiscount()   A
last analyzed

Complexity

Conditions 3
Paths 3

Size

Total Lines 13
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 6
c 1
b 0
f 0
dl 0
loc 13
rs 10
cc 3
nc 3
nop 0
1
<?php
2
3
namespace SilverCommerce\Discounts\Extensions;
4
5
use SilverStripe\ORM\DataExtension;
6
use SilverStripe\ORM\ArrayList;
7
8
/**
9
 * Add additional settings to a memeber object
10
 *
11
 * @package    orders-admin
12
 * @subpackage extensions
13
 */
14
class MemberExtension extends DataExtension
15
{
16
    /**
17
     * Get a discount from the groups this member is in
18
     *
19
     * @return Discount
20
     */
21
    public function getDiscount()
22
    {
23
        $discounts = ArrayList::create();
24
25
        foreach ($this->owner->Groups() as $group) {
26
            foreach ($group->Discounts() as $discount) {
27
                $discounts->add($discount);
28
            }
29
        }
30
31
        $discounts->sort("Amount", "DESC");
32
33
        return $discounts->first();
34
    }
35
}
36