Changeset 6204


Ignore:
Timestamp:
Aug 15, 2008, 10:20:46 PM (17 years ago)
Author:
RIck van der Zwet
Message:

Moved to trunk of django new form formatting, hints:
http://www.djangoproject.com/documentation/model-api/
http://www.djangoproject.com/documentation/modelforms/

Location:
exodus
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • exodus/models.py

    r6203 r6204  
    6767    name = models.CharField(max_length=30, unique=True)
    6868    location = models.ForeignKey(Location)
    69     status = models.ForeignKey(Status)
     69    status = models.ForeignKey(Status,default=1)
    7070    masterip = models.IPAddressField()
    71     network = models.ForeignKey(Network)
     71    network = models.ForeignKey(Network,default=1)
    7272 
    7373    class Meta:
  • exodus/templates/addnode.html

    r6191 r6204  
    66
    77<form method="post" action=".">
    8 <div>
    9         <label for="id_name">Node Name:</label> {{ form.name }}
    10         {% if form.name.errors %} *** {{ form.name.errors|join:", " }}{% endif %}
    11 </div>
    12 <div>
    13         <label for="id_location">Node Location:</label> {{ form.location}}
    14         {% if form.location.errors %} *** {{ form.location.errors|join:", " }}{% endif %}
    15 </div>
    16 <div>
    17         <label for="id_status">Node Network:</label> {{ form.network }}
    18         {% if form.network.errors %} *** {{ form.network.errors|join:", " }}{% endif %}
    19 </div>
    20 <div>
    21         <label for="id_status">Node Status:</label> {{ form.status }}
    22         {% if form.status.errors %} *** {{ form.status.errors|join:", " }}{% endif %}
    23 </div>
    24 <div>
    25         {% if form.masterip.errors %} *** MasterIP {{ form.masterip.errors|join:", " }} {% endif %}
    26 </div>
     8<table>{{ form.as_table }}</table>
    279<input type="submit" value="submit">
    2810</form>
  • exodus/views.py

    r6198 r6204  
    88from socket import gethostname
    99
    10 from exodus.models import NIC, Node, Location, Link, LinkPool
     10from exodus.models import Network, NIC, Node, Location, Link, LinkPool,Status
    1111from exodus.wllogic import freemasterip, newssidname
    1212
     
    3737    return render_to_response('addlocation.html', {'form': form, 'new_data': new_data})
    3838
     39class AddNodeForm(forms.ModelForm):
     40        class Meta:
     41                model = Node
     42                exclude = ( 'masterip', )
     43
    3944def addnode(request):
    40         manipulator = Node.AddManipulator()
    41 
    42         if request.POST:
    43                 new_data = request.POST.copy()
    44 
    45                 # input a valid master ip into new_data
    46                 new_data['masterip'] = freemasterip()
    47 
    48                 errors = manipulator.get_validation_errors(new_data)
    49 
    50                 if not errors:
    51                         manipulator.do_html2python(new_data)
    52                         new_place = manipulator.save(new_data)
    53 
     45        if request.POST:
     46                form = AddNodeForm(request.POST)
     47                if form.is_valid():
     48                        # input a valid master ip into new_data
     49                        instance  = form.save(commit=False)
     50                        instance.masterip = freemasterip()
     51                        instance.save()
    5452                        return HttpResponseRedirect("/exodus/")
    55 
    56         else:
    57                 errors = new_data = {}
    58 
    59         form = forms.FormWrapper(manipulator, new_data, errors)
     53        else:
     54                form = AddNodeForm()
    6055        return render_to_response('addnode.html', {'form': form })
    6156
Note: See TracChangeset for help on using the changeset viewer.