Ver código fonte

various fixes

Olivier Massot 1 ano atrás
pai
commit
339810e175

+ 1 - 1
composer.json

@@ -32,7 +32,7 @@
         "typo3/cms-dashboard": "^11.5",
         "typo3/cms-opendocs": "^11.5",
         "typo3/cms-recordlist": "^11.5",
-        "fluidtypo3/flux": "^9.7",
+        "fluidtypo3/flux": "^10.0",
         "fluidtypo3/vhs": "^7.0",
         "georgringer/news": "^9",
         "helhum/typo3-console": "^7.1",

+ 14 - 6
ot_core/Classes/Domain/Repository/MemberRepository.php

@@ -49,12 +49,20 @@ class MemberRepository extends BaseApiRepository
         $dateStart = new \DateTime($record['startDate']);
         $dateStart->setTimezone(new \DateTimeZone('Europe/Paris'));
         $member->setStartDate($dateStart);
-        $dateEnd = new \DateTime($record['endDate']);
-        $dateEnd->setTimezone(new \DateTimeZone('Europe/Paris'));
-        $member->setEndDate($dateEnd);
-        $member->setInstrumentGroup($record['instrumentGroup']);
-        $member->setInstrument($record['instrument']);
-        $member->setMission($record['mission']);
+        if ($record['endDate'] !== null) {
+            $dateEnd = new \DateTime($record['endDate']);
+            $dateEnd->setTimezone(new \DateTimeZone('Europe/Paris'));
+            $member->setEndDate($dateEnd);
+        }
+        if (isset($record['instrumentGroup'])) {
+            $member->setInstrumentGroup($record['instrumentGroup']);
+        }
+        if (isset($record['instrument'])) {
+            $member->setInstrument($record['instrument']);
+        }
+        if (isset($record['mission'])) {
+            $member->setMission($record['mission']);
+        }
         $member->setPersonId((int)$record['personId']);
         $member->setImage($record['image']);
 

+ 1 - 1
ot_optimizer/Classes/Middleware/Frontend/OtPageResolver.php

@@ -68,7 +68,7 @@ class OtPageResolver extends \TYPO3\CMS\Frontend\Middleware\PageResolver
         // if the page is requested from the BE module Viewpage or FrontendEditing, it shall be displayed even if hidden
         // a backend user shall be authenticated for this
         $requestedFromBE = (
-                preg_match("/.+\/typo3\/index.php\?route=.*(Viewpage)|(FrontendEditing).*/", $_SERVER['HTTP_REFERER']) ||
+                preg_match("/.+\/typo3\/index.php\?route=.*(Viewpage)|(FrontendEditing).*/", ($_SERVER['HTTP_REFERER'] ?? '')) ||
                 ($request->getQueryParams()['frontend_editing'] ?? null) === 'true'
             )
             && $GLOBALS['BE_USER'];

+ 5 - 5
ot_templating/Classes/ViewHelpers/Events/GetAllViewHelper.php

