summaryrefslogtreecommitdiff
path: root/coip
diff options
context:
space:
mode:
Diffstat (limited to 'coip')
-rw-r--r--coip/apps/name/forms.py3
-rw-r--r--coip/apps/name/views.py10
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):