Index: /branches/exodus-roland/exodus/admin.py
===================================================================
--- /branches/exodus-roland/exodus/admin.py	(revision 6422)
+++ /branches/exodus-roland/exodus/admin.py	(revision 6423)
@@ -33,5 +33,5 @@
     )
 
-    #inlines = [InterfaceInline, ]
+    inlines = [InterfaceInline, ]
 
 class NodeInline(admin.TabularInline):
Index: /branches/exodus-roland/exodus/forms.py
===================================================================
--- /branches/exodus-roland/exodus/forms.py	(revision 6422)
+++ /branches/exodus-roland/exodus/forms.py	(revision 6423)
@@ -11,13 +11,21 @@
     def clean_masterip(self):
         import pdb; pdb.set_trace() ;
-        masterip = self.cleaned_data.get('masterip')
+        new_network = self.cleaned_data.get('network')
+        #XXX: racing conditions with free_masterip and save()?
+        # self.instnace.pk is only available when Node has been save before.
         if self.instance.pk is None:
-            masterip = free_masterip()
-        if masterip:
-            pass
-            
-            
-        masterip = self.cleaned_data.get('masterip')
-    def save(self, commit=True):
-        import pdb; pdb.set_trace() ;
-        
+            masterip = free_masterip(new_network)
+        else:
+            # check if network has changed
+            old_network = Node.objects.get(pk=self.instance.pk).network
+            if old_network == self.cleaned_data.get('network'):
+                masterip = self.cleaned_data.get('masterip')
+            else:
+                #XXX: Need to update ipconfigurations for depending interfaces
+                masterip = free_masterip(new_network) 
+        raise forms.ValidationError("Foutmelding van Rick en Roland")
+        return masterip        
+
+    #def save(self, commit):
+    #    # want to override this, but can't figure out how.
+    #    super(NodeForm, self).save()
