public function updateCMSFields(FieldList $fields) { $redirectUrl = HailProvider::getRedirectUri(); $redirectField = new ReadonlyField('RedirectURL', 'Redirect URL', $redirectUrl); // Twitter setup $fields->addFieldsToTab('Root.Hail', array(new TextField('HailClientID', 'Client ID', null, 255), new TextField('HailClientSecret', 'Client Secret', null, 255), $redirectField)); $siteconfig = SiteConfig::current_site_config(); if (HailProvider::isReadyToAuthorised()) { $provider = new HailProvider(); $link = HailProvider::isAuthorised() ? 'Reauthorise SilverStripe to Access Hail' : 'Authorise SilverStripe to Access Hail'; $auth = $provider->getAuthorizationUrl(); $fields->addFieldsToTab('Root.Hail', new LiteralField('Go', "<a href='{$auth}'>{$link}</a>")); } try { if (HailProvider::isAuthorised()) { $orgs = HailApi::getOrganisationList(); $orgs[''] = ''; $orgField = DropdownField::create('HailOrgID', 'Hail Organisation', $orgs); $fields->addFieldsToTab('Root.Hail', $orgField); } } catch (HailApiException $ex) { $fields->addFieldsToTab('Root.Hail', new LiteralField('Retry', 'You Have to Re-Authorise SilverStripe to Access Hail')); } $holderField = DropdownField::create('PrimaryHailHolderID', 'Primary Hail Holder', HailHolder::get()->map('ID', 'Title')); $holderField->setEmptyString('(None)'); $fields->addFieldsToTab('Root.Hail', $holderField); }
public function Link() { $holder = SiteConfig::current_site_config()->PrimaryHailHolder; if (!$holder) { $holder = HailHolder::get()->first(); } if (!$holder) { return false; } return $holder->Link('article/' . $this->ID); }