Index: /ossiedev/branches/jsnyder/trunk/tools/cornetApps/templates/DomainMan/console.html
===================================================================
--- /ossiedev/branches/jsnyder/trunk/tools/cornetApps/templates/DomainMan/console.html	(revision 11026)
+++ /ossiedev/branches/jsnyder/trunk/tools/cornetApps/templates/DomainMan/console.html	(revision 11071)
@@ -4,4 +4,5 @@
 <p>ip:  {{ip}}</p>
 <p>port:  {{port}}</p>
+<p>message: {{message}}</p>
 <p>Stdin: {{stdin}}</p>
 <p>Stdout:  {{stdout.readlines}}</p>
Index: /ossiedev/branches/jsnyder/trunk/tools/cornetApps/templates/DomainMan/runNodeBooter.html
===================================================================
--- /ossiedev/branches/jsnyder/trunk/tools/cornetApps/templates/DomainMan/runNodeBooter.html	(revision 11071)
+++ /ossiedev/branches/jsnyder/trunk/tools/cornetApps/templates/DomainMan/runNodeBooter.html	(revision 11071)
@@ -0,0 +1,18 @@
+<p>Check Running Nodebooter</p>
+<p>user:  {{user}}</p>
+<p>password:  {{password}}</p>
+<p>ip:  {{ip}}</p>
+<p>port:  {{port}}</p>
+<p>message: {{message}}</p>
+<p>Stdin: {{stdin}}</p>
+<p>Stdout:  {{stdout.readlines}}</p>
+<p>Stderr:  {{stderr}}</p>
+<p>processes: {{processes}}</p>
+<p>runningNodebooter: {{runningNodebooter}}</p>
+
+{% if not runningNodebooter %}
+	<a href='http://cornet.wireless.vt.edu/~webdemo/django/startNodeBooter/{{ip}}/{{port}}/{{user}}/{{password}}'>Start Nodebooter</a>
+{% endif %}
+{% if runningNodebooter %}
+	<a href='http://cornet.wireless.vt.edu/~webdemo/django/stopNodeBooter/{{ip}}/{{port}}/{{user}}/{{password}}'>Stop Nodebooter</a>
+{% endif %}
Index: /ossiedev/branches/jsnyder/trunk/tools/cornetApps/templates/DomainMan/connect.html
===================================================================
--- /ossiedev/branches/jsnyder/trunk/tools/cornetApps/templates/DomainMan/connect.html	(revision 11071)
+++ /ossiedev/branches/jsnyder/trunk/tools/cornetApps/templates/DomainMan/connect.html	(revision 11071)
@@ -0,0 +1,11 @@
+<html>
+<body>
+<form action="/connect_to_node/" method="post">{% csrf_token %}
+	<p>floor: <input type="text" name="floor"/></p>
+	<p>number: <input type="text" name="number"/></p>
+	<p>User: <input type="text" name="user"/></p>
+	<p>Pass: <input type="password" name="pass"/></p>
+	<input type="submit" value="Check Nodebooter"/>
+</form>
+</body>
+</html>
Index: /ossiedev/branches/jsnyder/trunk/tools/cornetApps/DomainMan/views.py
===================================================================
--- /ossiedev/branches/jsnyder/trunk/tools/cornetApps/DomainMan/views.py	(revision 11070)
+++ /ossiedev/branches/jsnyder/trunk/tools/cornetApps/DomainMan/views.py	(revision 11071)
@@ -4,4 +4,5 @@
 from django.template import RequestContext
 from paramiko import SSHClient, AutoAddPolicy
+from models import *
 
 """Views for DomainMan application
@@ -20,5 +21,5 @@
 Returns the SSHClient connected to the server
 """
-def connect(request, ip, port, user, password):
+def connect(ip, port, user, password):
     client = SSHClient()
     client.set_missing_host_key_policy(AutoAddPolicy())
@@ -51,5 +52,5 @@
 '''
 def startNodebooter(request, ip, port, user, password):
-    client = connect(request, ip, port, user, password)
+    client = connect(ip, port, user, password)
     stdin, stdout, stderr = client.exec_command('cd /sdr; nodeBooter -D -d dev/nodes/default_GPP_node/DeviceManager.dcd.xml')
     return render_to_response('DomainMan/console.html', locals(), context_instance=RequestContext(request))
@@ -63,5 +64,5 @@
 '''
 def stopNodebooter(request, ip, port, user, password):
-    client = connect(request, ip, port, user, password)
+    client = connect(ip, port, user, password)
     stdin, stdout, stderr = client.exec_command('killall nodeBooter')
     return render_to_response('DomainMan/console.html', locals(), context_instance=RequestContext(request))
