Source of file FluentLeftAndMainExtension.php
Size: 1,900 Bytes - Last Modified: 2021-12-23T10:53:31+00:00
/var/www/docs.ssmods.com/process/src/src/Extension/FluentLeftAndMainExtension.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 | <?php namespace TractorCow\Fluent\Extension; use SilverStripe\Admin\LeftAndMain; use SilverStripe\Control\HTTPResponse; use SilverStripe\Control\HTTPResponse_Exception; use SilverStripe\Core\Extension; use SilverStripe\Forms\Form; use SilverStripe\ORM\ArrayList; use SilverStripe\ORM\FieldType\DBHTMLText; use SilverStripe\View\Requirements; use TractorCow\Fluent\Extension\Traits\FluentAdminTrait; use TractorCow\Fluent\Extension\Traits\FluentBadgeTrait; /** * @property LeftAndMain $owner */ class FluentLeftAndMainExtension extends Extension { use FluentAdminTrait; use FluentBadgeTrait; public function init() { Requirements::javascript("tractorcow/silverstripe-fluent:client/dist/js/fluent.js"); Requirements::css("tractorcow/silverstripe-fluent:client/dist/styles/fluent.css"); } /** * @param ArrayList $breadcrumbs * @see CMSMain::Breadcrumbs() */ public function updateBreadcrumbs(ArrayList $breadcrumbs) { $record = $this->owner->currentPage(); if (!$record) { return; } // Get a possibly existing badge field from the last item in the breadcrumbs list $lastItem = $breadcrumbs->last(); $badgeField = $lastItem->hasField('Extra') ? $lastItem->getField('Extra') : null; $newBadge = $this->addFluentBadge($badgeField, $record); $lastItem->setField('Extra', $newBadge); } /** * @param Form $form * @param string $message * @return HTTPResponse|string|DBHTMLText * @throws HTTPResponse_Exception */ public function actionComplete($form, $message) { $request = $this->owner->getRequest(); $response = $this->owner->getResponseNegotiator()->respond($request); // Pass on message $response->addHeader('X-Status', rawurlencode($message)); return $response; } } |