Browse Source

Evolution #357: Maj interface d'ajout

Sevajol Bastien 12 years ago
parent
commit
bb9cb517ca

+ 3 - 0
app/Resources/translations/validators.fr.yml View File

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

+ 11 - 0
src/Muzich/CoreBundle/Controller/ElementController.php View File

921
       return $response;
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
     // On construit l'élèment qui va nous permettre de travailler avec l'api
935
     // On construit l'élèment qui va nous permettre de travailler avec l'api
925
     $element = new Element();
936
     $element = new Element();
926
     $element->setUrl($request->get('url'));
937
     $element->setUrl($request->get('url'));

+ 30 - 11
web/bundles/muzichcore/js/muzich.js View File

1132
         $('a#element_add_link').show();
1132
         $('a#element_add_link').show();
1133
       }
1133
       }
1134
       
1134
       
1135
+      form_add_hide_errors();
1136
+      
1135
       return true;
1137
       return true;
1136
     }
1138
     }
1137
     else if (response.status == 'error')
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
       return false;
1143
       return false;
1150
     }
1144
     }
1151
     
1145
     
1152
     return false;
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
   // Ajout d'un element #ajouter (première partie)
1168
   // Ajout d'un element #ajouter (première partie)
1156
   
1169
   
1223
           // On a plus qu'a afficher les champs
1236
           // On a plus qu'a afficher les champs
1224
           $('div#form_add_second_part').slideDown();
1237
           $('div#form_add_second_part').slideDown();
1225
           $('div#form_add_first_part').slideUp();
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
       dataType: 'json'
1248
       dataType: 'json'