From: Magnus Hagander Date: Thu, 30 Jul 2009 14:20:47 +0000 (+0200) Subject: Remove most of the admin functionality in the site itself, instead X-Git-Url: http://git.postgresql.org/gitweb/static/session/%7B%7Bsession.id%7D%7D-%7B%7Bsession.title%7Cslugify%7D%7D?a=commitdiff_plain;h=b3cdedc22d16d794127e22d6598e9994fe3b0239;p=hamn.git Remove most of the admin functionality in the site itself, instead relying on the django admin interface to perform all admin operations. This simplifies the code significantly. --- diff --git a/hamnadmin/register/admin.py b/hamnadmin/register/admin.py index b98d0e4..420e986 100644 --- a/hamnadmin/register/admin.py +++ b/hamnadmin/register/admin.py @@ -1,6 +1,10 @@ from django.contrib import admin from hamnadmin.register.models import * +class BlogAdmin(admin.ModelAdmin): + list_display = ['approved', 'userid', 'name', 'feedurl', 'authorfilter', ] + ordering = ['approved', 'name', ] #meh, multiple ordering not supported + admin.site.register(Team) -admin.site.register(Blog) +admin.site.register(Blog, BlogAdmin) admin.site.register(Post) diff --git a/hamnadmin/register/templates/index.html b/hamnadmin/register/templates/index.html index 3f290a2..04cdd19 100644 --- a/hamnadmin/register/templates/index.html +++ b/hamnadmin/register/templates/index.html @@ -35,15 +35,8 @@ We have the following blog(s) registered: {{blog.approved|yesno:"Yes,No"}} Feed: {{blog.feedurl}}
Blog: {{blog.blogurl}}
-OPTIONAL Author Filter: -{%if user.is_superuser %} -
- - -
-{%else%} +Author Filter: {{blog.authorfilter}} -{%endif%} View log
@@ -56,10 +49,7 @@ Not approved yet.
{%if user.is_superuser %} -{%if blog.approved %}Unapprove{%else%}Approve{%endif%}
-{%if blog.userid %}Detach from user
{%endif%} Discover metadata
-{%if blog.blogurl %}Undiscover metadata
{%endif%} {%endif%} @@ -79,15 +69,4 @@ Filter by author (OPTIONAL):
{%endif%} -{%if user.is_superuser %} -

As superuser, you can add a new blog. Note that normally the user requests the addition and you -then update it! Leave the userid blank to let the user attach it later, but that's a really ugly -way to do it :-P

-
-Blog url:
-Userid (blank for yourself):
-Filter by author (OPTIONAL):
- -
-{%endif%} {%endblock%} diff --git a/hamnadmin/register/templates/regbase.html b/hamnadmin/register/templates/regbase.html index 470ff98..8cec598 100644 --- a/hamnadmin/register/templates/regbase.html +++ b/hamnadmin/register/templates/regbase.html @@ -5,7 +5,8 @@ {%endif%}

Welcome to planet administration

{%if user.is_superuser %} -

You are registered as an administrator. BE CAREFUL!

+

You are registered as an administrator.

+

The full administration interface can be found here.