@@ -81,17 +81,17 @@ class GetAllViewHelper extends OtAbstractViewHelper {
 
         $searchParams = [];
 
-        if($_REQUEST['search-loc']) {
+        if(isset($_REQUEST['search-loc']) && $_REQUEST['search-loc']) {
             $searchParams['where'] = $_REQUEST['search-loc'];
         }
-        if($_REQUEST['search-name']) {
+        if(isset($_REQUEST['search-name']) && $_REQUEST['search-name']) {
             $searchParams['what'] = $_REQUEST['search-name'];
         }
-        if($_REQUEST['search-datestart']) {
+        if(isset($_REQUEST['search-datestart']) && $_REQUEST['search-datestart']) {
             $dateStart = \DateTime::createFromFormat('d/m/Y', $_REQUEST['search-datestart']);
             $searchParams['datetimeStart'] = $dateStart->format('d-m-Y');
         }
-        if($_REQUEST['search-dateend']) {
+        if(isset($_REQUEST['search-dateend']) && $_REQUEST['search-dateend']) {
             $dateEnd = \DateTime::createFromFormat('d/m/Y', $_REQUEST['search-dateend']);
             $searchParams['datetimeEnd'] = $dateEnd->format('d-m-Y');
         }
@@ -99,7 +99,7 @@ class GetAllViewHelper extends OtAbstractViewHelper {
         if ($fromChildren) {
             $searchParams['children'] = '1';
         }
-        if ($_REQUEST['page']) {
+        if (isset($_REQUEST['page']) && $_REQUEST['page']) {
             $searchParams['page'] = $_REQUEST['page'];
         }
 

+ 2 - 9
ot_templating/Classes/ViewHelpers/GetPageUidViewHelper.php

@@ -8,10 +8,6 @@ use Opentalent\OtCore\Website\OtPageRepository;
 use Opentalent\OtCore\ViewHelpers\OtAbstractViewHelper;
 use Opentalent\OtCore\Website\OtWebsiteRepository;
 use Opentalent\OtTemplating\ViewHelpers\RootPage\GetIdViewHelper;
-use TYPO3\CMS\Core\Utility\GeneralUtility;
-use TYPO3\CMS\Extbase\Object\ObjectManager;
-use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface;
-use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper;
 
 /**
  * Returns the uid of the page with the given slug
@@ -28,6 +24,7 @@ class GetPageUidViewHelper extends OtAbstractViewHelper
 {
     public function __construct(
         private readonly OtPageRepository $otPageRepository,
+        private readonly OtWebsiteRepository $otWebsiteRepository,
     ) {}
 
     /**
@@ -52,11 +49,7 @@ class GetPageUidViewHelper extends OtAbstractViewHelper
      */
     public function render(): ?int
     {
-        $rootId = GetIdViewHelper::renderStatic(
-            $this->arguments,
-            $this->renderChildrenClosure,
-            $this->renderingContext
-        );
+        $rootId = $this->otWebsiteRepository->getCurrentRootpageUidFromFEGlobals();
 
         $subpages = $this->otPageRepository->getAllSubpagesForPage($rootId);
 

+ 5 - 0
ot_templating/Classes/XClass/Form/Configuration/ConfigurationManager.php

@@ -6,6 +6,7 @@ use Opentalent\OtCore\Exception\NoSuchWebsiteException;
 use Opentalent\OtCore\Website\OtPageRepository;
 use Opentalent\OtCore\Website\OtWebsiteRepository;
 use Opentalent\OtTemplating\Templating\TemplateRepository;
+use Psr\Container\ContainerInterface;
 use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Extbase\Object\Exception;
 use TYPO3\CMS\Extbase\Object\ObjectManager;
@@ -48,6 +49,10 @@ class ConfigurationManager extends \TYPO3\CMS\Form\Mvc\Configuration\Configurati
     {
         $settings = parent::getConfigurationFromYamlFile($extensionName);
 
+        if ($this->getContentObject()->data === null) {
+            $this->getContentObject()->data = ['uid' => 1];
+        }
+
         foreach ($this->otPageRepository->getCurrentBeUserMountpoints() as $rootUid) {
 
             $website = $this->otWebsiteRepository->getWebsiteByPageUid($rootUid);

+ 2 - 0
ot_templating/Configuration/Services.yaml

@@ -6,3 +6,5 @@ services:
 
   Opentalent\OtTemplating\:
     resource: '../Classes/*'
+
+  TYPO3\CMS\Form\Mvc\Configuration\ConfigurationManager: '@Opentalent\OtTemplating\XClass\Form\Configuration\ConfigurationManager'

+ 5 - 1
ot_templating/Resources/Private/Partials/Classic/NextEvents.html

@@ -7,6 +7,10 @@
 <v:variable.set value="{ot:eventsPage.getId()}" name="eventsPageUid"/>
 <v:variable.set value="{ot:eventsPage.getId(children: 1)}" name="childrenEventsPageUid"/>
 
+<v:variable.set value="5" name="eventsLimit"/>
+<!--<v:variable.set value="{f:if(condition: isset(settings.eventsLimit), then: settings.eventsLimit, else: '5')" name="eventsLimit"/>-->
+
+
 <div class="ot-box ot-events">
     <div class="events-list">
         <header>
@@ -29,7 +33,7 @@
 
         <ot:events.getNext as="eventsCollection"
                            organizationId="{settings.organizationId}"
-                           limit="{settings.eventsLimit}"
+                           limit="{eventsLimit}"
                            period="{settings.eventsPeriod}"
                            fromParents="{fromParents}"
                            fromChildren="{fromChildren}">

+ 4 - 1
ot_templating/Resources/Private/Partials/Modern/NextEvents.html

@@ -18,13 +18,16 @@
     </f:else>
 </f:if>
 
+<!--<v:variable.set value="{f:if(condition: settings.eventsLimit, then: settings.eventsLimit, else: '5')" name="eventsLimit"/>-->
+<v:variable.set value="5" name="eventsLimit"/>
+
 <section class="mt-50 events">
     <div class="container">
         <div class="row">
 
             <ot:events.getNext as="eventsCollection"
                                organizationId="{settings.organizationId}"
-                               limit="{settings.eventsLimit}"
+                               limit="{eventsLimit}"
                                period="{settings.eventsPeriod}"
                                fromParents="{fromParents}"
                                fromChildren="{fromChildren}">