@@ -76,5 +77,8 @@
 '''
 def nodeBooter_page(request, ip, port, user, password):
-    client = connect(request, ip, port, user, password)
+    if 'ip' in request.POST and 'port' in request.POST and 'user' in request.POST and 'pass' in request.POST:
+        client = connect(ip, port, user, password)
+    else:
+        raise Exception('client could not connect with POST variables')
     if not nodeBooter_running(client):
         stdin, stdout, stderr = client.exec_command('cd /sdr; nodeBooter -D -d dev/nodes/default_GPP_node/DeviceManager.dcd.xml')
@@ -82,12 +86,38 @@
     return render_to_response('DomainMan/console.html', locals(), context_instance=RequestContext(request))
 
+"""Connect to a nodebooter through a form
+"""
+def connect_to_node(request):
+    if 'floor' in request.POST and 'number' in request.POST and 'user' in request.POST and 'pass' in request.POST:
+        postFloor = int(request.POST['floor'])
+        postNum = int(request.POST['number'])
+        user = str(request.POST['user'])
+        password = str(request.POST['pass'])
+        
+        thisNode = Node(postFloor, postNum)
+        #ip = thisNode.ip
+        ip = "128.173.221.40"
+        port = thisNode.port
+        
+        client = connect(ip, port, user, password)
+        stdin, stdout, stderr = client.exec_command('ls')
+        runningNodebooter = nodeBooter_running(client)
+    else:
+        message = 'Missing ssh connection parameters'
+    return render_to_response('DomainMan/runNodeBooter.html', locals(), context_instance=RequestContext(request))
+
+"""Returns connection form
+"""
+def connect_to_node_view(request):
+    return render_to_response('DomainMan/connect.html', RequestContext(request))
+
 def ajax_example(request):
-    if not request.method == 'POST':
+    if not request.method == 'GET':
         name = "did not work"
-        print request.POST
+        print request.GET
         return render_to_response('DomainMan/ajax_example.html', locals(), context_instance=RequestContext(request))
     response_dict = {}
-    name = request.POST.get('name', False)
-    total = request.POST.get('total', False)
+    name = request.GET.get('name', False)
+    total = request.GET.get('total', False)
     response_dict.update({'name': name, 'total': total})
     if total:
Index: /ossiedev/branches/jsnyder/trunk/tools/cornetApps/DomainMan/models.py
===================================================================
--- /ossiedev/branches/jsnyder/trunk/tools/cornetApps/DomainMan/models.py	(revision 11070)
+++ /ossiedev/branches/jsnyder/trunk/tools/cornetApps/DomainMan/models.py	(revision 11071)
@@ -19,8 +19,8 @@
     """
     def __init__(self, thisFloor, thisNum):
-        ip = getIP(thisFloor, thisNum)
-        port = getPort(thisFloor,thisNum)
-        floor = thisFloor
-        num = thisNum
+        self.ip = self.getIP(thisFloor, thisNum)
+        self.port = self.getPort(thisFloor,thisNum)
+        self.floor = thisFloor
+        self.num = thisNum
         
     def __unicode__(self):
@@ -58,2 +58,14 @@
         else:
             raise Exception("Floor input must be greater than 0 and less than 5")
+        
+class SSHClientList():
+    clientList = {};
+    
+    def addClient(self, id, client):
+        clientList = {id: client};
+    
+    def getClient(self, id):
+        if clientList.__contains__(id):
+            return clientList.get(id)
+        else:
+            raise Exception("no".__add__(id).__add__("found"))
Index: /ossiedev/branches/jsnyder/trunk/tools/cornetApps/urls.py
===================================================================
--- /ossiedev/branches/jsnyder/trunk/tools/cornetApps/urls.py	(revision 11070)
+++ /ossiedev/branches/jsnyder/trunk/tools/cornetApps/urls.py	(revision 11071)
@@ -39,4 +39,6 @@
     url(r'^startNodeBooter/(?P<ip>.*)/(?P<port>\d+)/(?P<user>.*)/(?P<password>.*)/$', 'DomainMan.views.startNodebooter'),
     url(r'^stopNodeBooter/(?P<ip>.*)/(?P<port>\d+)/(?P<user>.*)/(?P<password>.*)/$', 'DomainMan.views.stopNodebooter'),
+    url(r'^connect/$', 'DomainMan.views.connect_to_node_view'),
+    url(r'^connect_to_node/$', 'DomainMan.views.connect_to_node'),
     url(r'^xhr_test/$', 'DomainMan.views.xhr_test'),
     url(r'^ajax/$', 'DomainMan.views.ajax_example'),
