diff options
Diffstat (limited to 'coip')
-rw-r--r-- | coip/apps/name/forms.py | 3 | ||||
-rw-r--r-- | coip/apps/name/views.py | 10 |
2 files changed, 6 insertions, 7 deletions
diff --git a/coip/apps/name/forms.py b/coip/apps/name/forms.py index a68102e..9dd03a7 100644 --- a/coip/apps/name/forms.py +++ b/coip/apps/name/forms.py @@ -29,8 +29,7 @@ class NewNameForm(forms.ModelForm): fields = ['type','value','short','description'] class NameDeleteForm(forms.Form): - recursive = BooleanField(label="Also delete all nodes below this node?",required=False) - confirm = BooleanField(label="Confirm") + recursive = BooleanField(label="Also delete everything below this name?",required=False) class NameLinkForm(forms.ModelForm): class Meta: diff --git a/coip/apps/name/views.py b/coip/apps/name/views.py index de5c3af..bde9954 100644 --- a/coip/apps/name/views.py +++ b/coip/apps/name/views.py @@ -27,18 +27,18 @@ def delete(request,id): if request.method == 'POST': form = NameDeleteForm(request.POST) if form.is_valid(): - if not form.cleaned_data['confirm']: - return HttpResponseRedirect("/name/id/%d" % name.id) - parent = name.parent if not form.cleaned_data['recursive'] and name.children.count() > 0: return HttpResponseForbidden("Will not delete non-empty node") + for link in name.links: + link.delete() + if form.cleaned_data['recursive']: name.remove(True) else: name.remove(False) - + if parent: return HttpResponseRedirect("/name/id/%d" % parent.id) else: @@ -46,7 +46,7 @@ def delete(request,id): else: form = NameDeleteForm() - return respond_to(request,{'text/html': 'apps/name/edit.html'},{'form': form,'name': name,'formtitle': 'Remove name confirmation' ,'submitname': 'Delete'}) + return respond_to(request,{'text/html': 'apps/name/edit.html'},{'form': form,'name': name,'formtitle': 'Remove %s' % (name.short) ,'submitname': 'Delete'}) @login_required def add(request,id): |