Example #1
0
 public function updateCMSFields(FieldList $fields)
 {
     $fields->insertBefore(new Tab('MembershipDetails', 'Membership Details'), 'Main');
     //move first and ;astname
     $fields->addFieldToTab('Root.MembershipDetails', $fields->dataFieldByName('FirstName'));
     $fields->addFieldToTab('Root.MembershipDetails', $fields->dataFieldByName('Surname'));
     $fields->addFieldToTab('Root.MembershipDetails', $fields->dataFieldByName('Email'));
     $fields->addFieldToTab('Root.MembershipDetails', $region = DropdownField::create('RegionID', 'Region', Region::get()->map('ID', 'Title')));
     $region->setEmptyString(' ');
     $fields->addFieldToTab('Root.MembershipDetails', DropdownField::create('MembershipStatus', 'Membership Status', $this->owner->dbObject('MembershipStatus')->enumValues()));
     $fields->addFieldToTab('Root.MembershipDetails', $expiry = DateField::create('ExpiryDate'));
     $fields->addFieldToTab('Root.MembershipDetails', DropdownField::create('Discount', 'Discount', $this->owner->dbObject('Discount')->enumValues()));
     $fields->addFieldToTab('Root.MembershipDetails', $discountExpiry = DateField::create('DiscountExpiryDate'));
     $fields->addFieldToTab('Root.MembershipDetails', $joined = DateField::create('JoinedDate'));
     $fields->addFieldToTab('Root.MembershipDetails', TextareaField::create('NotesForMember'));
     if ($this->owner->MembershipStatus !== "Not applied") {
         $fields->addFieldToTab('Root.MembershipDetails', TextField::create('MemberNumber'));
     }
     $fields->addFieldToTab('Root.MembershipDetails', TextField::create('HomePhone'));
     $fields->addFieldToTab('Root.MembershipDetails', TextField::create('WorkPhone'));
     $fields->addFieldToTab('Root.MembershipDetails', TextField::create('MobilePhone'));
     $fields->addFieldToTab('Root.MembershipDetails', TextareaField::create('Address'));
     $fields->addFieldToTab('Root.MembershipDetails', TextField::create('Occupation'));
     $fields->addFieldToTab('Root.MembershipDetails', TextField::create('BirthDate'));
     $expiry->setConfig('showcalendar', true);
     $expiry->setConfig('showdropdown', true);
     $expiry->setConfig('dateformat', 'dd-MM-YYYY');
     $discountExpiry->setConfig('showcalendar', true);
     $discountExpiry->setConfig('showdropdown', true);
     $discountExpiry->setConfig('dateformat', 'dd-MM-YYYY');
     $joined->setConfig('showcalendar', true);
     $joined->setConfig('showdropdown', true);
     $joined->setConfig('dateformat', 'dd-MM-YYYY');
 }
 public function updateCMSFields(FieldList $fields)
 {
     $fields->removeFieldFromTab("Root.Main", "MenuTitle");
     $fields->addFieldToTab('Root.Main', new LiteralField("manage", "<a style='margin-bottom:15px' class='backlink ss-ui-button cms-panel-link ui-button ui-widget ui-state-default ui-corner-all ui-button-text-icon-primary ui-state-hover ui-state-active' data-icon='back' href='" . Director::absoluteBaseURL() . "admin/pages/edit/show/" . $this->owner->Parent()->ID . "' role='button' aria-disabled='false'><span class='ui-button-icon-primary ui-icon btn-icon-back'></span><span style='padding-left:5px' >\n\t\t\tManage Posts\n\t\t</span></a>"), 'Title');
     $image = $fields->dataFieldByName("FeaturedImage");
     if ($image) {
         $image->setFolderName('Managed/BlogPosts/Featured');
         $image->setCanPreviewFolder(false);
     }
     // Get config options for using tags / categories
     $use_categories = Config::inst()->get("Blog", 'use_categories');
     $use_tags = Config::inst()->get("Blog", 'use_tags');
     $use_featured_image = Config::inst()->get("Blog", 'use_featured_image');
     // Adds message below tags/categories fields if none exist telling user where to create them
     if (!$this->owner->Parent()->Categories()->count() && $use_categories) {
         $cats = $fields->dataFieldByName("Categories");
         $cats->setRightTitle("You must first add categories via the <strong>Blog Options</strong> tab on the <a href='admin/pages/edit/show/" . $this->owner->Parent()->ID . "'>main Blog page</a>.");
     }
     if (!$this->owner->Parent()->Tags()->count() && $use_tags) {
         $cats = $fields->dataFieldByName("Tags");
         $cats->setRightTitle("You must first add tags via the <strong>Blog Options</strong> tab on the <a href='admin/pages/edit/show/" . $this->owner->Parent()->ID . "'>main Blog page</a>.");
     }
     // Hide tags/categories fields if turned off in config
     if (!$use_categories) {
         $fields->removeByName("Categories");
     }
     if (!$use_tags) {
         $fields->removeByName("Tags");
     }
     if (!$use_featured_image && !$this->owner->FeaturedImage()->exists()) {
         $fields->removeFieldFromTab("Root.Main", "FeaturedImage");
     }
     // Need to add proper support for this, removing for now, needs to play nicely with my "Disply Full Posts" option:
     $fields->removeFieldFromTab("Root.Main", "CustomSummary");
 }
 /**
  * @param string $message
  * @param string $messageType
  */
 public function setError($message, $messageType)
 {
     // show the manual fields
     $this->manualToggle->setValue('1');
     $name = $this->getName();
     $field = $this->manualFields->dataFieldByName("{$name}[{$messageType}]");
     if ($field) {
         $field->setError($message, 'validation');
     }
 }
 public function updateCMSFields(FieldList $fields)
 {
     $fields->dataFieldByName('Title')->setTitle(_t('Linkable.TITLE', 'Link Text'));
     $fields->dataFieldByName('OpenInNewWindow')->hideIf("Type")->isEqualTo("File")->end();
     /** @var TextField $seoText */
     $fields->addFieldToTab('Root.Main', $seoText = TextField::create('LinkSeoText', _t('Linkable.SEOTEXT', 'SEO Title Attribute')), 'Type');
     $seoText->setDescription('Optional. Will be equal to Link Text if left blank');
     $fields->addFieldToTab('Root.Main', $forceDownload = CheckboxField::create('ForceDownload', _t('Linkable.FORCEDOWNLOAD', 'Force user to download file')));
     $forceDownload->displayIf('Type')->isEqualTo("File")->end();
     $fields->removeByName('OwningPageID');
 }
 public function updateCMSFields(FieldList $fields)
 {
     $field = $fields->dataFieldByName('MetaTitle');
     if ($field) {
         $field->setAttribute('data-length', self::$meta_title_length);
     }
     $field = $fields->dataFieldByName('MetaDescription');
     if ($field) {
         $field->setAttribute('data-length', self::$meta_description_length);
     }
     return $fields;
 }
 function updateCMSFields(FieldList $fields)
 {
     $subsites = Subsite::accessible_sites("CMS_ACCESS_CMSMain");
     $subsitesMap = array();
     if ($subsites && $subsites->Count()) {
         $subsitesMap = $subsites->map('ID', 'Title');
         unset($subsitesMap[$this->owner->SubsiteID]);
     }
     // Master page edit field (only allowed from default subsite to avoid inconsistent relationships)
     $isDefaultSubsite = $this->owner->SubsiteID == 0 || $this->owner->Subsite()->DefaultSite;
     if ($isDefaultSubsite && $subsitesMap) {
         $fields->addFieldToTab('Root.Main', new DropdownField("CopyToSubsiteID", _t('SiteTreeSubsites.CopyToSubsite', "Copy page to subsite"), $subsitesMap, ''));
         $fields->addFieldToTab('Root.Main', $copyAction = new InlineFormAction("copytosubsite", _t('SiteTreeSubsites.CopyAction', "Copy")));
         $copyAction->includeDefaultJS(false);
     }
     // replace readonly link prefix
     $subsite = $this->owner->Subsite();
     $nested_urls_enabled = Config::inst()->get('SiteTree', 'nested_urls');
     if ($subsite && $subsite->ID) {
         $baseUrl = Director::protocol() . $subsite->domain() . '/';
         $baseLink = Controller::join_links($baseUrl, $nested_urls_enabled && $this->owner->ParentID ? $this->owner->Parent()->RelativeLink(true) : null);
         $urlsegment = $fields->dataFieldByName('URLSegment');
         $urlsegment->setURLPrefix($baseLink);
     }
 }
 /**
  * @param FieldList $fields
  */
 public function updateCMSFields(FieldList $fields)
 {
     // Redo LDAP metadata fields as read-only and move to LDAP tab.
     $ldapMetadata = array();
     $fields->replaceField('IsImportedFromLDAP', $ldapMetadata[] = new ReadonlyField('IsImportedFromLDAP', _t('LDAPMemberExtension.ISIMPORTEDFROMLDAP', 'Is user imported from LDAP/AD?')));
     $fields->replaceField('GUID', $ldapMetadata[] = new ReadonlyField('GUID'));
     $fields->replaceField('IsExpired', $ldapMetadata[] = new ReadonlyField('IsExpired', _t('LDAPMemberExtension.ISEXPIRED', 'Has user\'s LDAP/AD login expired?')));
     $fields->replaceField('LastSynced', $ldapMetadata[] = new ReadonlyField('LastSynced', _t('LDAPMemberExtension.LASTSYNCED', 'Last synced')));
     $fields->addFieldsToTab('Root.LDAP', $ldapMetadata);
     if ($this->owner->IsImportedFromLDAP) {
         // Transform the automatically mapped fields into read-only.
         $mappings = Config::inst()->get('Member', 'ldap_field_mappings');
         foreach ($mappings as $ldap => $ss) {
             $field = $fields->dataFieldByName($ss);
             if (!empty($field)) {
                 // This messes up the Member_Validator, preventing the record from saving :-(
                 // $field->setReadonly(true);
                 $field->setTitle($field->Title() . _t('LDAPMemberExtension.IMPORTEDFIELD', ' (imported)'));
             }
         }
         // Display alert message at the top.
         $message = _t('LDAPMemberExtension.INFOIMPORTED', 'This user is automatically imported from LDAP. ' . 'Manual changes to imported fields will be removed upon sync.');
         $fields->addFieldToTab('Root.Main', new LiteralField('Info', sprintf('<p class="message warning">%s</p>', $message)), 'FirstName');
     }
 }
