Author: batiste.bieler
Date: Wed May  6 09:11:33 2009
New Revision: 513

Modified:
    branches/electron/pages/admin/__init__.py
    branches/electron/pages/templates/admin/pages/page/change_form.html
    branches/electron/pages/templates/admin/pages/page/includes/fieldset.html
    branches/electron/pages/tests.py

Log:
Fix the language bug

Modified: branches/electron/pages/admin/__init__.py
==============================================================================
--- branches/electron/pages/admin/__init__.py   (original)
+++ branches/electron/pages/admin/__init__.py   Wed May  6 09:11:33 2009
@@ -314,7 +314,9 @@
              extra_context = {
                  'placeholders': get_placeholders(template),
                  'language': get_language_from_request(request),
-                'traduction_language': [l for l in settings.PAGE_LANGUAGES  
if Content.objects.get_content(obj, l[0], "title")],
+                'page_languages': settings.PAGE_LANGUAGES,
+                'traduction_languages': [l for l in  
settings.PAGE_LANGUAGES if
+                            Content.objects.get_content(obj,  
l[0], "title")],
                  'page': obj,
              }
          return super(PageAdmin, self).change_view(request, object_id,  
extra_context)

Modified:  
branches/electron/pages/templates/admin/pages/page/change_form.html
==============================================================================
--- branches/electron/pages/templates/admin/pages/page/change_form.html  
(original)
+++ branches/electron/pages/templates/admin/pages/page/change_form.html Wed  
May  6 09:11:33 2009
@@ -31,7 +31,7 @@
                          <label for="translation-helper-select"  
class="required">{% trans "Language:" %}</label>
                          <select id="translation-helper-select">
                              <option value=""  
selected="selected">---------</option>
-                            {% for lang in traduction_language %}
+                            {% for lang in traduction_languages %}
                                  <option value="{{ lang.0 }}">{{ lang.1  
}}</option>
                              {% endfor %}
                          </select>

Modified:  
branches/electron/pages/templates/admin/pages/page/includes/fieldset.html
==============================================================================
---  
branches/electron/pages/templates/admin/pages/page/includes/fieldset.html       
 
(original)
+++  
branches/electron/pages/templates/admin/pages/page/includes/fieldset.html       
 
Wed May  6 09:11:33 2009
@@ -3,6 +3,7 @@
      {% if fieldset.name %}<h2>{{ fieldset.name }}</h2>{% endif %}
      {% if fieldset.description %}<div class="description">{{  
fieldset.description|safe }}</div>{% endif %}

+    {% comment %} TODO: This code is really pretty smelly... We should do  
something about it{% endcomment %}
      {% for line in fieldset %}
          <div class="form-row{% if line.errors %} errors{% endif %} {% for  
field in line %}{{ field.field.name }} {% endfor %} ">
              {{ line.errors }}
@@ -16,10 +17,21 @@
                          {% else %}
                              {% ifequal field.field.name 'language' %}
                                  <label>{% trans "Language:" %}</label>
+
+                                <span style="display:none">{{ field.field  
}}</span>
                                  <ul class="clearfix">
-                                    <li><a title="edit french translation"  
class="editlink" href="11/?language=fr">fr</a></li>
-                                    <li><span title="current translation"  
class="current">de</span></li>
-                                    <li><a title="create english  
translation" class="addlink" href="11/?language=en">en</a></li>
+                                {% for lang in page_languages %}
+                                    {% ifequal language lang.0 %}
+                                        <li><span class="current">{{  
lang.0 }}</li>
+                                    {% else %}
+                                        {% if page|has_content_in:lang.0 %}
+                                            <li><a class="editlink"  
href="?language={{ lang.0 }}">{{ lang.0 }}</a></li>
+                                        {% else %}
+                                            <li><a class="addlink"  
href="?language={{ lang.0 }}">{{ lang.0 }}</a></li>
+                                        {% endif %}
+                                    {% endifequal %}
+                                    </li>
+                                {% endfor %}
                                  </ul>
                              {% else %}
                                  {{ field.label_tag }}{{ field.field }}

Modified: branches/electron/pages/tests.py
==============================================================================
--- branches/electron/pages/tests.py    (original)
+++ branches/electron/pages/tests.py    Wed May  6 09:11:33 2009
@@ -193,10 +193,10 @@
          # and not accept-language in HTTP requests.
          setattr(settings, "PAGE_DEFAULT_LANGUAGE", 'de')
          response = c.get('/admin/pages/page/add/')
-        self.assertContains(response, 'class="current">de')
+        self.assertContains(response, 'value="de" selected="selected"')
          setattr(settings, "PAGE_DEFAULT_LANGUAGE", 'fr-ch')
          response = c.get('/admin/pages/page/add/')
-        self.assertContains(response, 'class="current">fr-ch')
+        self.assertContains(response, 'value="fr-ch" selected="selected"')

          page_data = self.get_new_page_data()
          page_data["title"] = 'english title'
@@ -213,7 +213,7 @@
              major, middle = [int(v) for v in django_version]
          if major >=1 and middle > 0:
              response = c.get('/admin/pages/page/%d/?language=de' % page.id)
-            self.assertContains(response, 'class="current">de')
+            self.assertContains(response, 'value="de" selected="selected"')

          # add a french version of the same page
          page_data["language"] = 'fr-ch'

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pinax-updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/pinax-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to