Changeset 6283


Ignore:
Timestamp:
Sep 15, 2008, 9:06:43 PM (17 years ago)
Author:
RIck van der Zwet
Message:
  • First attempt of new URL styles, removed number of fixed references
  • made initial setup of edit functionality at Node Style.
Location:
exodus
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified exodus/templates/addnode.html

    r6204 r6283  
    44
    55<h1>Create a Node</h1>
     6<h2><em> {{ message }} </em></h2>
    67
    78<form method="post" action=".">
  • TabularUnified exodus/templates/node-detail.html

    r6257 r6283  
    1111
    1212Master ip: {{ object.masterip }} <br>
    13 <a href="{% url exodus.views.addNode %}">EDIT</a>
     13<a href="{% url exodus.views.editNode  object %}">EDIT</a>
    1414</div>
    1515
  • TabularUnified exodus/templates/node-list.html

    r6238 r6283  
    99    {% for object in object_list %}
    1010                <tr>
    11                 <td class="list" ><a class="list"href=../{{ object.name }}/node/> {{ object.name }} </a><td>
     11                <td class="list" ><a class="list"href="{% url node-detail object.name %}">{{ object.name }}</a></td>
    1212            <td><a href="{% url exodus.views.conf_dhcpd_conf object.name %}">dhcpd.conf</a></td>
    1313            <td><a href="{% url exodus.views.conf_named_conf object.name %}">named.conf</a></td>
  • TabularUnified exodus/urls.py

    r6256 r6283  
    3030        url(r'^$', 'django.views.generic.simple.direct_to_template', {'template': 'index.html'}, "root") ,
    3131        url(r'^nodelist/$', 'django.views.generic.list_detail.object_list', dict(node_dict, template_name='node-list.html'), "nodelist"),
    32         (r'^(?P<slug>.+)/node/$', 'django.views.generic.list_detail.object_detail', dict(node_dict,slug_field='name',template_name='node-detail.html')),
     32        url(r'^view/node/(?P<slug>.+)/$', 'django.views.generic.list_detail.object_detail', dict(node_dict,slug_field='name',template_name='node-detail.html'), "node-detail"),
    3333
    3434        # config urls
    35         (r'^(?P<object_id>.+)/dhcpd.conf$', 'exodus.views.conf_dhcpd_conf'),
    36         (r'^(?P<object_id>.+)/named.conf$', 'exodus.views.conf_named_conf'),
    37         (r'^(?P<object_id>.+)/rc.node.local$', 'exodus.views.conf_rc_node_local'),
    38         (r'^(?P<object_id>.+)/resolv.conf$', 'exodus.views.conf_resolv_conf'),
     35        (r'^config/freebsd-5.0/(?P<object_id>.+)/dhcpd.conf$', 'exodus.views.conf_dhcpd_conf'),
     36        (r'^config/freebsd-5.0/(?P<object_id>.+)/named.conf$', 'exodus.views.conf_named_conf'),
     37        (r'^config/freebsd-5.0/(?P<object_id>.+)/rc.node.local$', 'exodus.views.conf_rc_node_local'),
     38        (r'^config/freebsd-5.0/(?P<object_id>.+)/resolv.conf$', 'exodus.views.conf_resolv_conf'),
    3939
    4040
    4141        # add urls
    42         (r'^addlocation/$', 'exodus.views.addLocation'),
    43         (r'^addnode/$', 'exodus.views.addNode'),
    44         (r'^addnic/$', 'exodus.views.addInterface'),
    45         (r'^addinterlink/$', 'exodus.views.addLink'),
    46         (r'^addomni/$', 'exodus.views.addPublicAP'),
     42        (r'^add/location/$', 'exodus.views.addLocation'),
     43        (r'^add/node/$', 'exodus.views.addNode'),
     44        (r'^add/nic/$', 'exodus.views.addInterface'),
     45        (r'^add/interlink/$', 'exodus.views.addLink'),
     46        (r'^add/omni/$', 'exodus.views.addPublicAP'),
     47
     48        # add urls
     49        (r'^edit/location/(?P<object_id>.+)/$', 'exodus.views.addLocation'),
     50        (r'^edit/node/(?P<objectId>.+)/$', 'exodus.views.editNode'),
     51        (r'^edit/nic/(?P<object_id>.+)/$', 'exodus.views.addInterface'),
     52        (r'^edit/interlink/(?P<object_id>.+)/$', 'exodus.views.addLink'),
     53        (r'^edit/omni/(?P<object_id>.+)/$', 'exodus.views.addPublicAP'),
    4754
    4855        # delete/remove urls
    49         (r'^delnode/$', 'exodus.views.delnode'),
     56        (r'^delete/node/(?P<object_id>.+)$', 'exodus.views.delnode'),
     57        (r'^delete/link/(?P<object_id>.+)$', 'exodus.views.delnode'),
    5058)
    5159
  • TabularUnified exodus/views.py

    r6257 r6283  
    4242                        return HttpResponseRedirect("/exodus/")
    4343        else:
    44                 # XXX: Parse node if found
    45                 nodeId = request.GET.get('id')
    46                 try:
    47                         node = Node.objects.get(pk=nodeId)
    48                         form = AddNodeForm(instance=node)
    49                 except Node.DoesNotExist:
    50 #                       newForm = Node(location=Location(pk=1))
    51 #                       form = AddNodeForm(instance = newForm)
    52 #                       Also possible
    53 #                       AddNodeFormSet = formset_factory(AddNodeForm,extra=0)
    54 #                       formset = AddNodeFormSet(initial=[{'location' : '1'}])
    55                         form = AddNodeForm()
     44                form = AddNodeForm()
    5645        return render_to_response('addnode.html', {'form': form })
     46
     47def editNode(request, objectId):
     48        node = Node.objects.get(name=objectId)
     49        if request.POST:
     50                form = AddNodeForm(request.POST, instance=node)
     51                if form.is_valid():
     52                        form.save()
     53                        #Properly redirect to view/<Node> needed
     54                        message = 'Node Updated succesfully'
     55                        return HttpResponseRedirect("/exodus/")
     56                else:
     57                        message = 'Form error, please edit and resubmit'
     58        else:
     59                message = 'Please edit and submit'
     60                form = AddNodeForm(instance=node)
     61        return render_to_response('addnode.html', {'form': form, 'message' : message })
     62
    5763
    5864def delnode(request):
Note: See TracChangeset for help on using the changeset viewer.