rapport historique modif twaek
authorOlivier Larchevêque <olivier.larcheveque@auf.org>
Fri, 29 Jun 2012 13:26:53 +0000 (09:26 -0400)
committerOlivier Larchevêque <olivier.larcheveque@auf.org>
Fri, 29 Jun 2012 13:26:53 +0000 (09:26 -0400)
project/dashboard.py
project/rh/historique.py
project/rh/templates/rh/rapports/historique_des_modifications.html
project/rh/views.py

index 082f85a..430acde 100644 (file)
@@ -44,10 +44,13 @@ class CustomIndexDashboard(Dashboard):
             revisions = format_revisions(Revision.objects.order_by('-date_created')[:10])
             children = []
             for rev in revisions:
+                if rev['objet'] is None:
+                    continue
+                titre = u"[%s %s] %s %s" % (rev['user'], rev['date_created'],
+                        rev['objet'], rev['comment'])
                 children.append({
-                    'title': u"%s: %s %s (%s)" % (rev['date_created'],
-                        rev['type'], rev['objet'], rev['comment']),
-                    'url': rev['url'],
+                    'title': titre,
+                    'url': rev['history_url'],
                     'external': False,
                     })
             self.children.append(modules.LinkList(
index 65c1149..50768b4 100644 (file)
@@ -6,23 +6,32 @@ def format_revisions(qs):
 
     results = []
     for rev in qs:
+
+        # Dans une révision, on loop dans les versions associées, pour trouver
+        # un modèle qui dispose d'une admin (à priori, le parent) dans le cas 
+        # des objets composés
         for v in rev.version_set.all():
+
             try:
-                url = reverse('%s_apercu' % v.content_type.model,
+                change_url = reverse('admin:rh_%s_change' % v.content_type.model,
+                        args=(v.object.id, ))
+                history_url = reverse('admin:rh_%s_history' % v.content_type.model,
                         args=(v.object.id, ))
                 type = v.content_type
                 objet = v.object
                 break
             except:
-                url = None
+                change_url = None
+                history_url = None
                 type = None
                 objet = None
-
+        
         results.append({
             'date_created': rev.date_created,
             'user': rev.user,
             'comment': rev.comment,
-            'url': url,
+            'change_url': change_url,
+            'history_url': history_url,
             'type': type,
             'objet': objet,
 
index 4fc4971..444af45 100644 (file)
   {% for revision in revisions %}
   <tr class="{% cycle 'row1' 'row2' %}">
       <td>{{ revision.date_created }}</td>
-      <td>{{ revision.user }}</td>
-      <td>{% if revision.type %}{{ revision.type }}{% endif %}</td>
-      <td>{% if revision.url %}<a href="{{ revision.url }}"
-             onclick="return showAddAnotherPopup(this);">
-             {{ revision.objet }}<a>{% endif %}</td>
+      <td>{{ revision.user|default:"" }}</td>
+      <td>{{ revision.type|default:"" }}</td>
+      <td>{% if revision.objet %}<a href="{{ revision.change_url }}">{{ revision.objet }}</a>{% endif %}</td>
+      <td>{% if revision.history_url %}<a href="{{ revision.history_url }}">historique{% endif %}</a></td>
       <td>{{ revision.comment }}</td>
   </tr>
   {% endfor %}
index 774f1ce..1e92e6c 100644 (file)
@@ -800,7 +800,7 @@ def historique_des_modifications(request,):
     results = format_revisions(page_revisions.object_list)
 
     c = {
-            'headers': ('Date', 'Auteur', 'Type', 'Objet', 'Commentaire', ),
+            'headers': ('Date', 'Auteur', 'Type', 'Objet', 'Historique', 'Commentaire',  ),
             'revisions': results,
             'page': page_revisions,
     }