]> git.openstreetmap.org Git - osqa.git/commitdiff
add the "Flagged Posts" link to the admin page.
authorqw3rty <qw3rty@0cfe37f9-358a-4d5e-be75-b63607b5c754>
Tue, 18 May 2010 15:58:10 +0000 (15:58 +0000)
committerqw3rty <qw3rty@0cfe37f9-358a-4d5e-be75-b63607b5c754>
Tue, 18 May 2010 15:58:10 +0000 (15:58 +0000)
git-svn-id: http://svn.osqa.net/svnroot/osqa/trunk@298 0cfe37f9-358a-4d5e-be75-b63607b5c754

forum/skins/default/templates/node/flagged_item.html [new file with mode: 0644]
forum/skins/default/templates/osqaadmin/djstyle_base.html
forum/skins/default/templates/osqaadmin/flagged_posts.html [new file with mode: 0644]
forum/templatetags/user_tags.py
forum/urls.py
forum/views/admin.py

diff --git a/forum/skins/default/templates/node/flagged_item.html b/forum/skins/default/templates/node/flagged_item.html
new file mode 100644 (file)
index 0000000..b22c48b
--- /dev/null
@@ -0,0 +1,6 @@
+{% load extra_tags %}
+<div class='post-update-info'>
+    {{ action.describe|safe }}
+    at
+    {{ action.action_date }}
+</div>
\ No newline at end of file
index f9e941fe1b8fa3eea14c5f9b785b96a1bc17f626..05f4bd12063e2c383a815699f4debeb93b2e7a32 100644 (file)
@@ -98,6 +98,9 @@
                     <ul>
                         <li><a href="{% url admin_maintenance %}">{% trans "Maintenance mode" %}</a></li>
                     </ul>
+                    <ul>
+                        <li><a href="{% url admin_flagged_posts %}">{% trans "Flagged Posts" %}</a></li>
+                    </ul>
                 </div>
             </div>
         </div>
diff --git a/forum/skins/default/templates/osqaadmin/flagged_posts.html b/forum/skins/default/templates/osqaadmin/flagged_posts.html
new file mode 100644 (file)
index 0000000..a58d13e
--- /dev/null
@@ -0,0 +1,25 @@
+{% extends basetemplate %}
+
+{% load i18n %}
+{% load user_tags %}
+
+{% block subtitle %}{% trans "Flagged Posts" %}{% endblock %}
+{% block pagename %}{% trans "Flagged Posts" %}{% endblock %}
+{% block description %}{% trans "This are the posts that have been flagged by users." %}{% endblock %}
+
+{% block admincontent %}
+    <div class="module" style="width:98%; display: inline-block;">
+        <table width="100%">
+        <caption>{% trans "Flagged Posts" %}</caption>
+            <tr>
+                <td colspan="2">
+                    <table width="100%">
+                    {% for post in flagged_posts %}
+                        <tr><td>{% flagged_item post request.user %}</td></tr>
+                    {% endfor %}
+                    </table>
+                </td>
+            </tr>
+        </table>
+    </div>
+{% endblock %}
\ No newline at end of file
index cd22f26bcb6913828577335ccaaea3540a9b7720..d41cf479a0ff8d1ae177d753d8f49b874d2f8c32 100644 (file)
@@ -54,6 +54,16 @@ def activity_item(parser, token):
     return ActivityNode(activity, viewer)\r
 \r
 \r
+@register.tag\r
+def flagged_item(parser, token):\r
+    try:\r
+        tag_name, post, viewer = token.split_contents()\r
+    except ValueError:\r
+        raise template.TemplateSyntaxError, "%r tag requires exactly two arguments" % token.contents.split()[0]\r
+\r
+    return ActivityNode(post, viewer)\r
+\r
+\r
 @register.inclusion_tag('users/menu.html')\r
 def user_menu(request, user):\r
     return dict(viewer=request.user, user=user)\r
index a262fd5b0157e1afac36c3d758342ccca57ed56f..58ccc2ce3d7117bc1a6c6c3b317f63e0b10e6d29 100644 (file)
@@ -137,6 +137,7 @@ urlpatterns += patterns('',
     url(r'^%s%s$' % (_('admin/'), _('go_defaults/')), app.admin.go_defaults, name="admin_go_defaults"),
     url(r'^%s%s(?P<set_name>\w+)/(?P<var_name>\w+)/$' % (_('admin/'), _('settings/')), app.admin.get_default, name="admin_default"),
     url(r'^%s%s$' % (_('admin/'), _('maintenance/')), app.admin.maintenance, name="admin_maintenance"),
+    url(r'^%s%s$' % (_('admin/'), _('flagged_posts/')), app.admin.flagged_posts, name="admin_flagged_posts"),
 
     url(r'^%s%s(?P<set_name>\w+)/$' % (_('admin/'), _('settings/')), app.admin.settings_set, name="admin_set"),
 
index f154ea18fe1b7fe2d60fa13d086e7b81c9e92841..5ce639c9e7e781e86f1041cbf39920ad57eba728 100644 (file)
@@ -7,12 +7,11 @@ from django.http import HttpResponseRedirect, HttpResponse, HttpResponseForbidde
 from django.template import RequestContext
 from django.utils.translation import ugettext as _
 from django.utils import simplejson
-from django.db.models import Sum
-
+from django.db.models import Sum, Q, Count
 from forum.settings.base import Setting
 from forum.settings.forms import SettingsSetForm, MaintenanceModeForm
 
-from forum.models import Question, Answer, User, Node, Action
+from forum.models import Question, Answer, User, Node, Action, base
 from forum import settings
 
 def super_user_required(fn):
@@ -49,6 +48,7 @@ def dashboard(request):
         'settings_pack': unicode(settings.SETTINGS_PACK),
         'statistics': get_statistics(),
         'recent_activity': get_recent_activity(),
+        'flagged_posts': get_flagged_posts(),
     })
 
 @super_user_required
@@ -142,6 +142,9 @@ def get_default(request, set_name, var_name):
 def get_recent_activity():
     return Action.objects.order_by('-action_date')[0:30]
 
+def get_flagged_posts():
+    return Action.objects.filter(action_type="flag").order_by('-action_date')[0:30]
+
 def get_statistics():
     return {
         'total_users': User.objects.all().count(),
@@ -273,3 +276,10 @@ def maintenance(request):
     return ('osqaadmin/maintenance.html', {'form': form, 'in_maintenance': settings.MAINTAINANCE_MODE.value is not None})
 
 
+@admin_page
+def flagged_posts(request):
+    return ('osqaadmin/flagged_posts.html', {
+        'flagged_posts': get_flagged_posts(),
+    })
+
+