Selaa lähdekoodia

Evolution #357: Maj interface d'ajout

Sevajol Bastien 12 vuotta sitten
vanhempi
commit
bb9cb517ca

+ 3 - 0
app/Resources/translations/validators.fr.yml Näytä tiedosto

@@ -33,6 +33,9 @@ error:
33 33
       notblank:          Vous devez saisir un nom
34 34
       toshort:           Le nom est trop court
35 35
       tolong:            Le nom est trop long
36
+  url:
37
+    invalid:             L'adresse fournie est invalide
38
+  
36 39
       
37 40
 registration:
38 41
   token:

+ 11 - 0
src/Muzich/CoreBundle/Controller/ElementController.php Näytä tiedosto

@@ -921,6 +921,17 @@ class ElementController extends Controller
921 921
       return $response;
922 922
     }
923 923
     
924
+    // On vérifie la tête de l'url quand même
925
+    if (filter_var($request->get('url'), FILTER_VALIDATE_URL) === false)
926
+    {
927
+      return $this->jsonResponse(array(
928
+        'status' => 'error',
929
+        'errors' => array(
930
+          $this->trans('error.url.invalid', array(), 'validators')
931
+        )
932
+      ));
933
+    }
934
+    
924 935
     // On construit l'élèment qui va nous permettre de travailler avec l'api
925 936
     $element = new Element();
926 937
     $element->setUrl($request->get('url'));

+ 30 - 11
web/bundles/muzichcore/js/muzich.js Näytä tiedosto

@@ -1132,25 +1132,38 @@ $(document).ready(function(){
1132 1132
         $('a#element_add_link').show();
1133 1133
       }
1134 1134
       
1135
+      form_add_hide_errors();
1136
+      
1135 1137
       return true;
1136 1138
     }
1137 1139
     else if (response.status == 'error')
1138 1140
     {
1139
-      $('form[name="add"]').find('ul.error_list').remove();
1140
-      var ul_errors = $('<ul>').addClass('error_list');
1141
-      
1142
-      for (i in response.errors)
1143
-      {
1144
-        ul_errors.append($('<li>').append(response.errors[i]));
1145
-      }
1146
-      
1147
-      $('form[name="add"]').prepend(ul_errors);
1148
-      
1141
+      form_add_display_errors(response.errors);
1142
+      $('#form_add_loader').hide();
1149 1143
       return false;
1150 1144
     }
1151 1145
     
1152 1146
     return false;
1153 1147
   }
1148
+  
1149
+  function form_add_hide_errors()
1150
+  {
1151
+    $('form[name="add"]').find('ul.error_list').remove();
1152
+  }
1153
+  
1154
+  // Affichage des erreurs lors de laprocédure d'ajout d'un élément
1155
+  function form_add_display_errors(errors)
1156
+  {
1157
+    $('form[name="add"]').find('ul.error_list').remove();
1158
+    var ul_errors = $('<ul>').addClass('error_list');
1159
+
1160
+    for (i in errors)
1161
+    {
1162
+      ul_errors.append($('<li>').append(errors[i]));
1163
+    }
1164
+    
1165
+    $('form[name="add"]').prepend(ul_errors);
1166
+  }
1154 1167
 
1155 1168
   // Ajout d'un element #ajouter (première partie)
1156 1169
   
@@ -1223,7 +1236,13 @@ $(document).ready(function(){
1223 1236
           // On a plus qu'a afficher les champs
1224 1237
           $('div#form_add_second_part').slideDown();
1225 1238
           $('div#form_add_first_part').slideUp();
1226
-            
1239
+          form_add_hide_errors();
1240
+        }
1241
+        else if (response.status == 'error')
1242
+        {
1243
+          form_add_display_errors(response.errors);
1244
+          $('#form_add_loader').hide();
1245
+          return false;
1227 1246
         }
1228 1247
       },
1229 1248
       dataType: 'json'