Example #8
0
 public function updateCMSFields(FieldList $fields)
 {
     $logo = $fields->dataFieldByName('Logo');
     $fields->removeByName('ParentID');
     $fields->removeByName('Sort');
     $fields->insertAfter($logo, 'Title');
 }
 public function updateCMSFields(\FieldList $fields)
 {
     if (!$this->owner->Deleted) {
         $fields->removeByName('Deleted');
         $fields->removeByName('DeletedByID');
     } else {
         $Deleted = $fields->dataFieldByName('Deleted');
         $DeletedByID = $fields->dataFieldByName('DeletedByID');
         if ($Deleted) {
             $fields->makeFieldReadonly('Deleted');
         }
         if ($DeletedByID) {
             $fields->makeFieldReadonly('DeletedByID');
         }
     }
 }
 public function updateCMSFields(FieldList $fields)
 {
     if (!$fields->dataFieldByName('ActivateMinisite')) {
         $fields->addFieldToTab('Root.Main', new FieldGroup("Minisite Layout", array(new CheckboxField('ActivateMinisite', 'Activate'))), "Title");
     }
     return $fields;
 }
 public function updateCMSFields(FieldList $fields)
 {
     $subsites = class_exists('Subsite');
     $onMainSite = TRUE;
     $currentSubsiteID = 0;
     $currentSiteConfig = SiteConfig::current_site_config();
     if ($subsites) {
         $currentSubsiteID = Subsite::currentSubsiteID();
         if ($currentSubsiteID) {
             $onMainSite = FALSE;
         }
         $mainSiteConfig = SiteConfig::get()->filter('SubsiteID', 0)->first();
     } else {
         $mainSiteConfig = $currentSiteConfig;
     }
     // Add mailblock CMS fields.
     if (Permission::check('MANAGE_MAILBLOCK') && ($mainSiteConfig->getField('MailblockApplyPerSubsite') || $onMainSite)) {
         $enabled = $currentSiteConfig->getField('MailblockEnabled');
         $tabSet = new TabSet('Mailblock', $settingsTab = $this->basicSettingsFields(), $advancedSettingsTab = $this->advancedSettingsFields($onMainSite, $currentSubsiteID), $testTab = $this->testEmailCMSFields($enabled));
         $fields->addFieldToTab('Root', $tabSet);
         $hiddenFields = array('MailblockEnabledOnLive', 'MailblockOverrideConfiguration', 'MailblockRecipients', 'MailblockWhitelist');
         if ($subsites && $currentSubsiteID == 0) {
             $hiddenFields[] = 'MailblockApplyPerSubsite';
         }
         foreach ($hiddenFields as $field) {
             $field = $fields->dataFieldByName($field);
             $field->displayIf('MailblockEnabled')->isChecked();
         }
     }
 }
 /**
  * standard SS method
  * @var Array
  **/
 public function updateCMSFields(FieldList $fields)
 {
     //separate MetaTitle
     if (Config::inst()->get("MetaTagsContentControllerEXT", "use_separate_metatitle") == 1) {
         $fields->addFieldToTab('Root.Main.Metadata', $allowField0 = new TextField('MetaTitle', _t('SiteTree.METATITLE', 'Meta Title')), "MetaDescription");
         $allowField0->setRightTitle(_t("SiteTree.METATITLE_EXPLANATION", "Leave this empty to use the page title"));
     }
     //info about automation
     $fields->addFieldToTab('Root.Main.Metadata', $allowField1 = new CheckboxField('AutomateMetatags', _t('MetaManager.UPDATEMETA', 'Automatically update Meta Description and Navigation Label? ')));
     $automatedFields = $this->updatedFieldsArray();
     $updatedFieldString = "";
     if (count($automatedFields)) {
         $updatedFieldString = "" . _t("MetaManager.UPDATED_EXTERNALLY", "Based on your current settings, the following fields will be automatically updated at all times") . ": <em>" . implode("</em>, <em>", $automatedFields) . "</em>.";
         foreach ($automatedFields as $fieldName => $fieldTitle) {
             $oldField = $fields->dataFieldByName($fieldName);
             if ($oldField) {
                 $newField = $oldField->performReadonlyTransformation();
                 //$newField->setTitle($newField->Title());
                 $newField->setRightTitle(_t("MetaTags.AUTOMATICALLY_UPDATED", "Automatically updated when you save this page (see metadata settings)."));
                 $fields->replaceField($fieldName, $newField);
             }
         }
     }
     $fields->removeByName('ExtraMeta');
     $linkToManager = Config::inst()->get("MetaTagCMSControlPages", "url_segment") . '/';
     $fields->addFieldToTab('Root.Main.Metadata', new LiteralField("LinkToManagerHeader", "<blockquote style='padding-left: 12px;'>\n\t\t\t\t\t<p>\n\t\t\t\t\t\tOpen the Meta Tag Manager to\n\t\t\t\t\t\t<a href=\"{$linkToManager}\" target=\"_blank\">Review and Edit</a>\n\t\t\t\t\t\tthe Meta Data for all pages on this site.\n\t\t\t\t\t\tAlso make sure to review the general settings for\n\t\t\t\t\t\t<a href=\"/admin/settings/\">Search Engines</a>. {$updatedFieldString}\n\t\t\t\t\t</p>\n\t\t\t\t</blockquote>"));
     if ($this->owner->URLSegment == RootURLController::get_default_homepage_link()) {
         $newField = $fields->dataFieldByName('URLSegment');
         $newField->setRightTitle("Careful: changing the URL from 'home' to anything else means that this page will no longer be the home page");
         $fields->replaceField('URLSegment', $newField);
     }
     return $fields;
 }
 public function updateCMSFields(FieldList $fields)
 {
     $grid = $fields->dataFieldByName('Members');
     if ($grid) {
         $grid->getConfig()->removeComponentsByType('GridFieldDeleteAction');
         $grid->getConfig()->addComponent(new MemberGroupDeleteAction(true));
     }
 }
 /**
  * Updates the CMS fields adding the fields defined in this extension
  * @param {FieldList} $fields Field List that new fields will be added to
  */
 public function updateCMSFields(FieldList $fields)
 {
     $urlSegmentField = $fields->dataFieldByName('URLSegment');
     if ($urlSegmentField) {
         $baseLink = Controller::join_links(Director::absoluteBaseURL(), (Config::inst()->get('MultilingualRootURLController', 'UseLocaleURL') ? $this->owner->Locale : i18n::get_lang_from_locale($this->owner->Locale)) . '/', SiteTree::config()->nested_urls && $this->owner->ParentID ? $this->owner->Parent()->RelativeLink(true) : null);
         $urlSegmentField->setURLPrefix($baseLink);
     }
 }
 public function updateCMSFields(FieldList $fields)
 {
     $owner = $this->owner;
     if (isset($owner::$db_descriptions)) {
         foreach ($owner::$db_descriptions as $field => $description) {
             $fields->dataFieldByName($field)->setDescription($description);
         }
     }
 }
