Sfoglia il codice sorgente

Merge branch 'develop'

* develop:
  add flash messages to inform users if a term was updated
  change oder of selectable types and categories in select fields
ksieren 2 anni fa
parent
commit
de3d920ae6

+ 15 - 0
Classes/Controller/TermController.php

@@ -3,6 +3,8 @@
 namespace Meramo\Begriffmgt\Controller;
 use Meramo\Begriffmgt\Domain\Model\Term;
 use Meramo\Begriffmgt\Domain\Repository\TermRepository;
+use TYPO3\CMS\Core\Messaging\FlashMessage;
+use TYPO3\CMS\Core\Utility\GeneralUtility;
 use TYPO3\CMS\Extbase\Mvc\Controller\ActionController;
 
 class TermController extends ActionController
@@ -14,6 +16,10 @@ class TermController extends ActionController
     }
 
     public function createAction($terms, $categoryObj, $typeObj, $urlObj): void {
+        $objectManager = GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Object\\ObjectManager');
+        $flashMessageService = $objectManager->get('TYPO3\\CMS\\Core\\Messaging\\FlashMessageService');
+        $messageQueue = $flashMessageService->getMessageQueueByIdentifier('begriffmgt');
+
         foreach ($terms as $term) {
             if($term !== '' && !($this->termRepository->findByTitle($term))) {
                 $termObj = new Term();
@@ -29,6 +35,15 @@ class TermController extends ActionController
                 $termObj->setType($typeObj);
                 $termObj->setUrl($urlObj);
                 $this->termRepository->update($termObj);
+
+                $flashMessage = GeneralUtility::makeInstance(
+                    FlashMessage::class,
+                    'Begriff ' . $term . ' wurde aktualisiert. Begriff war bereits vorhanden. Bitte Liste prüfen!',
+                    'Update', // the header of the flash message
+                    FlashMessage::OK, // the severity of the flash message
+                    TRUE // whether the flash message should be stored in the session (to survive redirects)
+                );
+                $messageQueue->addMessage($flashMessage);
             }
         }
     }

+ 26 - 8
Resources/Private/Templates/Dashboard/Index.html

@@ -4,6 +4,24 @@
 
 
 <f:section name="main">
+  <style>
+    ul.no-indent {
+      list-style-type: none;
+      padding: 0;
+      margin: 0;
+    }
+  </style>
+  <f:flashMessages queueIdentifier="begriffmgt" as="flashMessages">
+    <ul class="no-indent">
+      <f:for each="{flashMessages}" as="flashMessage">
+        <li class="alert-warning" style="width: 100%">
+          {flashMessage.message}
+        </li>
+      </f:for>
+    </ul>
+  </f:flashMessages>
+
+
   <h1>Dashboard</h1>
 
 
@@ -49,7 +67,6 @@
 
   <hr style="width: 100%; border: 1px solid black; margin: 20px 0;">
   <h2>Add words (semicolon-separated) with a type</h2>
-  <f:flashMessages />
   <f:form action="create">
     <div class="form-group" additionalAttributes="{style: 'margin-bottom: 1rem;'}">
       <label for="termList">Terms:</label>
@@ -58,28 +75,29 @@
     <div class="form-group">
       <label for="typeTitle">Type:</label>
       <f:form.select name="typeTitle" additionalAttributes="{style: 'width: 150px; height: 30px; display: block;'}">
-        <f:form.select.option value="middleWords">middleWords</f:form.select.option>
-        <f:form.select.option value="ausbildungWords">ausbildungWords</f:form.select.option>
-        <f:form.select.option value="studiumWords">studiumWords</f:form.select.option>
-        <f:form.select.option value="bewerbung">bewerbung</f:form.select.option>
-        <f:form.select.option value="weiterbildung">weiterbildung</f:form.select.option>
         <f:form.select.option value="direct">direct</f:form.select.option>
         <f:form.select.option value="medical">medical</f:form.select.option>
+        <f:form.select.option value="bewerbung">bewerbung</f:form.select.option>
+        <f:form.select.option value="studiumWords">studium</f:form.select.option>
+        <f:form.select.option value="ausbildungWords">ausbildung</f:form.select.option>
+        <f:form.select.option value="weiterbildung">weiterbildung</f:form.select.option>
+        <f:form.select.option value="middleWords">middlewords</f:form.select.option>
         <f:form.select.option value="blacklist">blacklist</f:form.select.option>
       </f:form.select><br>
     </div>
     <div class="form-group">
       <label for="categoryTitle">Category:</label>
       <f:form.select name="categoryTitle" additionalAttributes="{style: 'width: 150px; height: 30px; display: block;'}">
+        <f:form.select.option value="Allgemein">Allgemein</f:form.select.option>
         <f:form.select.option value="Verben">Verben</f:form.select.option>
         <f:form.select.option value="Nomen">Nomen</f:form.select.option>
         <f:form.select.option value="Adjektive">Adjektive</f:form.select.option>
-        <f:form.select.option value="Konjunktionen">Konjunktionen</f:form.select.option>
         <f:form.select.option value="Artikel">Artikel</f:form.select.option>
+        <f:form.select.option value="Numerale">Numerale</f:form.select.option>
+        <f:form.select.option value="Konjunktionen">Konjunktionen</f:form.select.option>
         <f:form.select.option value="Personalpronomen">Personalpronomen</f:form.select.option>
         <f:form.select.option value="Relativpronomen">Relativpronomen</f:form.select.option>
         <f:form.select.option value="Indefinitpronomen">Indefinitpronomen</f:form.select.option>
-        <f:form.select.option value="Numerale">Numerale</f:form.select.option>
         <f:form.select.option value="Praepositionen">Präpositionen</f:form.select.option>
         <f:form.select.option value="Adverbien">Adverbien</f:form.select.option>
         <f:form.select.option value="Partikel">Partikel</f:form.select.option>

+ 1 - 1
composer.json

@@ -3,7 +3,7 @@
   "license": "GPL-3.0",
   "description": "Erweiterung um Chatbot Begriffe zu Verwalten",
   "require": {
-    "php": ">=7.0.0",
+    "php": ">=7.4.0",
     "typo3/cms-core": "^8.7 || ^9.5 || ^10.4"
   },
   "type": "typo3-cms-extension",