refactor arg passing between frames
authorraph
Thu, 25 Mar 2010 15:00:58 +0100
changeset 230 fb1a2dfb473d
parent 229 f6ae685b3097
child 231 e71ea24ff34c
refactor arg passing between frames
src/cm/templates/site/text_edit.html
src/cm/templates/site/text_history.html
src/cm/templates/site/text_view_frame.html
src/cm/templatetags/com.py
src/cm/views/texts.py
--- a/src/cm/templates/site/text_edit.html	Wed Mar 24 16:19:07 2010 +0100
+++ b/src/cm/templates/site/text_edit.html	Thu Mar 25 15:00:58 2010 +0100
@@ -13,7 +13,8 @@
 <!--
 tb_conf['current_tab'] = 'edit';
 // keep get parameters!! 
-tb_conf['pre_edit_url'] = '{% url text-preedit text.key %}?{{ request.GET.urlencode }}';
+{% url text-preedit text.key as preedit_url %}
+tb_conf['pre_edit_url'] = '{{ preedit_url }}{{ preedit_url|url_args }}{{ request.GET.urlencode }}';
 -->
 </script>
 
--- a/src/cm/templates/site/text_history.html	Wed Mar 24 16:19:07 2010 +0100
+++ b/src/cm/templates/site/text_history.html	Thu Mar 25 15:00:58 2010 +0100
@@ -102,7 +102,21 @@
                 <div class="hidden-text-actions text-actions-{{ text_version.key }}">
                     <a href="{% url text-history-version text.key text_version.key %}">{% blocktrans %}View{% endblocktrans %}</a> 
                     {% if text_version.get_previous_version %}| <a href="{% url text-history-compare text.key text_version.get_previous_version.key text_version.key %}">{% blocktrans %}Compare with previous version{% endblocktrans %}</a>{% endif %}
-                    {% if can_edit_text %} | <a href="{% url text-revert text.key text_version.key %}">{% blocktrans %}Revert to this version{% endblocktrans %}</a>{% endif %}
+                    {% if can_edit_text %}
+                    | <a id="text-revert-{{ text_version.key }}" href="#">{% blocktrans %}Revert to this version{% endblocktrans %}</a>
+                    <script type="text/javascript">                
+                    <!--
+                    $(function() {
+                        $("#text-revert-{{ text_version.key }}").click(function(){
+                            var url = '{% url text-revert text.key text_version.key %}';
+                            $.post(url, function(data){
+                                  window.location = '{% url text-history text.key %}';
+                                });                        
+                        });                        
+                    }) ;
+                    --> 
+                    </script>                                                            
+                    {% endif %}
                     {% comment %}{% if can_delete_text %}<a id="text-delete-{{ text_version.key }}" href="#">{% blocktrans %}Delete{% endblocktrans %}</a>
                     <script type="text/javascript">                
                     <!--
--- a/src/cm/templates/site/text_view_frame.html	Wed Mar 24 16:19:07 2010 +0100
+++ b/src/cm/templates/site/text_view_frame.html	Thu Mar 25 15:00:58 2010 +0100
@@ -81,9 +81,10 @@
             <div id="c_text_preferences" class="c_tab">
             </div>
 	    </DIV>
-         <iframe id="text_view_comments" name="text_view_comments" class="ui-layout-center"
+	    {% url text-view-comments-version text.key text_version.key as frame_url %}
+	             <iframe id="text_view_comments" name="text_view_comments" class="ui-layout-center"
             width="100%" height="100%" frameborder="0" scrolling="auto"
-            src="{% url text-view-comments-version text.key text_version.key %}?{{ request.GET.urlencode }}"></iframe>
+            src="{{ frame_url }}{{ frame_url|url_args }}{{ request.GET.urlencode }}"></iframe>
              
 <!--  exemple de passage d'arguments        <iframe id="text_view_comments" name="text_view_comments" class="ui-layout-center"
             width="100%" height="100%" frameborder="0" scrolling="auto"
@@ -94,8 +95,9 @@
     <div id="dialog_h"></div>
     <div id="dialog_print_export" title="">
 <!--         <p id="validateTips">All form fields are required.</p> -->
-    
-        <form name="print_export_form" id="print_export_form" method="post" action="" target_action="{% url text-export text.key "FoRmAt" "DoWnLoAd" "WhIcHCoMmEnT" "WiThCoLoR" %}?{{ request.GET.urlencode }}">
+
+		{% url text-export text.key "FoRmAt" "DoWnLoAd" "WhIcHCoMmEnT" "WiThCoLoR" as export_url %}    
+        <form name="print_export_form" id="print_export_form" method="post" action="" target_action="{{ export_url }}{{ export_url|url_args }}{{ request.GET.urlencode }}">
 	        <fieldset>
                 <label for="p_comments">{% blocktrans %}Which comments?{% endblocktrans %}</label>
                 <select  name="p_comments" id="p_comments" />
--- a/src/cm/templatetags/com.py	Wed Mar 24 16:19:07 2010 +0100
+++ b/src/cm/templatetags/com.py	Thu Mar 25 15:00:58 2010 +0100
@@ -308,3 +308,10 @@
 def do_invneg(value, arg):
     """."""
     return int(arg) - int(value)
+
+@register.filter(name='url_args')
+def url_args(url):
+    if '?' in url:
+        return '&'
+    else:
+        return '?'
--- a/src/cm/views/texts.py	Wed Mar 24 16:19:07 2010 +0100
+++ b/src/cm/views/texts.py	Thu Mar 25 15:00:58 2010 +0100
@@ -732,15 +732,17 @@
 
     return render_to_response('site/text_edit.html', template_dict , context_instance=RequestContext(request))
 
-# TODO: modif de la base => if POST
 @has_perm_on_text('can_edit_text')
 def text_revert(request, key, text_version_key):
+    if request.method != 'POST':
+        raise UnauthorizedException('Unauthorized')
+        
     text = get_text_by_keys_or_404(key)
 
     text_version = text.revert_to_version(text_version_key)
     display_message(request, _(u'A new version (copied from version %(version_title)s) has been created') % {'version_title':text_version.title})
 
-    return HttpResponseRedirect(reverse('text-history', args=[text.key]))
+    return HttpResponse('') # no redirect because this is called by js
     
 @has_perm_on_text('can_view_text')
 def text_attach(request, key, attach_key):