</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/>
</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>
<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%}
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'),
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
@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)
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):
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)