Changeset 6206 for exodus/views.py


Ignore:
Timestamp:
Aug 16, 2008, 12:06:41 AM (17 years ago)
Author:
RIck van der Zwet
Message:

Made all add working

File:
1 edited

Legend:

Unmodified
Added
Removed
  • exodus/views.py

    r6205 r6206  
    88from socket import gethostname
    99
    10 from exodus.models import Network, NIC, Node, Location, Link, LinkPool,Status
     10from exodus.models import *
    1111from exodus.wllogic import freemasterip, newssidname
    1212
     
    4343        return render_to_response('addnode.html', {'form': form })
    4444
     45class addNicForm(forms.ModelForm):
     46        class Meta:
     47                model = NIC
     48                exclude = ( 'ssid', 'mode', 'channel' )
     49
    4550def addnic(request):
    46         manipulator = NIC.AddManipulator()
    47 
    48         if request.POST:
    49                 new_data = request.POST.copy()
    50 
    51                 print new_data
    52                
    53                 # generated data for the NIC
    54 
    55                 new_data['shortdesc'] = "bogus"
    56                 new_data['desc'] = "bogus"
    57 
    58                 print new_data
    59                 print new_data['node']
    60 
    61                 if str(new_data['type']) != "eth":
    62                         new_data['ssid'] = newssidname(new_data['node'],new_data['iface'])
    63                         new_data['channel'] = '1'
    64                         new_data['mode'] = '1' # set to master
    65 
    66                 print new_data
    67                        
    68                 errors = manipulator.get_validation_errors(new_data)
    69 
    70                
    71                 if not errors:
    72                         manipulator.do_html2python(new_data)
    73                         new_place = manipulator.save(new_data)
    74 
    75                         return HttpResponseRedirect("/exodus/")
    76 
    77         else:
    78                 errors = new_data = {}
    79 
    80         form = forms.FormWrapper(manipulator, new_data, errors)
     51        if request.POST:
     52                form = addNicForm(request.POST)
     53                if form.is_valid():
     54                        instance  = form.save(commit=False)
     55                        if str(instance.type) != "eth":
     56                                print instance.iface
     57#                               instance.ssid = newssidname(instance.node.name,
     58#                                       instance.iface)
     59                                instance.channel = '1'
     60                                instance.mode = Mode(pk=1) # set to master
     61                        instance.save()
     62                        return HttpResponseRedirect("/exodus/")
     63        else:
     64                form = addNicForm()
    8165        return render_to_response('addnic.html', {'form': form })
    8266
     67class addInterlinkForm(forms.ModelForm):
     68        class Meta:
     69                model = Interlink
     70                exclude = ( 'shortdesc1', 'shortdesc2', 'desc1', 'desc2' )
     71
    8372def addinterlink(request):
    84         link1_manipulator = Link.AddManipulator()
    85         link2_manipulator = Link.AddManipulator()
    86         linkpool_manipulator = LinkPool.AddManipulator()
    87 
    88 
    89         if request.POST:
    90                 new_data = request.POST.copy()
    91        
    92                 print new_data
    93                 alliface = new_data.getlist("iface")
    94 
    95                 iface1 = NIC.objects.get(id=alliface[0])
    96                 iface2 = NIC.objects.get(id=alliface[1])
    97 
    98                 print iface1
    99                 print iface2
    100 
    101                 if iface1.type != iface2.type:
    102                         print "not compatible"
    103                         linkerror["compat"] = "choose twomcompatible"   
    104 
    105                 print new_data
    106                 errors1 = link1_manipulator.get_validation_errors(new_data)
    107                 errors2 = link2_manipulator.get_validation_errors(new_data)
    108 
    109                 print errors1
    110                 print errors2
    111 
    112                 if not errors1 and not errors2:
    113                         link1_manipulator.do_html2python(new_data)
    114 
    115                         return HttpResponseRedirect("/exodus/")
    116                
    117         else:
    118                 errors1 = new_data = {}
    119 
    120         form1 = forms.FormWrapper(link1_manipulator, new_data, errors1)
    121         form2 = forms.FormWrapper(link2_manipulator, new_data, errors2)
    122         return render_to_response('addinterlink.html',{'form1':form1, 'form2':form2})
     73        if request.POST:
     74                form = addInterlinkForm(request.POST)
     75                if form.is_valid():
     76                        instance  = form.save(commit=False)
     77                        if str(instance.iface1.type) != "eth":
     78                                print instance.iface
     79                                instance.ssid = newssidname(instance.node.name,
     80                                        instance.iface)
     81                                instance.channel = '1'
     82                                instance.mode = Mode(pk=1) # set to master
     83                        instance.save()
     84                        return HttpResponseRedirect("/exodus/")
     85        else:
     86                newForm = Interlink(ip1='172.16.0.0',ip2='172.16.0.0')
     87                form = addInterlinkForm(instance=newForm)
     88        return render_to_response('addinterlink.html', {'form': form })
     89
     90class addOmniForm(forms.ModelForm):
     91        class Meta:
     92                model = Omni
     93                exclude = ('shortdesc', 'desc')
    12394
    12495def addomni(request):
    125         link_manipulator = Link.AddManipulator()
    126         linkpool_manipulator = LinkPool.AddManipulator()
    127 
    128         if request.POST:
    129                 new_data = request.POST.copy()
    130 
    131                 # pull data and
    132                 #
    133 
    134                 link_errors = link_manipulator.get_validation_errors(new_data)
    135                 linkpool_errors = linkpool_manipulator.get_validation_errors(new_data)
    136 
    137         else:
    138                 errors = new_data = {}
    139        
    140         form1 = forms.FormWrapper(link_manipulator, new_data, errors)
    141         form2 = forms.FormWrapper(linkpool_manipulator, new_data, errors)
    142         return render_to_response('addomni.html',{'form1':form1, 'form2':form2})
     96        if request.POST:
     97                form = addOmniForm(request.POST)
     98                if form.is_valid():
     99                        instance  = form.save(commit=False)
     100                        instance.save()
     101                        return HttpResponseRedirect("/exodus/")
     102        else:
     103                form = addOmniForm()
     104        return render_to_response('addomni.html', {'form': form })
    143105
    144106def nodename_to_id(node):
Note: See TracChangeset for help on using the changeset viewer.