Example #16
0
 /**
  * Add required stars to field labels.
  *
  * @param array     $required
  * @param FieldList $fields
  */
 protected function setRequiredFieldsLabels($required, FieldList $fields)
 {
     foreach ((array) $required as $req) {
         $field = $fields->dataFieldByName($req);
         if ($field && ($title = trim($field->Title()))) {
             $this->setCustomValidationMessage($field, $title);
             $field->setTitle($title . ' *');
         }
     }
 }
Example #17
0
 public function updateCMSFields(FieldList $fields)
 {
     $details = $fields->dataFieldByName('Details');
     $event = $fields->dataFieldByName('EventPageID');
     $cID = Calendar::get_one('Calendar')->ID;
     $fields->push($calendar = HiddenField::create('CalendarID', 'Calendar'));
     $calendar->setValue($cID);
     $fields->insertAfter($event, 'TimeFrameType');
     $fields->insertAfter($region = DropdownField::create('RegionID', 'Region', Region::get()->map('ID', 'Title')), 'EventPageID');
     $region->setEmptyString(' ');
     $fields->removeByName('RelatedPage');
     $fields->addFieldToTab('Root.Details', TextareaField::create('Intro', 'Intro'));
     $fields->insertAfter($details, 'Intro');
     $fields->addFieldToTab('Root.Brand', ColorPaletteField::create("Colour", "Colour", $this->owner->getPalette()));
     $fields->insertAfter($splash = UploadField::create('SplashImage', 'Splash Image'), 'Colour');
     $fields->insertAfter($small = UploadField::create('SmallImage', 'Small Image'), 'SplashImage');
     $splash->setFolderName('Uploads/Splash-Images');
     $small->setFolderName('Uploads/Small-Images');
 }
 public function updateCMSFields(FieldList $fields)
 {
     $form = $this->nonProtectedGetFormParent();
     // add back email fields to send a confirmation to
     $extraEmailFromFields = EditableEmailField::get()->filter('ParentID', $form->ID);
     $source = $fields->dataFieldByName('SendEmailToFieldID')->getSource();
     // replace or add...
     if (Config::inst()->get(get_class(), 'replace_existing')) {
         $fields->dataFieldByName('SendEmailToFieldID')->setSource($extraEmailFromFields->map('ID', 'Title')->toArray())->setEmptyString('');
         // allow empty
     } else {
         foreach ($extraEmailFromFields->map('ID', 'Title')->toArray() as $key => $val) {
             if (!$source->offsetExists($key)) {
                 $source->unshift($key, $val);
             }
         }
         $fields->dataFieldByName('SendEmailToFieldID')->setSource($source)->setEmptyString('');
         // allow empty
     }
 }
 public function updateCMSFields(FieldList $fields)
 {
     // if there are Models set in the Product Category then use a dropdown to select
     if ($this->owner->Parent && $this->owner->Parent->ProductModels()->count()) {
         $fields->replaceField('Model', DropdownField::create('Model', _t("Product.MODELREQUIRED", "Model (required)"), ArrayLib::valuekey($this->owner->Parent->ProductModels()->column('Title')))->setEmptyString(_t("Product.MODELSELECT", "Select..."))->setAttribute('Required', true));
     } else {
         // Update Model for extended length
         // see config.yml for updated db settings
         $model = $fields->dataFieldByName('Model');
         $model->setMaxLength(100);
     }
 }
 /**
  * Updates the form fields for address'es to use a dropdown for the state and an additional field for the other state
  * @param {FieldList} $fields Fields to modify
  */
 public function updateFormFields(FieldList $fields)
 {
     $stateField = $fields->dataFieldByName('State');
     if ($stateField) {
         $newStateField = new GroupedDropdownField('State', $stateField->Title, array(_t('FedExStateProvinceExtension.UNITED_STATES', '_United States') => array('AL' => _t('FedExStateProvinceExtension.US_AL', '_Alabama'), 'LA' => _t('FedExStateProvinceExtension.US_LA', '_Louisiana'), 'OK' => _t('FedExStateProvinceExtension.US_OK', '_Oklahoma'), 'AK' => _t('FedExStateProvinceExtension.US_AK', '_Alaska'), 'ME' => _t('FedExStateProvinceExtension.US_ME', '_Maine'), 'OR' => _t('FedExStateProvinceExtension.US_OR', '_Oregon'), 'AZ' => _t('FedExStateProvinceExtension.US_AZ', '_Arizona'), 'MD' => _t('FedExStateProvinceExtension.US_MD', '_Maryland'), 'PA' => _t('FedExStateProvinceExtension.US_PA', '_Pennsylvania'), 'AR' => _t('FedExStateProvinceExtension.US_AR', '_Arkansas'), 'MA' => _t('FedExStateProvinceExtension.US_MA', '_Massachusetts'), 'RI' => _t('FedExStateProvinceExtension.US_RI', '_Rhode Island'), 'CA' => _t('FedExStateProvinceExtension.US_CA', '_California'), 'MI' => _t('FedExStateProvinceExtension.US_MI', '_Michigan'), 'SC' => _t('FedExStateProvinceExtension.US_SC', '_South Carolina'), 'CO' => _t('FedExStateProvinceExtension.US_CO', '_Colorado'), 'MN' => _t('FedExStateProvinceExtension.US_MN', '_Minnesota'), 'SD' => _t('FedExStateProvinceExtension.US_SD', '_South Dakota'), 'CT' => _t('FedExStateProvinceExtension.US_CT', '_Connecticut'), 'MS' => _t('FedExStateProvinceExtension.US_MS', '_Mississippi'), 'TN' => _t('FedExStateProvinceExtension.US_TN', '_Tennessee'), 'DE' => _t('FedExStateProvinceExtension.US_DE', '_Delaware'), 'MO' => _t('FedExStateProvinceExtension.US_MO', '_Missouri'), 'TX' => _t('FedExStateProvinceExtension.US_TX', '_Texas'), 'DC' => _t('FedExStateProvinceExtension.US_DC', '_District of Columbia'), 'MT' => _t('FedExStateProvinceExtension.US_MT', '_Montana'), 'UT' => _t('FedExStateProvinceExtension.US_UT', '_Utah'), 'FL' => _t('FedExStateProvinceExtension.US_FL', '_Florida'), 'NE' => _t('FedExStateProvinceExtension.US_NE', '_Nebraska'), 'VT' => _t('FedExStateProvinceExtension.US_VT', '_Vermont'), 'GA' => _t('FedExStateProvinceExtension.US_GA', '_Georgia'), 'NV' => _t('FedExStateProvinceExtension.US_NV', '_Nevada'), 'VA' => _t('FedExStateProvinceExtension.US_VA', '_Virginia'), 'HI' => _t('FedExStateProvinceExtension.US_HI', '_Hawaii'), 'NH' => _t('FedExStateProvinceExtension.US_NH', '_New Hampshire'), 'WA' => _t('FedExStateProvinceExtension.US_WA', '_Washington State'), 'ID' => _t('FedExStateProvinceExtension.US_ID', '_Idaho'), 'NJ' => _t('FedExStateProvinceExtension.US_NJ', '_New Jersey'), 'WV' => _t('FedExStateProvinceExtension.US_WV', '_West Virginia'), 'IL' => _t('FedExStateProvinceExtension.US_IL', '_Illinois'), 'NM' => _t('FedExStateProvinceExtension.US_NM', '_New Mexico'), 'WI' => _t('FedExStateProvinceExtension.US_WI', '_Wisconsin'), 'IN' => _t('FedExStateProvinceExtension.US_IN', '_Indiana'), 'NY' => _t('FedExStateProvinceExtension.US_NY', '_New York'), 'WY' => _t('FedExStateProvinceExtension.US_WY', '_Wyoming'), 'IA' => _t('FedExStateProvinceExtension.US_IA', '_Iowa'), 'NC' => _t('FedExStateProvinceExtension.US_NC', '_North Carolina'), 'PR' => _t('FedExStateProvinceExtension.US_PR', '_Puerto Rico'), 'KS' => _t('FedExStateProvinceExtension.US_KS', '_Kansas'), 'ND' => _t('FedExStateProvinceExtension.US_ND', '_North Dakota'), 'KY' => _t('FedExStateProvinceExtension.US_KY', '_Kentucky'), 'OH' => _t('FedExStateProvinceExtension.US_OH', '_Ohio')), _t('FedExStateProvinceExtension.CANADA', '_Canada') => array('AB' => _t('FedExStateProvinceExtension.CA_AB', '_Alberta'), 'BC' => _t('FedExStateProvinceExtension.CA_BC', '_British Columbia'), 'MB' => _t('FedExStateProvinceExtension.CA_MB', '_Manitoba'), 'NB' => _t('FedExStateProvinceExtension.CA_NB', '_New Brunswick'), 'NL' => _t('FedExStateProvinceExtension.CA_NL', '_Newfoundland'), 'NT' => _t('FedExStateProvinceExtension.CA_NT', '_Northwest Territories and Labrador'), 'NS' => _t('FedExStateProvinceExtension.CA_NS', '_Nova Scotia'), 'NU' => _t('FedExStateProvinceExtension.CA_NU', '_Nunavut'), 'ON' => _t('FedExStateProvinceExtension.CA_ON', '_Ontario'), 'PE' => _t('FedExStateProvinceExtension.CA_PE', '_Prince Edward Island'), 'QC' => _t('FedExStateProvinceExtension.CA_QC', '_Quebec'), 'SK' => _t('FedExStateProvinceExtension.CA_SK', '_Saskatchewan'), 'YT' => _t('FedExStateProvinceExtension.CA_YT', '_Yukon')), '' => _t('FedExStateProvinceExtension.OTHER', '_Other')));
         $newStateField->setDescription = $stateField->getDescription();
         $newStateField->setForm($stateField->getForm());
         $fields->replaceField('State', $newStateField);
         $fields->insertAfter($otherState = new TextField('OtherState', _t('FedExStateProvinceExtension.OTHER_STATE', '_Other State'), null, 200), 'State');
         $otherState->setDescription(_t('FedExStateProvinceExtension.OTHER_DESC', '_If you chose other as your state please place it here'));
         $otherState->setForm($stateField->getForm());
     }
 }
 public function updateCMSFields(FieldList $fields)
 {
     $fields->addFieldToTab('Root.Main.Metadata', $keywordsField = new TextareaField('MetaKeywords', 'Meta Keywords'), "ExtraMeta");
     $fields->addFieldToTab('Root.Main.Metadata', new TextField('MetaTitle', 'Meta Title'), 'MetaDescription');
     foreach (array('MetaTitle', 'MetaDescription', 'MetaKeywords') as $MetaFieldName) {
         $oldField = $fields->dataFieldByName($MetaFieldName);
         $oldField->setTitle($oldField->Title() . '<span class="field_count">' . strlen($this->owner->{$MetaFieldName}) . '</span>');
     }
     $keywordsField->setRows(1);
     if (permission::check('ADMIN')) {
         $fields->addFieldToTab("Root.Main", new CheckboxField("NoFollow", "Set nav link to no-follow?"), "MetaDescription");
         $fields->addFieldToTab('Root.Main.Metadata', new TextareaField('URLRedirects', '301 Redirects'));
     }
     return $fields;
 }
 public function updateCMSFields(FieldList $fields)
 {
     if ($this->owner->ParentID) {
         $url = $this->owner->Parent()->AbsoluteLink();
         if (!$url) {
             $url = $this->owner->Parent()->getURL() . '/';
         }
     } else {
         $url = Director::absoluteBaseURL();
     }
     if (strlen($url) > 36) {
         $url = '...' . substr($url, -32);
     }
     $fields->dataFieldByName('URLSegment')->setURLPrefix($url);
 }
 public function updateCMSFields(FieldList $fields)
 {
     if ($this->owner->UserSubmissionHolder()) {
         $gridField = $fields->dataFieldByName('Values');
         if ($gridField) {
             $config = $gridField->getConfig();
             $config->addComponent(new GridFieldEditButton());
             $config->addComponent(new GridFieldToolbarHeader());
             $config->addComponent($sort = new GridFieldSortableHeader());
             $config->addComponent(new GridFieldDetailForm());
         }
         $page = $this->owner->UserSubmissionPage();
         if ($page && $page->exists()) {
             $fields->insertBefore(LiteralField::create('Values_UserSubmissionPage_Message', '<p><span style="color: #C00;">Warning:</span> Editing the submission at this level will affect the page that this is tied to.</p>'), 'Values');
         }
     }
 }
 public function updateCMSFields(FieldList $fields)
 {
     // replace readonly link prefix
     $subsite = $this->owner->Subsite();
     $nested_urls_enabled = Config::inst()->get('SiteTree', 'nested_urls');
     if ($subsite && $subsite->exists()) {
         // Use baseurl from domain
         $baseLink = $subsite->absoluteBaseURL();
         // Add parent page if enabled
         if ($nested_urls_enabled && $this->owner->ParentID) {
             $baseLink = Controller::join_links($baseLink, $this->owner->Parent()->RelativeLink(true));
         }
         $urlsegment = $fields->dataFieldByName('URLSegment');
         if ($urlsegment) {
             $urlsegment->setURLPrefix($baseLink);
         }
     }
 }
