瀏覽代碼

Evolution #703: Inscription: choix des tags favoris

Bastien Sevajol 11 年之前
父節點
當前提交
fa485fc4a1

+ 6 - 0
app/Resources/translations/userui.en.yml 查看文件

@@ -83,6 +83,12 @@ my_account:
83 83
     success:        Vos préférences ont bien été mises à jour
84 84
     error:          Une erreur est survenue lors de la mise à jour de vos préférences
85 85
   send_email_confirm: Renvoyer l'email de confirmation
86
+  favorite_tags_helpbox:
87
+    title:          Choisissez vos tags favoris
88
+    text:           |
89
+                    La configuration de vos tags favoris permettrons de filtrer
90
+                    la liste de partage selon vos goûts musicaux lors de chacunes de vos
91
+                    visites. N'hésitez pas à en configurer beaucoups !
86 92
   
87 93
 connexion:
88 94
   password_lost:    Récupérer mon mot de passe

+ 6 - 0
app/Resources/translations/userui.fr.yml 查看文件

@@ -84,6 +84,12 @@ my_account:
84 84
     success:        Vos préférences ont bien été mises à jour
85 85
     error:          Une erreur est survenue lors de la mise à jour de vos préférences
86 86
   send_email_confirm: Renvoyer l'email de confirmation
87
+  favorite_tags_helpbox:
88
+    title:          Choisissez vos tags favoris
89
+    text:           |
90
+                    La configuration de vos tags favoris permettrons de filtrer
91
+                    la liste de partage selon vos goûts musicaux lors de chacunes de vos
92
+                    visites. N'hésitez pas à en configurer beaucoups !
87 93
 
88 94
 change_username:
89 95
   submit:           Changer

+ 17 - 0
src/Muzich/CoreBundle/Resources/public/css/main.css 查看文件

@@ -1261,6 +1261,11 @@ div.search_tag_list ul.search_tag_list li.new
1261 1261
 {
1262 1262
   color: black;
1263 1263
 }
1264
+
1265
+#helpbox div.search_tag_list ul.search_tag_list li.new a
1266
+{
1267
+  color: black;
1268
+}
1264 1269
   
1265 1270
 
1266 1271
 div.search_tag_list ul.search_tag_list li:hover
@@ -2183,4 +2188,16 @@ span.message_error
2183 2188
 {
2184 2189
   font-weight: bold;
2185 2190
   color: red;
2191
+}
2192
+
2193
+div#helpbox input.tag_prompt
2194
+{
2195
+  width: 480px;
2196
+}
2197
+
2198
+div#helpbox  input.button
2199
+{
2200
+  float: right;
2201
+  margin-right: 11px;
2202
+  margin-top: 5px;
2186 2203
 }

+ 35 - 1
src/Muzich/CoreBundle/Resources/public/js/muzich.js 查看文件

@@ -3002,20 +3002,54 @@ $(document).ready(function(){
3002 3002
         function(){}
3003 3003
       );
3004 3004
       
3005
+      
3005 3006
       var tags = [];
3006 3007
       for (i in response.tags)
3007 3008
       {
3008 3009
         var tag = new Tag(i, response.tags[i]);
3009 3010
         tags.push(tag);
3010 3011
       }
3011
-      
3012
+
3012 3013
       window.search_tag_prompt_connector.initializeTags(tags);
3013 3014
       
3015
+      if (!tags.length)
3016
+      {
3017
+        open_ajax_popin(url_helpbox_tags_favorites, function(){
3018
+          $('div#helpbox form[name="favorites_tags_helpbox"] input[type="submit"]').click(function(){
3019
+            $('div#helpbox img.loader').show();
3020
+          });
3021
+          $('div#helpbox form[name="favorites_tags_helpbox"]').ajaxForm(function(response) {
3022
+            
3023
+            $('div#helpbox img.loader').hide();
3024
+            window.ResponseController.execute(
3025
+              response,
3026
+              function(){},
3027
+              function(){}
3028
+            );
3029
+             
3030
+            if (response.status === 'error')
3031
+            {
3032
+              $('div#helpbox').html(response.data);
3033
+            }
3034
+             
3035
+            if (response.status === 'success')
3036
+            {
3037
+              $('#fade').fadeOut(1000, function(){$('#fade').remove();});
3038
+              $('#helpbox').remove();
3039
+              $('a.tags_prompt_favorites').trigger('click');
3040
+            }
3041
+
3042
+          });
3043
+        });
3044
+      }
3045
+      
3014 3046
     });
3015 3047
     
3016 3048
     return false;
3017 3049
    });
3018 3050
    
3051
+   
3052
+   
3019 3053
 });
3020 3054
 
3021 3055
 function open_ajax_popin(url, callback)

+ 1 - 0
src/Muzich/CoreBundle/Resources/views/Layout/head_js.html.twig 查看文件

