Browse Source

#385: Name changes history

Rafał Pitoń 11 years ago
parent
commit
9acba24120

+ 7 - 0
misago/static/misago/css/misago/profile.less

@@ -127,6 +127,13 @@
       margin: 0px;
       margin-top: 3px;
 
+      a {
+      	&:link, &:visited {
+      		color: @text-color;
+      		font-weight: bold;
+      	}
+      }
+
       img {
         border-radius: @border-radius-small;
         margin-top: -1px;

+ 6 - 3
misago/templates/misago/profile/name_history.html

@@ -6,6 +6,9 @@
 {% if name_changes.object_list %}
 <div class="username-history">
   {% for change in name_changes.object_list %}
+  {% capture trimmed as old_username %}
+    <strong>{{ change.old_username }}</strong>
+  {% endcapture %}
   {% capture trimmed as new_username %}
     <strong>{{ change.new_username }}</strong>
   {% endcapture %}
@@ -25,13 +28,13 @@
         {{ change.changed_by_username }}
         {% endif %}
       {% endcapture %}
-      {% blocktrans trimmed with changed_by=changed_by|safe old_username=change.old_username new_username=new_username|safe %}
+      {% blocktrans trimmed with changed_by=changed_by|safe old_username=old_username|safe new_username=new_username|safe %}
       {{ changed_by }} changed {{ old_username }}'s name to {{ new_username }}
       {% endblocktrans %}
     {% else %}
       <img src="{{ profile.pk|avatar:22 }}" class="tooltip-top" title="{{ profile.username }}">
-      {% blocktrans trimmed with old_username=change.old_username new_username=new_username|safe %}
-      {{ old_username }} changed his name to {{ new_username }}
+      {% blocktrans trimmed with old_username=old_username|safe new_username=new_username|safe %}
+      {{ old_username }} changed name to {{ new_username }}
       {% endblocktrans %}
     {% endif %}
     <abbr class="pull-right text-muted tooltip-top dynamic time-ago" title="{{ change.changed_on }}" data-timestamp="{{ change.changed_on|date:"c" }}">

+ 18 - 1
misago/users/tests/test_profile_views.py

@@ -17,7 +17,7 @@ class UserProfileViewsTests(AdminTestCase):
         response = self.client.get(reverse('misago:user_posts',
                                            kwargs=invalid_kwargs))
 
-        self.assertEqual(response.status_code, 302)
+        self.assertEqual(response.status_code, 301)
 
     def test_user_posts_list(self):
         """user profile posts list has no showstoppers"""
@@ -34,3 +34,20 @@ class UserProfileViewsTests(AdminTestCase):
 
         self.assertEqual(response.status_code, 200)
         self.assertIn('started no threads', response.content)
+
+    def test_user_name_history_list(self):
+        """user name changes history list has no showstoppers"""
+        response = self.client.get(reverse('misago:user_name_history',
+                                           kwargs=self.link_kwargs))
+        self.assertEqual(response.status_code, 200)
+        self.assertIn('Your username was never changed', response.content)
+
+        self.test_admin.set_username('RenamedAdmin')
+        self.test_admin.save()
+        self.test_admin.set_username('TestAdmin')
+        self.test_admin.save()
+
+        response = self.client.get(reverse('misago:user_name_history',
+                                           kwargs=self.link_kwargs))
+        self.assertEqual(response.status_code, 200)
+        self.assertIn("Admin changed name to <strong>Rename", response.content)

+ 1 - 0
misago/users/urls.py

@@ -58,6 +58,7 @@ urlpatterns += patterns('misago.users.views.profile',
     url(r'^user/(?P<user_slug>[a-z0-9]+)-(?P<user_id>\d+)/name-history/(?P<page>\d+)/$', 'name_history', name="user_name_history"),
 )
 
+
 urlpatterns += patterns('misago.users.views.avatarserver',
     url(r'^user-avatar/(?P<size>\d+)/(?P<user_id>\d+)\.png$', 'serve_user_avatar', name="user_avatar"),
     url(r'^user-avatar/tmp:(?P<token>[a-zA-Z0-9]+)/(?P<user_id>\d+)\.png$', 'serve_user_avatar_source', name="user_avatar_tmp", kwargs={'type': 'tmp'}),

+ 2 - 1
misago/users/views/profile.py

@@ -29,6 +29,7 @@ def profile_view_restricted_visibility(f):
             if page['is_active']:
                 return f(request, *args, **kwargs)
         else:
+            # we are trying to display page thats not in nav
             raise Http404()
     return decorator
 
@@ -73,7 +74,7 @@ def user_threads(request, profile=None, page=0):
 @profile_view_restricted_visibility
 def name_history(request, profile=None, page=0):
     name_changes_sq = profile.namechanges.all().order_by('-id')
-    name_changes = paginate(name_changes_sq, page, 24, 6)
+    name_changes = paginate(name_changes_sq, page, 12, 4)
     items_left = name_changes.paginator.count - name_changes.end_index()
 
     return render(request, 'misago/profile/name_history.html', {