public function getCMSFields() { $fields = parent::getCMSFields(); // Remove MCListSegment GridField Tab And Manually Manage $fields->removeByName("MCListSegments"); // Manually Manage Creation of MCListSegments Based on Selected MCLists if (empty($this->owner->ID)) { $lists = new DataList("MCList"); if ($lists->count() > 1) { $fields->addFieldToTab('Root.Main', new LiteralField('_AffectedMCListsTitle', '<h2>Affected MailChimp Lists</h2>')); $map = $lists->map("ID", "Name"); $listIDs = new CheckboxSetField('_AffectedMCListIDs', 'Which MailChimp List(s) Does This Event Relate To', $map); $listIDs->setDefaultItems(array_keys($map->toArray())); } else { if ($lists->count() == 1) { $listIDs = new HiddenField('_AffectedMCListIDs', 'Which MailChimp List(s) Does This Event Relate To', $lists->first()->ID); } else { $listIDs = new HiddenField('_AffectedMCListIDs', 'Which MailChimp List(s) Does This Event Relate To', 0); } } $fields->addFieldToTab('Root.Main', $listIDs); } // Configure Attendees Gridfield $gf = $fields->fieldByName('Root.Attendees.Attendees'); if (is_object($gf) && $gf->exists()) { $gf->setList($this->getMyManyManyComponents('Attendees')); $config = $gf->getConfig(); $config->removeComponentsByType('GridfieldAddNewButton'); } return $fields; }
public function getLists() { $lists = new DataList("MCList"); if ($lists->count() == 0) { SS_Log::log("No MailChimp Lists To Run Updates Against!", SS_Log::ERR); return array(); } else { return $lists; } }
/** * retrieves previous orders and adds totals to it... * return DataList **/ protected function calculatePastOrders() { if (!$this->pastOrders) { $this->pastOrders = $this->pastOrdersSelection(); $this->calculatedTotal = 0; $this->calculatedPaid = 0; $this->calculatedOutstanding = 0; $member = Member::currentUser(); $canDelete = false; if ($this->pastOrders->count()) { foreach ($this->pastOrders as $order) { $this->calculatedTotal += $order->Total(); $this->calculatedPaid += $order->TotalPaid(); $this->calculatedOutstanding += $order->TotalOutstanding(); } } } return $this->pastOrders; }
/** * counts the total number in the combination.... * @param DataList $items - list of * @param Arary $baseArray - list of products on the current page * @return array */ protected function productGroupFilterLinksCount($items, $baseArray, $ajaxify = true) { $array = array(); if ($items && $items->count()) { foreach ($items as $item) { $arrayOfIDs = $item->currentInitialProductsAsCachedArray($this->getMyUserPreferencesDefault("FILTER")); $newArray = array_intersect_key($arrayOfIDs, $baseArray); $count = count($newArray); if ($count) { $array[$item->Title] = array("Item" => $item, "Count" => $count, "Ajaxify" => $ajaxify); } } } return $array; }