Changeset 6315


Ignore:
Timestamp:
Sep 25, 2008, 11:45:09 PM (16 years ago)
Author:
RIck van der Zwet
Message:
  • exodus/views.py, exodus/urls.py, exodus/templates/node-detail.html, exodus/templates/delnode.html: First attempt of getting deleting to work properly, working fine with Node currently. Have to be carefull with deleting relations as django tends to be very aggressive on deletion
Location:
trunk/exodus
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/exodus/templates/delnode.html

    r6310 r6315  
    33{% block content %}
    44
    5 <h1>Create a Node</h1>
     5<h1>Delete node {{ object.name }}</h1>
     6
     7Interfaces to be deleted:
     8<ol>
     9{% for nic in  object.interface_set.all %}
     10<li>{{ nic }}</li>
     11{% endfor %}
     12</ol>
     13
     14All connected interfaces to be converted to master interfaces:
     15<ol>
     16{% for nic in  object.interface_set.all %}
     17        {% ifequal nic.link nic %}
     18                {% for interlink in nic.link.interface_set.all %}
     19                        {% ifnotequal interlink nic %}
     20                        <li> {{ interlink }}</li>
     21                        {% endifnotequal %}
     22                {% endfor %}
     23        {% endifequal %}
     24{% endfor %}
     25</ol>
    626
    727<form method="post" action=".">
    8 <table>{{ form.as_table }}</table>
    9 <input type="submit" value="submit">
     28<h3>Are you sure you want to <b>DELETE</b> this data <b>PERMANENTLY</b>?</h3>
     29<input type="submit" name="cancel" value="NO, cancel">
     30<input type="submit" name="proceed" value="OK, proceed">
    1031</form>
    1132
  • trunk/exodus/templates/node-detail.html

    r6313 r6315  
    1313Master ip: {{ object.masterip }} <br>
    1414<a href="{% url exodus.views.editNode object %}">EDIT</a>
     15<a href="{% url exodus.views.delNode object %}">DELETE</a>
    1516</div>
    1617
  • trunk/exodus/urls.py

    r6288 r6315  
    4949        (r'^edit/node/(?P<objectId>.+)/$', 'exodus.views.editNode'),
    5050        (r'^edit/nic/(?P<objectId>.+)/$', 'exodus.views.editInterface'),
    51         (r'^edit/interlink/(?P<object_id>.+)/$', 'exodus.views.addLink'),
     51        (r'^edit/link/(?P<object_id>.+)/$', 'exodus.views.addLink'),
    5252        (r'^edit/dhcp/(?P<object_id>.+)/$', 'exodus.views.addPublicAP'),
    5353
    5454        # delete/remove urls
    55         (r'^delete/node/(?P<object_id>.+)$', 'exodus.views.delnode'),
    56         (r'^delete/link/(?P<object_id>.+)$', 'exodus.views.delnode'),
     55        (r'^delete/node/(?P<objectId>.+)/$', 'exodus.views.delNode'),
     56        (r'^delete/nic/(?P<objectId>.+)/$', 'exodus.views.delInterface'),
    5757)
    5858
  • trunk/exodus/views.py

    r6313 r6315  
    6767
    6868
    69 def delnode(request):
     69def delNode(request, objectId):
     70        node = Node.objects.get(name=objectId)
     71        if request.POST.has_key('cancel'):
     72                return HttpResponseRedirect(reverse('node-detail', args=[objectId]))
     73        elif request.POST.has_key('proceed'):
     74                for master in Interface.objects.filter(node=node):
     75                        if master.link == master:
     76                                for makeMaster in Interface.objects.filter(link=master):
     77                                        makeMaster.link = makeMaster
     78                                        makeMaster.save()
     79                node.delete()
     80                return HttpResponseRedirect(reverse('nodelist'))
     81        else:
     82                return render_to_response('delnode.html', {'object': node })
     83
     84def delInterface(request, objectId):
    7085        if request.POST:
    7186                form = AddNodeForm(request.POST)
Note: See TracChangeset for help on using the changeset viewer.