Source of file Ext_Commerce_Member.php
Size: 1,918 Bytes - Last Modified: 2021-12-24T05:16:32+00:00
/var/www/docs.ssmods.com/process/src/code/extensions/Ext_Commerce_Member.php
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 | <?php class Ext_Commerce_Member extends DataExtension { private static $db = array( "PhoneNumber" => "Varchar", "Company" => "Varchar(99)" ); private static $has_many = array( "Orders" => "Order", "Addresses" => "MemberAddress" ); public function updateCMSFields(FieldList $fields) { $fields->remove("PhoneNumber"); $fields->addFieldToTab( "Root.Main", TextField::create("PhoneNumber"), "Password" ); $fields->addFieldToTab( "Root.Main", TextField::create("Company"), "FirstName" ); return $fields; } /** * Get a discount from the groups this member is in * * @return Discount */ public function getDiscount() { $discounts = ArrayList::create(); foreach($this->owner->Groups() as $group) { foreach($group->Discounts() as $discount) { $discounts->add($discount); } } $discounts->sort("Amount", "DESC"); return $discounts->first(); } /** * Get all orders that have been generated and are marked as paid or * processing * * @return DataList */ public function getOutstandingOrders() { $orders = $this ->owner ->Orders() ->filter(array( "Status" => array("paid","processing") )); return $orders; } /** * Get all orders that have been generated and are marked as dispatched or * canceled * * @return DataList */ public function getHistoricOrders() { $orders = $this ->owner ->Orders() ->filter(array( "Status" => array("dispatched","canceled") )); return $orders; } } |