diff options
Diffstat (limited to 'coip')
-rw-r--r-- | coip/apps/name/views.py | 8 | ||||
-rw-r--r-- | coip/apps/userprofile/views.py | 5 | ||||
-rw-r--r-- | coip/multiresponse.py | 11 | ||||
-rw-r--r-- | coip/urls.py | 2 |
4 files changed, 15 insertions, 11 deletions
diff --git a/coip/apps/name/views.py b/coip/apps/name/views.py index 86ee66c..6e1d340 100644 --- a/coip/apps/name/views.py +++ b/coip/apps/name/views.py @@ -34,7 +34,7 @@ def delete(request,id): if not form.cleaned_data['recursive'] and name.children.count() > 0: return HttpResponseForbidden("Will not delete non-empty node") - for link in name.links: + for link in name.links.all(): link.delete() if form.cleaned_data['recursive']: @@ -172,11 +172,11 @@ def show(request,name): return render403() @login_required -def show_by_name(request,n=None): - if not n: +def show_by_name(request,name=None): + if not name: return show_root(request) try: - return show(request,lookup(n)) + return show(request,lookup(name)) except ObjectDoesNotExist: return HttpResponseNotFound() diff --git a/coip/apps/userprofile/views.py b/coip/apps/userprofile/views.py index 59633de..1ce980c 100644 --- a/coip/apps/userprofile/views.py +++ b/coip/apps/userprofile/views.py @@ -39,10 +39,13 @@ def home(request): except ObjectDoesNotExist: pass + urn = lookup("urn",True) anyuser = lookup("system:anyuser",True) + urn.setacl(anyuser,'rl') + profile = user_profile(request) home = lookup('user:'+request.user.username,autocreate=True) - home.short = "Home of %s (%s)" % (profile.display_name,profile.identifier) + home.short = "%s (%s)" % (profile.display_name,profile.identifier) home.save() add_member(home,profile.user) home.setacl(home,"rliwd") diff --git a/coip/multiresponse.py b/coip/multiresponse.py index a67052c..b3482d0 100644 --- a/coip/multiresponse.py +++ b/coip/multiresponse.py @@ -32,11 +32,12 @@ def make_response_dict(request,d={}): if d.has_key('name'): name = d['name'] - d['render'] = {'delete': name.has_permission(request.user,'d'), - 'insert': name.has_permission(request.user,'i'), - 'edit': name.has_permission(request.user,'w'), - 'invite': name.has_permission(request.user,'i'), - 'up': name.parent and name.parent.has_permission(request.user,'r')} + if name: + d['render'] = {'delete': name.has_permission(request.user,'d'), + 'insert': name.has_permission(request.user,'i'), + 'edit': name.has_permission(request.user,'w'), + 'invite': name.has_permission(request.user,'i'), + 'up': (name.parent and name.parent.has_permission(request.user,'r')) or not name.parent} return d diff --git a/coip/urls.py b/coip/urls.py index e6a0492..a16e935 100644 --- a/coip/urls.py +++ b/coip/urls.py @@ -29,7 +29,7 @@ urlpatterns = patterns('', # Names (r'^name/id/(?P<id>[0-9]+)$', 'coip.apps.name.views.show_by_id'), (r'^name/(?P<name>[^0-9\/]+)$', 'coip.apps.name.views.show_by_name'), - (r'^name$', 'coip.apps.name.views.show_by_name'), + (r'^name$', 'coip.apps.name.views.show_root'), (r'^name/(?P<id>[0-9]+)/edit$', 'coip.apps.name.views.edit'), (r'^name/(?P<id>[0-9]+)/delete$', 'coip.apps.name.views.delete'), (r'^name/(?P<id>[0-9]+)/add$', 'coip.apps.name.views.add'), |