Example #25
0
 /**
  * Checks through config.field_tabs for the extended class and moves fields from existing
  * tab to designated tab by field name.
  *
  * @param FieldList $fields
  */
 public function updateProductCMSFields(FieldList $fields)
 {
     $extendedClass = get_class($this->owner);
     if ($fieldTabs = CrackerJackModule::get_config_setting(__CLASS__, 'field_tabs', $extendedClass)) {
         foreach ($fieldTabs as $fieldName => $tabName) {
             /** @var FormField $field */
             if ($field = $fields->dataFieldByName($fieldName)) {
                 $containerFieldList = $field->getContainerFieldList();
                 // TODO add check so we don't do this if already in correct tab
                 $containerFieldList->removeByName($fieldName);
                 if (0 === $containerFieldList->count()) {
                     $fields->removeByName($fieldName, false);
                 }
                 $fields->addFieldToTab($tabName, $field);
             }
         }
     }
 }
 public function updateCMSFields(FieldList $fields)
 {
     $grid = $fields->dataFieldByName('ApiKeys');
     if (!$grid) {
         return;
     }
     $gridConfig = $grid->getConfig();
     // Simplify view
     $gridConfig->removeComponentsByType('GridFieldAddExistingAutocompleter');
     $gridConfig->removeComponentsByType('GridFieldDetailForm');
     $gridConfig->removeComponentsByType('GridFieldEditButton');
     // Better add key button
     $gridConfig->removeComponentsByType('GridFieldAddNewButton');
     $gridConfig->addComponent(new GridFieldAddApiKeyButton('buttons-before-left'));
     // Replace unlink with a real delete
     $gridConfig->removeComponentsByType('GridFieldDeleteAction');
     $gridConfig->addComponent(new GridFieldDeleteAction());
 }
 public function updateCMSFields(FieldList $fields)
 {
     //change Page Name label to Primary Heading - H1 - Only if the title hasn't already been changed
     /** @var TextField $titleField */
     $titleField = $fields->dataFieldByName('Title');
     if ($titleField->Title() == 'Page name') {
         $fields->renameField('Title', 'Primary Heading');
     }
     //Add secondary heading - H2
     $fields->insertAfter(TextField::create('SubTitle', 'Secondary Heading'), 'Title');
     $traits = $this->traitsUsedRecursive($this->owner->ClassName);
     if ($this->owner->config()->get('has_on_after_update_cms_fields')) {
         $traits[] = 'HasOnAfterUpdateCMSFieldsExtensionPoint';
     }
     if (!in_array('HasOnAfterUpdateCMSFieldsExtensionPoint', $traits)) {
         $this->afterUpdateCMSFields($fields);
     }
 }
    public function updateCMSFields(FieldList $fields)
    {
        //change Page Name label to Primary Heading - H1 - Only if the title hasn't already been changed
        /** @var TextField $titleField */
        $titleField = $fields->dataFieldByName('Title');
        if ($titleField->Title() == 'Page Name') {
            $fields->renameField('Title', 'Primary Heading');
        }
        //Add secondary heading - H2
        $fields->insertAfter(TextField::create('SubTitle', 'Secondary Heading'), 'Title');
        //Move meta fields to their own tab
        /** @var ToggleCompositeField $metaDataChildren */
        $metaDataChildren = $fields->fieldByName('Root.Main.Metadata');
        $children = array_merge([$metaTitle = TextField::create('MetaTitle')], $metaDataChildren->getChildren()->toArray());
        $fields->removeFieldFromTab('Root.Main', 'Metadata');
        $fields->addFieldToTab('Root', Tab::create('Metadata'), 'Content');
        //Add META Title tag to METADATA
        $fields->addFieldsToTab('Root.Metadata', $children);
        $metaTitle->setDescription('Displayed as the tab/window name; Also displayed in search engine result listings as the page title.<br />
									Falls back to the Primary Heading field if not provided.');
    }
    public function updateCMSFields(FieldList $fields)
    {
        Requirements::customCSS(<<<CSS
\t\t\tform.small .field input.text,
\t\t\tform.small .field textarea,
\t\t\tform.small .field select,
\t\t\tform.small .field .TreeDropdownField,
\t\t\t.field.small input.text,
\t\t\t.field.small textarea,
\t\t\t.field.small select,
\t\t\t.field.small .TreeDropdownField {
    \t\t\twidth: 100%;
\t\t\t}
CSS
);
        $fields->dataFieldByName('Title')->setTitle(_t('Linkable.TITLE', 'Title Attribute'))->setDescription('Describe the image to humans');
        /** @var TextField $altText */
        $fields->addFieldToTab('Root.Main', $altText = TextField::create('AltText', _t('Linkable.SEOTEXT', 'Alt Attribute')), 'Name');
        $altText->setDescription('Describe the image to google');
        $fields->removeByName('OwningPageID');
    }
 public function updateCMSFields(FieldList $fields)
 {
     if ($this->owner->Parent()->config()->get('hide_categories')) {
         $fields->removeByName('Categories');
     } else {
         if ($this->owner->config()->get('use_addnewlistboxfield')) {
             // Remove this once tagfield us fixed
             $list = new AddNewListboxField('Categories', 'Categories', $this->owner->Parent()->Categories()->map("ID", "Title")->toArray());
             $list->setMultiple(true);
             $list->setModel('BlogCategory')->setDialogTitle('New Category')->setBeforeWriteCallback(array($this->owner, 'AddNewDropDownFieldCategorisationCallback'));
             $fields->replaceField('Categories', $list);
         }
     }
     if ($this->owner->Parent()->config()->get('hide_tags')) {
         $fields->removeByName('Tags');
     } else {
         if ($this->owner->config()->get('use_addnewlistboxfield')) {
             // Remove this once tagfield us fixed
             $list = new AddNewListboxField('Tags', 'Tags', $this->owner->Parent()->Tags()->map("ID", "Title")->toArray());
             $list->setMultiple(true);
             $list->setModel('BlogTag')->setDialogTitle('New Tag')->setBeforeWriteCallback(array($this->owner, 'AddNewDropDownFieldCategorisationCallback'));
             $fields->replaceField('Tags', $list);
         }
     }
     if ($this->owner->config()->get('hide_authors')) {
         $fields->removeByName("Authors");
         $fields->removeByName("AuthorNames");
     }
     if ($this->owner->config()->get('hide_summary')) {
         $fields->removeByName("CustomSummary");
     }
     if ($this->owner->config()->get('hide_image')) {
         $fields->removeByName("FeaturedImage");
     } else {
         // Add description about ContentImage
         $fields->dataFieldByName('FeaturedImage')->setDescription(_t('BlogPost.FEATURED_IMAGE_DESCRIPTION', 'If no image is supplied then the first image found in the article content will be used if one exists.'));
     }
 }