{% endif %} {%block regcontent%}{%endblock%} {%endblock%} diff --git a/hamnadmin/register/urls.py b/hamnadmin/register/urls.py index 3a70ef6..1260fbf 100644 --- a/hamnadmin/register/urls.py +++ b/hamnadmin/register/urls.py @@ -8,14 +8,8 @@ admin.autodiscover() urlpatterns = patterns('', (r'^$', 'hamnadmin.register.views.root'), (r'^new/$', 'hamnadmin.register.views.new'), - (r'^approve/(\d+)/$', 'hamnadmin.register.views.approve'), - (r'^unapprove/(\d+)/$', 'hamnadmin.register.views.unapprove'), (r'^discover/(\d+)/$', 'hamnadmin.register.views.discover'), - (r'^undiscover/(\d+)/$', 'hamnadmin.register.views.undiscover'), - (r'^detach/(\d+)/$', 'hamnadmin.register.views.detach'), (r'^delete/(\d+)/$', 'hamnadmin.register.views.delete'), - (r'^modify/(\d+)/$', 'hamnadmin.register.views.modify'), - (r'^modifyauthorfilter/(\d+)/$', 'hamnadmin.register.views.modifyauthorfilter'), (r'^log/(\d+)/$','hamnadmin.register.views.logview'), (r'^blogposts/(\d+)/$', 'hamnadmin.register.views.blogposts'), diff --git a/hamnadmin/register/views.py b/hamnadmin/register/views.py index e5f5ff7..d22cc5f 100644 --- a/hamnadmin/register/views.py +++ b/hamnadmin/register/views.py @@ -90,19 +90,8 @@ So, head off to the admin interface and approve or reject this! raise pExcept('Notify address not specified, cannot complete') blog = Blog() - if issuperuser(request.user): - blog.userid = request.POST['userid'] or request.user.username - # Try to guess who's name should go on this blog, default to the current - # users name if we can't find it in the feed. - blog.name = request.user.first_name - try: - e = feed.entries[0] - blog.name = e.author_detail.name or request.user.first_name - except: - pass - else: - blog.userid = request.user.username - blog.name = request.user.first_name + blog.userid = request.user.username + blog.name = request.user.first_name blog.feedurl = feedurl blog.authorfilter = authorfilter @@ -124,9 +113,8 @@ So, head off to the admin interface and approve or reject this! @transaction.commit_on_success def delete(request, id): blog = get_object_or_404(Blog, id=id) - if not request.user.is_superuser: - if not blog.userid == request.user.username: - raise pError("You can only delete your own feeds! Don't try to hack!") + if not blog.userid == request.user.username: + raise pError("You can only delete your own feeds! Don't try to hack!") send_mail('Blog deleted', """ The user '%s' has deleted the blog at %s (name %s) @@ -135,45 +123,6 @@ The user '%s' has deleted the blog at AuditEntry(request.user.username, 'Deleted blog %s' % blog.feedurl).save() return HttpResponseRedirect('../..') -@login_required -@transaction.commit_on_success -def modifyauthorfilter(request, id): - blog = get_object_or_404(Blog, id=id) - if not request.user.is_superuser: - if not blog.userid == request.user.username: - raise Exception("You can only update your own author filter! Don't try to hack!") - blog.authorfilter = request.POST['authorfilter'] - blog.save() - AuditEntry(request.user.username, 'Changed author filter of blog %s' % blog.feedurl).save() - return HttpResponseRedirect('../..') - -@user_passes_test(issuperuser) -@transaction.commit_on_success -def modify(request, id): - blog = get_object_or_404(Blog, id=id) - blog.name = request.POST['blogname'] - blog.save() - AuditEntry(request.user.username, 'Changed name of blog %s' % blog.feedurl).save() - return HttpResponseRedirect('../..') - -@user_passes_test(issuperuser) -@transaction.commit_on_success -def approve(request, id): - blog = get_object_or_404(Blog, id=id) - blog.approved = True - blog.save() - AuditEntry(request.user.username, 'Approved blog %s' % blog.feedurl).save() - return HttpResponseRedirect('../..') - -@user_passes_test(issuperuser) -@transaction.commit_on_success -def unapprove(request, id): - blog = get_object_or_404(Blog, id=id) - blog.approved = False - blog.save() - AuditEntry(request.user.username, 'Unapproved blog %s' % blog.feedurl).save() - return HttpResponseRedirect('../..') - @user_passes_test(issuperuser) @transaction.commit_on_success def discover(request, id): @@ -192,25 +141,6 @@ def discover(request, id): return HttpResponseRedirect('../..') -@user_passes_test(issuperuser) -@transaction.commit_on_success -def undiscover(request, id): - blog = get_object_or_404(Blog, id=id) - blog.blogurl = '' - blog.save() - AuditEntry(request.user.username, 'Undiscovered blog %s' % blog.feedurl).save() - return HttpResponseRedirect('../..') - -@user_passes_test(issuperuser) -@transaction.commit_on_success -def detach(request, id): - blog = get_object_or_404(Blog, id=id) - olduid = blog.userid - blog.userid = None - blog.save() - AuditEntry(request.user.username, 'Detached blog %s from %s' % (blog.feedurl, olduid)).save() - return HttpResponseRedirect('../..') - @login_required def logview(request, id): blog = get_object_or_404(Blog, id=id)