public function getCMSFields() { $fields = parent::getCMSFields(); $fields->addFieldToTab("Root.Portfolio", new TextField("TimeLineHeader", "Time line header")); $fields->addFieldToTab("Root.Portfolio", new HtmlEditorField("TimeLineIntro", "Time line intro")); $itemOptionSet = WebPortfolioItem::get(); $itemOptionSetMap = $itemOptionSet->count() ? $itemOptionSet->map('ID', 'Title')->toArray() : array(); $fields->addFieldsToTab("Root.Portfolio", array(new LiteralField("UpdatePortfolio", "<h3>Update Portfolio</h3>"), new LiteralField("EditPortfolio", "<p><a href=\"/admin/webportfolio\" target=\"_blank\">edit portfolio</a></p>"), new LiteralField("RefreshPortfolio", "<p><a href=\"" . $this->Link("json/?flush=json") . "\" target=\"_blank\">clear portfolio cache</a> (portfolio data is cached to incrase loading speed)</p>"), new LiteralField("SelectPortfolio", "<h3>Select Portfolio</h3>"), new CheckboxSetField($name = "WebPortfolioItems", $title = "Items shown", $source = $itemOptionSetMap))); return $fields; }
function getCMSFields() { $fields = parent::getCMSFields(); $fields->removeByName("Code"); if ($this->ID) { $dos = WebPortfolioWhatWeDidDescriptor::get()->exclude(array("ID" => $this->ID)); if ($dos->count()) { $dosArray = array("" => "--- do not merge ---"); $dosArray += $dos->map("ID", "Name")->toArray(); $fields->addFieldToTab("Root.Merge", new DropdownField("MergeID", "Merge <i>{$this->Name}</i> into:", $dosArray)); } } $dos = WebPortfolioItem::get(); if ($dos->count() && $this->ID) { $dosArray = $dos->map()->toArray(); $fields->addFieldsToTab("Root.WebPortfolioItem", array(new CheckboxSetField("WebPortfolioItem", "Carried out for", $dosArray))); } if (class_exists("DataObjectOneFieldUpdateController")) { $link = DataObjectOneFieldUpdateController::popup_link($ClassName = $this->ClassName, $FieldName = "Description", $where = '', $sort = 'Description DESC', $linkText = 'Edit Description'); $fields->addFieldToTab("Root.Main", new LiteralField("EditDescription", $link), "Description"); } return $fields; }
function SelectedWebPortfolioItems() { if ($this->hasFilter) { } else { $components = $this->getManyManyComponents('WebPortfolioItems'); if ($components && $components->count()) { $this->IDArray = $components->column("ID"); } } $reset = false; if (!$this->IDArray) { $reset = true; } elseif (!is_array($this->IDArray)) { $reset = true; } elseif (!count($this->IDArray)) { $reset = true; } if ($reset) { $this->IDArray = array(0 => 0); } $extraWhere = ""; if (!$this->hasFilter) { $extraWhere = " AND \"Favourites\" = 1"; } return WebPortfolioItem::get()->where("\"WebPortfolioItem\".\"ID\" IN (" . implode(",", $this->IDArray) . ") AND \"WebPortfolioPage_WebPortfolioItems\".\"WebPortfolioPageID\" = " . $this->ID . $extraWhere)->sort(array("Favourites" => "DESC", "RAND()" => "ASC"))->innerJoin("WebPortfolioPage_WebPortfolioItems", "\"WebPortfolioPage_WebPortfolioItems\".\"WebPortfolioItemID\" = \"WebPortfolioItem\".\"ID\""); }