Remove most of the admin functionality in the site itself, instead
authorMagnus Hagander <magnus@hagander.net>
Thu, 30 Jul 2009 14:20:47 +0000 (16:20 +0200)
committerMagnus Hagander <magnus@hagander.net>
Thu, 30 Jul 2009 14:20:47 +0000 (16:20 +0200)
relying on the django admin interface to perform all admin operations.

This simplifies the code significantly.

hamnadmin/register/admin.py
hamnadmin/register/templates/index.html
hamnadmin/register/templates/regbase.html
hamnadmin/register/urls.py
hamnadmin/register/views.py

index b98d0e4ca0446a163965a037c6b8d6b7995b0b4f..420e986a71ef5aa28f3a01258f7d81ca2c83972c 100644 (file)
@@ -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)
index 3f290a2c7d71c2d0f5ceac15af6f376c6029ed11..04cdd19e3c8aa8fb95c29a2e9a0a2548c873a990 100644 (file)
@@ -35,15 +35,8 @@ We have the following blog(s) registered:
  </td>
  <td>{{blog.approved|yesno:"Yes,No"}}</td>
  <td>Feed: <a href="{{blog.feedurl}}">{{blog.feedurl}}</a><br/>Blog: <a href="{{blog.blogurl}}">{{blog.blogurl}}</a><br/>
-OPTIONAL Author Filter:
-{%if user.is_superuser %}
- <form method="post" action="modifyauthorfilter/{{blog.id}}/">
- <input type="text" name="authorfilter" value="{{blog.authorfilter}}">
- <input type="submit" value="Save Author Filter">
- </form>
-{%else%}
+Author Filter:
 {{blog.authorfilter}}
-{%endif%}
  </td>
 
  <td><a href="log/{{blog.id}}/">View log</a><br/>
@@ -56,10 +49,7 @@ Not approved yet.<br/>
 </td>
 {%if user.is_superuser %}
 <td>
-{%if blog.approved %}<a href="unapprove/{{blog.id}}/">Unapprove</a>{%else%}<a href="approve/{{blog.id}}/">Approve</a>{%endif%}<br/>
-{%if blog.userid %}<a href="detach/{{blog.id}}/">Detach from user</a><br/>{%endif%}
   <a href="discover/{{blog.id}}/">Discover metadata</a><br/>
-{%if blog.blogurl %}<a href="undiscover/{{blog.id}}/">Undiscover metadata</a><br/>{%endif%}
 </td>
 {%endif%}
 </tr>
@@ -79,15 +69,4 @@ Filter by author (OPTIONAL): <input type="text" name="authorfilter"><br/>
 <input type="submit" value="New blog">
 </form>
 {%endif%}
-{%if user.is_superuser %}
-<p>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</p>
-<form method="post" action="new/">
-Blog url: <input type="text" name="feedurl"><br/>
-Userid (blank for yourself): <input type="text" name="userid"><br/>
-Filter by author (OPTIONAL): <input type="text" name="authorfilter"><br/>
-<input type="submit" value="New blog">
-</form>
-{%endif%}
 {%endblock%}
index 470ff985656d06bcb19e1a185908ac8c1a41acca..8cec598fe840400806faf2c65e4e7c63097ab1de 100644 (file)
@@ -5,7 +5,8 @@
 {%endif%}
 <h1>Welcome to planet administration</h1>
 {%if user.is_superuser %}
-<h2>You are registered as an administrator. BE CAREFUL!</h2>
+<h2>You are registered as an administrator.</h2>
+<p>The full administration interface can be found <a href="admin/">here</a>.</p>
 {% endif %}
 {%block regcontent%}{%endblock%}
 {%endblock%}
index 3a70ef655caf2ce40098ff53ae81f3ef2f8a873b..1260fbfef752308751d6d2a391a0de98885eda8a 100644 (file)
@@ -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'),
index e5f5ff7f1ff7d74765bc75b366944eda5ccf203d..d22cc5fe9825d6f9b5ef2ceab9ebc4979c72aadf 100644 (file)
@@ -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)