コード例 #1
0
 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;
 }
コード例 #2
0
 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;
     }
 }
コード例 #3
0
 /**
  * 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;
 }
コード例 #4
0
 /**
  * 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;
 }