@@ -118,6 +118,7 @@ $(document).ready(function(){
118 118
   url_element_get_stream_data = "{{ path('element_get_stream_data') }}";
119 119
   url_img_ajax_loader = "{{ asset('/bundles/muzichcore/img/ajax-loader.gif') }}";
120 120
   url_get_embed_for_element = "{{ path('url_get_embed_for_element') }}";
121
+  url_helpbox_tags_favorites = "{{ path('helpbox_tags_favorites') }}";
121 122
   
122 123
   url_subscription_or_login = "{{ path('subscribe_or_login') }}";
123 124
   url_email_not_confirmed = "{{ path('email_not_confirmed') }}";

+ 1 - 0
src/Muzich/CoreBundle/Resources/views/Tag/tagFavoritesForm.html.twig 查看文件

@@ -11,5 +11,6 @@
11 11
 
12 12
   {{ form_row(form._token) }}
13 13
 
14
+  <img class="loader" style="display: none;" src="{{ asset('/bundles/muzichcore/img/ajax-loader.gif') }}" alt="loading" />
14 15
   <input type="submit" class="button" value="{{ 'tags.favorites.submit'|trans([], 'userui') }}" />
15 16
 </form>

+ 32 - 4
src/Muzich/UserBundle/Controller/UserController.php 查看文件

@@ -359,7 +359,7 @@ class UserController extends Controller
359 359
    *
360 360
    * @param string $redirect 
361 361
    */
362
-  public function updateTagFavoritesAction($redirect)
362
+  public function updateTagFavoritesAction(Request $request, $redirect)
363 363
   {
364 364
     $request = $this->getRequest();
365 365
     $user = $this->getUser(true, array('join' => array('favorites_tags')));
@@ -389,11 +389,20 @@ class UserController extends Controller
389 389
         // On réinitialise l'eventuel session de recherche en mémoire
390 390
         $session = $this->get("session");
391 391
         $session->remove('user.element_search.params');
392
-        
393
-        $this->container->get('session')->setFlash('success', 'Vos tags péférés ont correctements été mis a jour.');
394 392
       }
395 393
       else
396 394
       {
395
+        if ($request->isXmlHttpRequest())
396
+        {
397
+          return $this->jsonResponse(array(
398
+            'status' => 'error',
399
+            'data'   => $this->render('MuzichUserBundle:User:helpbox_favorite_tags.html.twig', array( 
400
+              'form'      => $form->createView(),
401
+              'form_name' => 'favorites_tags_helpbox'
402
+            ))->getContent()
403
+          ));
404
+        }
405
+        
397 406
         return $this->container->get('templating')->renderResponse(
398 407
           'MuzichUserBundle:User:start.html.twig',
399 408
           array(
@@ -403,6 +412,14 @@ class UserController extends Controller
403 412
       }
404 413
     }
405 414
     
415
+    if ($request->isXmlHttpRequest())
416
+    {
417
+      return $this->jsonResponse(array(
418
+        'status' => 'success'
419
+      ));
420
+    }
421
+    
422
+    $this->container->get('session')->setFlash('success', 'Vos tags péférés ont correctements été mis a jour.');
406 423
     // (Il y aura aussi une redirection vers "mon compte / tags")
407 424
     if ($redirect == 'home')
408 425
     {
@@ -843,4 +860,15 @@ class UserController extends Controller
843 860
     ));
844 861
   }
845 862
   
846
-}
863
+  public function favoriteTagsHelpboxAction()
864
+  {
865
+    return $this->jsonResponse(array(
866
+      'status' => 'success',
867
+      'data' => $this->render('MuzichUserBundle:User:helpbox_favorite_tags.html.twig', array( 
868
+        'form'             => $this->getTagsFavoritesForm($this->getUser())->createView(),
869
+        'form_name'        => 'favorites_tags_helpbox'
870
+      ))->getContent()
871
+    ));
872
+  }
873
+  
874
+}

+ 4 - 0
src/Muzich/UserBundle/Resources/config/routing.yml 查看文件

@@ -84,4 +84,8 @@ email_not_confirmed:
84 84
 send_email_confirmation:
85 85
   pattern: /account/send-email-confirmation
86 86
   defaults: { _controller: MuzichUserBundle:User:sendEmailConfirm }
87
+
88
+helpbox_tags_favorites:
89
+  pattern: /account/favorites-tags
90
+  defaults: { _controller: MuzichUserBundle:User:favoriteTagsHelpbox }
87 91
     

+ 11 - 0
src/Muzich/UserBundle/Resources/views/User/helpbox_favorite_tags.html.twig 查看文件

@@ -0,0 +1,11 @@
1
+
2
+<h1>{{ 'my_account.favorite_tags_helpbox.title'|trans({}, 'userui') }}</h1>
3
+
4
+<p>{{ 'my_account.favorite_tags_helpbox.text'|trans({}, 'userui') }}</p>
5
+
6
+{% include "MuzichCoreBundle:Tag:tagFavoritesForm.html.twig" with { 
7
+  'form'             : form,
8
+  'redirect'         : null,
9
+  'form_name'        : form_name,
10
+  'favorite_tags_id' : null
11
+} %}