Kaynağa Gözat

Message d'erreur si l'utilisateur ne saisie pas de tags lors d'une proposition.

bastien 13 yıl önce
ebeveyn
işleme
be4e3356d0

+ 2 - 0
app/Resources/translations/elements.fr.yml Dosyayı Görüntüle

@@ -60,6 +60,8 @@ element:
60 60
       submit:           Proposer ces tags
61 61
       cancel:           Annuler
62 62
       description:      Proposez ci-dessous les tags que vous trouvez les plus appropriés pour ce partage
63
+      error:
64
+        empty:          Veuillez saisir des tags pour effectuer une proposition
63 65
   view_propositions:
64 66
     link:               Voir les propositions de tags
65 67
     description_one:    Un utilisateur vous propose cette configuration de tags

+ 9 - 5
src/Muzich/CoreBundle/Controller/ElementController.php Dosyayı Görüntüle

@@ -565,16 +565,20 @@ class ElementController extends Controller
565 565
     $values   = $this->getRequest()->request->get('element_tag_proposition_'.$element->getId());
566 566
     $tags_ids = json_decode($values['tags'], true);
567 567
     
568
-    // On récupère les tags en base
569
-    $tags = $this->getDoctrine()->getEntityManager()->getRepository('MuzichCoreBundle:Tag')
570
-      ->getTagsWithIds($tags_ids)
571
-    ;
568
+    $tags = array();
569
+    if (count($tags_ids))
570
+    {
571
+      // On récupère les tags en base
572
+      $tags = $this->getDoctrine()->getEntityManager()->getRepository('MuzichCoreBundle:Tag')
573
+        ->getTagsWithIds($tags_ids)
574
+      ;
575
+    }
572 576
     
573 577
     if (!count($tags))
574 578
     {
575 579
       return $this->jsonResponse(array(
576 580
         'status' => 'error',
577
-        'errors' => array('NotFound')
581
+        'errors' => array($this->trans('element.tag_proposition.form.error.empty', array(), 'elements'))
578 582
       ));
579 583
     }
580 584
     

+ 14 - 0
web/bundles/muzichcore/js/muzich.js Dosyayı Görüntüle

@@ -1772,6 +1772,20 @@ $(document).ready(function(){
1772 1772
           li.find('form')
1773 1773
           li.find('div.tag_proposition').remove();
1774 1774
         }
1775
+        else if (response.status == 'error')
1776
+        {
1777
+          li.find('img.element_loader').hide();
1778
+          li.find('ul.error_list').remove();
1779
+          ul_errors = $('<ul>').addClass('error_list');
1780
+          
1781
+          for (i in response.errors)
1782
+          {
1783
+            ul_errors.append($('<li>').append(response.errors[i]));
1784
+          }
1785
+          
1786
+          li.find('div.tag_proposition div.tags_prompt').prepend(ul_errors);
1787
+        }
1788
+        
1775 1789
       });
1776 1790
       
1777 1791
       }