##// END OF EJS Templates
sidebar_devices updated...
Miguel Urco -
r14:5d617c8cd56b
parent child
Show More
@@ -1,53 +1,51
1 from django.shortcuts import render, render_to_response
1 from django.shortcuts import render, render_to_response
2 from django.template import RequestContext
2 from django.template import RequestContext
3
3
4 from .forms import CGSConfigurationForm
4 from .forms import CGSConfigurationForm
5 from .models import CGSConfiguration
5 from .models import CGSConfiguration
6 from apps.main.models import Device
6 from apps.main.models import Device
7 # Create your views here.
7 # Create your views here.
8
8
9 def configurate_frequencies(request, id=0):
9 def configurate_frequencies(request, id=0):
10
10
11 if id:
11 if id:
12 conf = CGSConfiguration.objects.get(pk=id)
12 conf = CGSConfiguration.objects.get(pk=id)
13 devices = Device.objects.filter(configuration__experiment=conf.experiment)
13 devices = Device.objects.filter(configuration__experiment=conf.experiment)
14 devices = devices.values('configuration__id', 'device_type__name')
14 devices = devices.values('configuration__id', 'device_type__name')
15 for device in devices:
15 for device in devices:
16 if device['device_type__name']=='cgs':
16 if device['device_type__name']=='cgs':
17 device['active'] = 'active'
17 device['active'] = 'active'
18 break
18 break
19
19
20 device = device
20 device = device
21 form = CGSConfigurationForm(instance=conf)
21 form = CGSConfigurationForm(instance=conf)
22 else:
22 else:
23 form = CGSConfigurationForm()
23 form = CGSConfigurationForm()
24
24
25 data = {
25 data = {
26 'form': form,
26 'form': form,
27 'device': device,
27 'device': device,
28 'devices':devices,
28 'devices':devices,
29 'title': ('YAP'),
29 'title': ('YAP'),
30 'experiment': conf.experiment,
31
32 }
30 }
33
31
34 data['dev_conf'] = conf
32 data['dev_conf'] = conf
35 data['dev_conf_keys'] = ['experiment', 'device']
33 data['dev_conf_keys'] = ['experiment', 'device']
36
34
37 if request.method == 'POST':
35 if request.method == 'POST':
38 form = CGSConfigurationForm(request.POST) #, initial={'purchase_request':purchase_request})
36 form = CGSConfigurationForm(request.POST) #, initial={'purchase_request':purchase_request})
39 if form.is_valid():
37 if form.is_valid():
40 instance = form.save(commit=False)
38 instance = form.save(commit=False)
41 #if 'quote' in request.FILES:
39 #if 'quote' in request.FILES:
42 # instance.quoe = request.FILES['quote']
40 # instance.quoe = request.FILES['quote']
43 instance.save()
41 instance.save()
44 form.save_m2m()
42 form.save_m2m()
45 msg = _(u'The frequencies have been activated successfully.')
43 msg = _(u'The frequencies have been activated successfully.')
46 messages.success(request, msg, fail_silently=True)
44 messages.success(request, msg, fail_silently=True)
47 #return redirect(purchase_request.get_absolute_url())
45 #return redirect(purchase_request.get_absolute_url())
48 else:
46 else:
49 form = CGSConfigurationForm()
47 form = CGSConfigurationForm()
50
48
51 return render(request, 'cgs_conf.html', data)
49 return render(request, 'cgs_conf.html', data)
52
50
53
51
@@ -1,31 +1,32
1 from django.shortcuts import render_to_response
1 from django.shortcuts import render_to_response
2 from django.template import RequestContext
2 from django.template import RequestContext
3
3
4 from apps.main.models import Device
4 from apps.main.models import Device
5 from .models import JARSConfiguration
5 from .models import JARSConfiguration
6 from .forms import JARSConfigurationForm
6 from .forms import JARSConfigurationForm
7 # Create your views here.
7 # Create your views here.
8
8
9 def jars_config(request, id):
9 def jars_config(request, id):
10
10
11 if id:
11 if id:
12 conf = JARSConfiguration.objects.get(pk=id)
12 conf = JARSConfiguration.objects.get(pk=id)
13 devices = Device.objects.filter(configuration__experiment=conf.experiment)
13 devices = Device.objects.filter(configuration__experiment=conf.experiment)
14 devices = devices.values('configuration__id', 'device_type__name')
14 devices = devices.values('configuration__id', 'device_type__name')
15 for device in devices:
15 for device in devices:
16 if device['device_type__name']=='jars':
16 if device['device_type__name']=='jars':
17 device['active'] = 'active'
17 device['active'] = 'active'
18 form = JARSConfigurationForm(instance=conf)
18 form = JARSConfigurationForm(instance=conf)
19 else:
19 else:
20 form = JARSConfigurationForm()
20 form = JARSConfigurationForm()
21
21
22 kwargs = {
22 kwargs = {
23 'form': form,
23 'form': form,
24 'devices':devices,
24 'devices':devices,
25 'dev_conf': conf
25 }
26 }
26
27
27 return render_to_response('jars.html', kwargs, context_instance=RequestContext(request))
28 return render_to_response('jars.html', kwargs, context_instance=RequestContext(request))
28
29
29
30
30
31
31
32
@@ -1,96 +1,83
1 {% extends "base.html" %}
1 {% extends "base.html" %}
2 {% load bootstrap3 %}
2 {% load bootstrap3 %}
3 {% load static %}
3 {% load static %}
4 {% load main_tags %}
4 {% load main_tags %}
5 {% block extra-head %}
5 {% block extra-head %}
6 <link href="{% static 'css/bootstrap-datetimepicker.min.css' %}" media="screen" rel="stylesheet">
6 <link href="{% static 'css/bootstrap-datetimepicker.min.css' %}" media="screen" rel="stylesheet">
7 {% endblock %}
7 {% endblock %}
8
8
9 {% block camp-active %}active{% endblock %}
9 {% block camp-active %}active{% endblock %}
10
10
11 {% block content-title %}{{title}}{% endblock %}
11 {% block content-title %}{{title}}{% endblock %}
12 {% block content-suptitle %}{{suptitle}}{% endblock %}
12 {% block content-suptitle %}{{suptitle}}{% endblock %}
13
13
14 {% block content %}
14 {% block content %}
15 <table class="table table-bordered">
15 <table class="table table-bordered">
16 {% for key in campaign_keys %}
16 {% for key in campaign_keys %}
17 <tr><th>{{key|title}}</th><td>{{campaign|attr:key}}</td></tr>
17 <tr><th>{{key|title}}</th><td>{{campaign|attr:key}}</td></tr>
18 {% endfor %}
18 {% endfor %}
19 </table>
19 </table>
20 <hr>
20 <button class="btn btn-primary pull-right" id="bt_edit_campaign">Edit Campaign</button>
21 <br></br>
22 <br></br>
21
23
22 <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
24 <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
23 <div class="panel panel-default">
25
24 <div class="panel-heading" role="tab" id="headingOne">
25 <h4 class="panel-title">
26 <a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
27 Edit Campaign Details
28 </a>
29 </h4>
30 </div>
31 <div id="collapseOne" class="panel-collapse collapse" role="tabpanel" aria-labelledby="headingOne">
32 <div class="panel-body">
33 <form class="form" method="post" action="{% url 'url_edit_campaign' campaign.id %}">
34 {% csrf_token %}
35 {% bootstrap_form form layout='horizontal' size='medium' %}
36 <div style="clear: both;"></div>
37 <br>
38 <button type="submit" class="btn btn-primary pull-right" id="bt_update">Update</button>
39 </form>
40 </div>
41 </div>
42 </div>
43 <div class="panel panel-default">
26 <div class="panel panel-default">
44 <div class="panel-heading" role="tab" id="headingTwo">
27 <div class="panel-heading" role="tab" id="headingTwo">
45 <h4 class="panel-title">
28 <h4 class="panel-title">
46 <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
29 <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
47 Experiment List
30 Experiment List
48 </a>
31 </a>
49 </h4>
32 </h4>
50 </div>
33 </div>
51
34
52 <div id="collapseTwo" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingTwo">
35 <div id="collapseTwo" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingTwo">
53 <div class="panel-body">
36 <div class="panel-body">
54 <table class="table table-hover">
37 <table class="table table-hover">
55 <tr>
38 <tr>
56 <th>#</th>
39 <th>#</th>
57 {% for header in experiment_keys %}
40 {% for header in experiment_keys %}
58 <th>{{ header|title }}</th>
41 <th>{{ header|title }}</th>
59 {% endfor%}
42 {% endfor%}
60 </tr>
43 </tr>
61 {% for item in experiments %}
44 {% for item in experiments %}
62 <tr class="clickable-row" data-href="{% url 'url_experiment' item.id %}">
45 <tr class="clickable-row" data-href="{% url 'url_experiment' item.id %}">
63 <td>{{ forloop.counter }}</td>
46 <td>{{ forloop.counter }}</td>
64 {% for key in experiment_keys %}
47 {% for key in experiment_keys %}
65 <td>{{ item|attr:key }}</td>
48 <td>{{ item|attr:key }}</td>
66 {% endfor %}
49 {% endfor %}
67 </tr>
50 </tr>
68 {% endfor %}
51 {% endfor %}
69 </table>
52 </table>
70 <button class="btn btn-primary pull-right" id="bt_add">{{button}}</button>
53 <button class="btn btn-primary pull-right" id="bt_add">{{button}}</button>
71 </div>
54 </div>
72 </div>
55 </div>
73 </div>
56 </div>
74 </div>
57 </div>
75 {% endblock %}
58 {% endblock %}
76
59
77 {% block sidebar%}
60 {% block sidebar%}
78 {% include "sidebar_devices.html" %}
61 {% include "sidebar_devices.html" %}
79 {% endblock %}
62 {% endblock %}
80
63
81 {% block extra-js%}
64 {% block extra-js%}
82 <script src="{% static 'js/moment.min.js' %}"></script>
65 <script src="{% static 'js/moment.min.js' %}"></script>
83 <script src="{% static 'js/bootstrap-datetimepicker.min.js' %}"></script>
66 <script src="{% static 'js/bootstrap-datetimepicker.min.js' %}"></script>
84 <script type="text/javascript">
67 <script type="text/javascript">
85 $('.input-group.date').datetimepicker({"format": "YYYY-MM-DD HH:mm"});
68 $('.input-group.date').datetimepicker({"format": "YYYY-MM-DD HH:mm"});
86
69
87 $("#bt_add").click(function() {
88 document.location = "{% url 'url_add_experiment' campaign.id%}";
89 });
90
91 $(".clickable-row").click(function() {
70 $(".clickable-row").click(function() {
92 document.location = $(this).data("href");
71 document.location = $(this).data("href");
93 });
72 });
94
73
74 $("#bt_edit_campaign").click(function() {
75 document.location = "{% url 'url_edit_campaign' campaign.id%}";
76 });
77
78 $("#bt_add").click(function() {
79 document.location = "{% url 'url_add_experiment' campaign.id%}";
80 });
81
95 </script>
82 </script>
96 {% endblock %} No newline at end of file
83 {% endblock %}
@@ -1,54 +1,49
1 {% extends "base.html" %}
1 {% extends "base.html" %}
2 {% load bootstrap3 %}
2 {% load bootstrap3 %}
3 {% load static %}
3 {% load static %}
4 {% load main_tags %}
4 {% load main_tags %}
5 {% block extra-head %}
6 <link href="{% static 'css/bootstrap-datetimepicker.min.css' %}" media="screen" rel="stylesheet">
7 {% endblock %}
8
5
9 {% block dev-active %}active{% endblock %}
6 {% block dev-active %}active{% endblock %}
10
7
11 {% block content-title %}{{title}}{% endblock %}
8 {% block content-title %}{{title}}{% endblock %}
12 {% block content-suptitle %}{{suptitle}}{% endblock %}
9 {% block content-suptitle %}{{suptitle}}{% endblock %}
13
10
14 {% block content %}
11 {% block content %}
15 <table class="table table-hover">
12 <table class="table table-hover">
16 <tr>
13 <tr>
17 <th>#</th>
14 <th>#</th>
18 {% for key in device_keys %}
15 {% for key in device_keys %}
19 <th>{{ key|title }}</th>
16 <th>{{ key|title }}</th>
20 {% endfor%}
17 {% endfor%}
21 </tr>
18 </tr>
22 {% for device in devices %}
19 {% for device in devices %}
23 <tr class="clickable-row" data-href="{% url 'url_device' device.id %}">
20 <tr class="clickable-row" data-href="{% url 'url_device' device.id %}">
24 <td>{{ forloop.counter }}</td>
21 <td>{{ forloop.counter }}</td>
25 {% for key in device_keys %}
22 {% for key in device_keys %}
26 <td>{{ device|attr:key }}</td>
23 <td>{{ device|attr:key }}</td>
27 {% endfor %}
24 {% endfor %}
28 </tr>
25 </tr>
29 {% endfor %}
26 {% endfor %}
30 </table>
27 </table>
31 <button class="btn btn-primary pull-right" id="bt_add">{{button}}</button>
28 <button class="btn btn-primary pull-right" id="bt_add">{{button}}</button>
32 {% endblock %}
29 {% endblock %}
33
30
34 {% block sidebar%}
31 {% block sidebar%}
35 {% include "sidebar_devices.html" %}
32 {% include "sidebar_devices.html" %}
36 {% endblock %}
33 {% endblock %}
37
34
38 {% block extra-js%}
35 {% block extra-js%}
39 <script src="{% static 'js/moment.min.js' %}"></script>
36 <script src="{% static 'js/moment.min.js' %}"></script>
40 <script src="{% static 'js/bootstrap-datetimepicker.min.js' %}"></script>
37 <script src="{% static 'js/bootstrap-datetimepicker.min.js' %}"></script>
41 <script type="text/javascript">
38 <script type="text/javascript">
42 $('.input-group.date').datetimepicker({"format": "YYYY-MM-DD HH:mm"});
43 $('.input-group.time').datetimepicker({"format": "HH:mm"});
44
39
45 $("#bt_add").click(function() {
40 $("#bt_add").click(function() {
46 document.location = "{% url 'url_add_device' %}";
41 document.location = "{% url 'url_add_device' %}";
47 });
42 });
48
43
49 $(".clickable-row").click(function() {
44 $(".clickable-row").click(function() {
50 document.location = $(this).data("href");
45 document.location = $(this).data("href");
51 });
46 });
52
47
53 </script>
48 </script>
54 {% endblock %} No newline at end of file
49 {% endblock %}
@@ -1,83 +1,83
1 {% extends "base.html" %}
1 {% extends "base.html" %}
2 {% load bootstrap3 %}
2 {% load bootstrap3 %}
3 {% load static %}
3 {% load static %}
4 {% load main_tags %}
4 {% load main_tags %}
5 {% block extra-head %}
5 {% block extra-head %}
6 <link href="{% static 'css/bootstrap-datetimepicker.min.css' %}" media="screen" rel="stylesheet">
6 <link href="{% static 'css/bootstrap-datetimepicker.min.css' %}" media="screen" rel="stylesheet">
7 {% endblock %}
7 {% endblock %}
8
8
9 {% block exp-active %}active{% endblock %}
9 {% block exp-active %}active{% endblock %}
10
10
11 {% block content-title %}{{title}}{% endblock %}
11 {% block content-title %}{{title}}{% endblock %}
12 {% block content-suptitle %}{{suptitle}}{% endblock %}
12 {% block content-suptitle %}{{suptitle}}{% endblock %}
13
13
14 {% block content %}
14 {% block content %}
15 <table class="table table-bordered">
15 <table class="table table-bordered">
16 {% for key in experiment_keys %}
16 {% for key in experiment_keys %}
17 <tr><th>{{key|title}}</th><td>{{experiment|attr:key}}</td></tr>
17 <tr><th>{{key|title}}</th><td>{{experiment|attr:key}}</td></tr>
18 {% endfor %}
18 {% endfor %}
19 </table>
19 </table>
20 <button class="btn btn-primary pull-right" id="bt_edit_experiment">Edit Experiment</button>
20 <button class="btn btn-primary pull-right" id="bt_edit_experiment">Edit Experiment</button>
21 <br></br>
21 <br></br>
22 <br></br>
22 <br></br>
23
23
24 <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
24 <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
25
25
26 <div class="panel panel-default">
26 <div class="panel panel-default">
27 <div class="panel-heading" role="tab" id="headingTwo">
27 <div class="panel-heading" role="tab" id="headingTwo">
28 <h4 class="panel-title">
28 <h4 class="panel-title">
29 <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseThree">
29 <a class="collapsed" role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseTwo" aria-expanded="false" aria-controls="collapseThree">
30 Experiment's Devices
30 Device Configurations
31 </a>
31 </a>
32 </h4>
32 </h4>
33 </div>
33 </div>
34 <div id="collapseTwo" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingTwo">
34 <div id="collapseTwo" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingTwo">
35 <div class="panel-body">
35 <div class="panel-body">
36 <table class="table table-hover">
36 <table class="table table-hover">
37 <tr>
37 <tr>
38 <th>#</th>
38 <th>#</th>
39 {% for key in configuration_keys %}
39 {% for key in configuration_keys %}
40 <th>{{ key|title }}</th>
40 <th>{{ key|title }}</th>
41 {% endfor%}
41 {% endfor%}
42 </tr>
42 </tr>
43 {% for item in configurations %}
43 {% for item in configurations %}
44 <tr class="clickable-row" data-href="/{{item.device__device_type__name}}/{{item.id}}/">
44 <tr class="clickable-row" data-href="/{{item.device__device_type__name}}/{{item.id}}/">
45 <td>{{ forloop.counter }}</td>
45 <td>{{ forloop.counter }}</td>
46 {% for key in configuration_keys %}
46 {% for key in configuration_keys %}
47 <td>{{ item|attr:key }}</td>
47 <td>{{ item|attr:key }}</td>
48 {% endfor %}
48 {% endfor %}
49 </tr>
49 </tr>
50 {% endfor %}
50 {% endfor %}
51 </table>
51 </table>
52 <button class="btn btn-primary pull-right" id="bt_add_conf">{{button}}</button>
52 <button class="btn btn-primary pull-right" id="bt_add_conf">{{button}}</button>
53 </div>
53 </div>
54 </div>
54 </div>
55 </div>
55 </div>
56 </div>
56 </div>
57 {% endblock %}
57 {% endblock %}
58
58
59 {% block sidebar%}
59 {% block sidebar%}
60 {% include "sidebar_devices.html" %}
60 {% include "sidebar_devices.html" %}
61 {% endblock %}
61 {% endblock %}
62
62
63 {% block extra-js%}
63 {% block extra-js%}
64
64
65 <script src="{% static 'js/moment.min.js' %}"></script>
65 <script src="{% static 'js/moment.min.js' %}"></script>
66 <script src="{% static 'js/bootstrap-datetimepicker.min.js' %}"></script>
66 <script src="{% static 'js/bootstrap-datetimepicker.min.js' %}"></script>
67 <script type="text/javascript">
67 <script type="text/javascript">
68 $('.input-group.date').datetimepicker({"format": "YYYY-MM-DD HH:mm"});
68 $('.input-group.date').datetimepicker({"format": "YYYY-MM-DD HH:mm"});
69
69
70 $(".clickable-row").click(function() {
70 $(".clickable-row").click(function() {
71 document.location = $(this).data("href");
71 document.location = $(this).data("href");
72 });
72 });
73
73
74 $("#bt_edit_experiment").click(function() {
74 $("#bt_edit_experiment").click(function() {
75 document.location = "{% url 'url_edit_experiment' experiment.id%}";
75 document.location = "{% url 'url_edit_experiment' experiment.id%}";
76 });
76 });
77
77
78 $("#bt_add_conf").click(function() {
78 $("#bt_add_conf").click(function() {
79 document.location = "{% url 'url_add_dev_conf' experiment.id%}";
79 document.location = "{% url 'url_add_dev_conf' experiment.id%}";
80 });
80 });
81
81
82 </script>
82 </script>
83 {% endblock %} No newline at end of file
83 {% endblock %}
@@ -1,23 +1,62
1 {% if experiment %}
1 {% if experiment %}
2 <div class="panel panel-default">
2 <div class="panel panel-default">
3 <div class="panel-heading">
3 <div class="panel-heading">
4 <h3>Experiment</h3>
4 <h4>Campaign</h4>
5 </div>
6 <div class="list-group">
7 <a href="{% url 'url_campaign' experiment.campaign.id %}" class="list-group-item active" >{{ experiment.campaign.name }}</a>
8 </div>
9 </div>
10
11 <div class="panel panel-default">
12 <div class="panel-heading">
13 <h4>Experiment</h4>
5 </div>
14 </div>
6 <div class="list-group">
15 <div class="list-group">
7 <a href="{% url 'url_experiment' experiment.id %}" class="list-group-item active" >{{ experiment.name }}</a>
16 <a href="{% url 'url_experiment' experiment.id %}" class="list-group-item active" >{{ experiment.name }}</a>
8 </div>
17 </div>
9 </div>
18 </div>
10 {% endif %}
11
19
12 {% if devices %}
20 {% if configurations %}
13 <div class="panel panel-default">
21 <div class="panel panel-default">
14 <div class="panel-heading">
22 <div class="panel-heading">
15 <h3>Devices</h3>
23 <h4>Device Configurations</h4>
16 </div>
24 </div>
17 <div class="list-group">
25 <div class="list-group">
18 {% for item in devices %}
26 {% for item in configurations %}
19 <a href="/{{item.device_type__name}}/{{item.configuration__id}}/" class="list-group-item {{item.active}}">{{item.device_type__alias}}</a>
27 <a href="/{{item.device__device_type__name}}/{{item.id}}" class="list-group-item {{item.active}}">{{item.device__name}}</a>
20 {% endfor %}
28 {% endfor %}
21 </div>
29 </div>
22 </div>
30 </div>
23 {% endif %}
31 {% endif %}
32 {% endif %}
33
34 {% if dev_conf %}
35 <div class="panel panel-default">
36 <div class="panel-heading">
37 <h4>Campaign</h4>
38 </div>
39 <div class="list-group">
40 <a href="{% url 'url_campaign' dev_conf.experiment.campaign.id %}" class="list-group-item active" >{{ dev_conf.experiment.campaign.name }}</a>
41 </div>
42 </div>
43
44 <div class="panel panel-default">
45 <div class="panel-heading">
46 <h4>Experiment</h4>
47 </div>
48 <div class="list-group">
49 <a href="{% url 'url_experiment' dev_conf.experiment.id %}" class="list-group-item active" >{{ dev_conf.experiment.name }}</a>
50 </div>
51 </div>
52
53 <div class="panel panel-default">
54 <div class="panel-heading">
55 <h4>Device</h4>
56 </div>
57 <div class="list-group">
58 <a href="{% url 'url_device' dev_conf.device.id %}" class="list-group-item active" >{{ dev_conf.device.name }}</a>
59 </div>
60 </div>
61
62 {% endif %}
@@ -1,494 +1,494
1 from django.shortcuts import render, redirect
1 from django.shortcuts import render, redirect
2
2
3 from .forms import CampaignForm, ExperimentForm, DeviceForm, ConfigurationForm
3 from .forms import CampaignForm, ExperimentForm, DeviceForm, ConfigurationForm
4 from apps.cgs.forms import CGSConfigurationForm
4 from apps.cgs.forms import CGSConfigurationForm
5 from apps.jars.forms import JARSConfigurationForm
5 from apps.jars.forms import JARSConfigurationForm
6 from apps.usrp.forms import USRPConfigurationForm
6 from apps.usrp.forms import USRPConfigurationForm
7 from apps.abs.forms import ABSConfigurationForm
7 from apps.abs.forms import ABSConfigurationForm
8 from apps.rc.forms import RCConfigurationForm
8 from apps.rc.forms import RCConfigurationForm
9 from apps.dds.forms import DDSConfigurationForm
9 from apps.dds.forms import DDSConfigurationForm
10
10
11 from .models import Campaign, Experiment, Device, Configuration
11 from .models import Campaign, Experiment, Device, Configuration
12 from apps.cgs.models import CGSConfiguration
12 from apps.cgs.models import CGSConfiguration
13 from apps.jars.models import JARSConfiguration
13 from apps.jars.models import JARSConfiguration
14 from apps.usrp.models import USRPConfiguration
14 from apps.usrp.models import USRPConfiguration
15 from apps.abs.models import ABSConfiguration
15 from apps.abs.models import ABSConfiguration
16 from apps.rc.models import RCConfiguration
16 from apps.rc.models import RCConfiguration
17 from apps.dds.models import DDSConfiguration
17 from apps.dds.models import DDSConfiguration
18
18
19 # Create your views here.
19 # Create your views here.
20
20
21 CONF_FORMS = {
21 CONF_FORMS = {
22 'rc': RCConfigurationForm,
22 'rc': RCConfigurationForm,
23 'dds': DDSConfigurationForm,
23 'dds': DDSConfigurationForm,
24 'jars': JARSConfigurationForm,
24 'jars': JARSConfigurationForm,
25 'cgs': CGSConfigurationForm,
25 'cgs': CGSConfigurationForm,
26 'abs': ABSConfigurationForm,
26 'abs': ABSConfigurationForm,
27 'usrp': USRPConfigurationForm,
27 'usrp': USRPConfigurationForm,
28 }
28 }
29
29
30 CONF_MODELS = {
30 CONF_MODELS = {
31 'rc': RCConfiguration,
31 'rc': RCConfiguration,
32 'dds': DDSConfiguration,
32 'dds': DDSConfiguration,
33 'jars': JARSConfiguration,
33 'jars': JARSConfiguration,
34 'cgs': CGSConfiguration,
34 'cgs': CGSConfiguration,
35 'abs': ABSConfiguration,
35 'abs': ABSConfiguration,
36 'usrp': USRPConfiguration,
36 'usrp': USRPConfiguration,
37 }
37 }
38
38
39 def index(request):
39 def index(request):
40 kwargs = {}
40 kwargs = {}
41
41
42 return render(request, 'index.html', kwargs)
42 return render(request, 'index.html', kwargs)
43
43
44 def devices(request):
44 def devices(request):
45
45
46 devices = Device.objects.all().order_by('device_type__name')
46 devices = Device.objects.all().order_by('device_type__name')
47
47
48 keys = ['id', 'device_type__name', 'name', 'ip_address']
48 keys = ['id', 'device_type__name', 'name', 'ip_address']
49
49
50 kwargs = {}
50 kwargs = {}
51 kwargs['device_keys'] = keys[1:]
51 kwargs['device_keys'] = keys[1:]
52 kwargs['devices'] = devices.values(*keys)
52 kwargs['devices'] = devices.values(*keys)
53 kwargs['title'] = 'Device'
53 kwargs['title'] = 'Device'
54 kwargs['suptitle'] = 'List'
54 kwargs['suptitle'] = 'List'
55 kwargs['button'] = 'New Device'
55 kwargs['button'] = 'New Device'
56
56
57 return render(request, 'devices.html', kwargs)
57 return render(request, 'devices.html', kwargs)
58
58
59 def device(request, id_dev):
59 def device(request, id_dev):
60
60
61 device = Device.objects.get(pk=id_dev)
61 device = Device.objects.get(pk=id_dev)
62
62
63 # form = DeviceForm(instance=device)
63 # form = DeviceForm(instance=device)
64
64
65 kwargs = {}
65 kwargs = {}
66 kwargs['device'] = device
66 kwargs['device'] = device
67 kwargs['device_keys'] = ['device_type', 'name', 'ip_address', 'port_address', 'description']
67 kwargs['device_keys'] = ['device_type', 'name', 'ip_address', 'port_address', 'description']
68
68
69 kwargs['title'] = 'Device'
69 kwargs['title'] = 'Device'
70 kwargs['suptitle'] = 'Details'
70 kwargs['suptitle'] = 'Details'
71
71
72 # kwargs['form'] = form
72 # kwargs['form'] = form
73 kwargs['button'] = 'Add Device'
73 kwargs['button'] = 'Add Device'
74
74
75 return render(request, 'device.html', kwargs)
75 return render(request, 'device.html', kwargs)
76
76
77 def add_device(request):
77 def add_device(request):
78
78
79 if request.method == 'GET':
79 if request.method == 'GET':
80 form = DeviceForm()
80 form = DeviceForm()
81
81
82 if request.method == 'POST':
82 if request.method == 'POST':
83 form = DeviceForm(request.POST)
83 form = DeviceForm(request.POST)
84
84
85 if form.is_valid():
85 if form.is_valid():
86 form.save()
86 form.save()
87 return redirect('url_devices')
87 return redirect('url_devices')
88
88
89 kwargs = {}
89 kwargs = {}
90 kwargs['form'] = form
90 kwargs['form'] = form
91 kwargs['title'] = 'Device'
91 kwargs['title'] = 'Device'
92 kwargs['suptitle'] = 'New'
92 kwargs['suptitle'] = 'New'
93 kwargs['button'] = 'Create'
93 kwargs['button'] = 'Create'
94
94
95 return render(request, 'device_edit.html', kwargs)
95 return render(request, 'device_edit.html', kwargs)
96
96
97 def edit_device(request, id_dev):
97 def edit_device(request, id_dev):
98
98
99 device = Device.objects.get(pk=id_dev)
99 device = Device.objects.get(pk=id_dev)
100
100
101 if request.method=='GET':
101 if request.method=='GET':
102 form = DeviceForm(instance=device)
102 form = DeviceForm(instance=device)
103
103
104 if request.method=='POST':
104 if request.method=='POST':
105 form = DeviceForm(request.POST, instance=device)
105 form = DeviceForm(request.POST, instance=device)
106
106
107 if form.is_valid():
107 if form.is_valid():
108 form.save()
108 form.save()
109 return redirect('url_devices')
109 return redirect('url_devices')
110
110
111 kwargs = {}
111 kwargs = {}
112 kwargs['form'] = form
112 kwargs['form'] = form
113 kwargs['title'] = 'Device'
113 kwargs['title'] = 'Device'
114 kwargs['suptitle'] = 'Edit'
114 kwargs['suptitle'] = 'Edit'
115 kwargs['button'] = 'Update'
115 kwargs['button'] = 'Update'
116
116
117 return render(request, 'device_edit.html', kwargs)
117 return render(request, 'device_edit.html', kwargs)
118
118
119 def campaigns(request):
119 def campaigns(request):
120
120
121 campaigns = Campaign.objects.all().order_by('start_date')
121 campaigns = Campaign.objects.all().order_by('start_date')
122
122
123 keys = ['id', 'name', 'start_date', 'end_date']
123 keys = ['id', 'name', 'start_date', 'end_date']
124
124
125 kwargs = {}
125 kwargs = {}
126 kwargs['campaign_keys'] = keys[1:]
126 kwargs['campaign_keys'] = keys[1:]
127 kwargs['campaigns'] = campaigns.values(*keys)
127 kwargs['campaigns'] = campaigns.values(*keys)
128 kwargs['title'] = 'Campaign'
128 kwargs['title'] = 'Campaign'
129 kwargs['suptitle'] = 'List'
129 kwargs['suptitle'] = 'List'
130 kwargs['button'] = 'New Campaign'
130 kwargs['button'] = 'New Campaign'
131
131
132 return render(request, 'campaigns.html', kwargs)
132 return render(request, 'campaigns.html', kwargs)
133
133
134 def campaign(request, id_camp):
134 def campaign(request, id_camp):
135
135
136 campaign = Campaign.objects.get(pk=id_camp)
136 campaign = Campaign.objects.get(pk=id_camp)
137 experiments = Experiment.objects.filter(campaign=campaign)
137 experiments = Experiment.objects.filter(campaign=campaign)
138
138
139 form = CampaignForm(instance=campaign)
139 form = CampaignForm(instance=campaign)
140
140
141 kwargs = {}
141 kwargs = {}
142 kwargs['campaign'] = campaign
142 kwargs['campaign'] = campaign
143 kwargs['campaign_keys'] = ['name', 'start_date', 'end_date', 'tags', 'description']
143 kwargs['campaign_keys'] = ['name', 'start_date', 'end_date', 'tags', 'description']
144
144
145 keys = ['id', 'name', 'start_time', 'end_time']
145 keys = ['id', 'name', 'start_time', 'end_time']
146
146
147 kwargs['experiment_keys'] = keys[1:]
147 kwargs['experiment_keys'] = keys[1:]
148 kwargs['experiments'] = experiments.values(*keys)
148 kwargs['experiments'] = experiments.values(*keys)
149
149
150 kwargs['title'] = 'Campaign'
150 kwargs['title'] = 'Campaign'
151 kwargs['suptitle'] = 'Details'
151 kwargs['suptitle'] = 'Details'
152
152
153 kwargs['form'] = form
153 kwargs['form'] = form
154 kwargs['button'] = 'Add Experiment'
154 kwargs['button'] = 'Add Experiment'
155
155
156 return render(request, 'campaign.html', kwargs)
156 return render(request, 'campaign.html', kwargs)
157
157
158 def add_campaign(request):
158 def add_campaign(request):
159
159
160 if request.method == 'GET':
160 if request.method == 'GET':
161 form = CampaignForm()
161 form = CampaignForm()
162
162
163 if request.method == 'POST':
163 if request.method == 'POST':
164 form = CampaignForm(request.POST)
164 form = CampaignForm(request.POST)
165
165
166 if form.is_valid():
166 if form.is_valid():
167 campaign = form.save()
167 campaign = form.save()
168 return redirect('url_campaign', id_camp=campaign.id)
168 return redirect('url_campaign', id_camp=campaign.id)
169
169
170 kwargs = {}
170 kwargs = {}
171 kwargs['form'] = form
171 kwargs['form'] = form
172 kwargs['title'] = 'Campaign'
172 kwargs['title'] = 'Campaign'
173 kwargs['suptitle'] = 'New'
173 kwargs['suptitle'] = 'New'
174 kwargs['button'] = 'Create'
174 kwargs['button'] = 'Create'
175
175
176 return render(request, 'campaign_edit.html', kwargs)
176 return render(request, 'campaign_edit.html', kwargs)
177
177
178 def edit_campaign(request, id_camp):
178 def edit_campaign(request, id_camp):
179
179
180 campaign = Campaign.objects.get(pk=id_camp)
180 campaign = Campaign.objects.get(pk=id_camp)
181
181
182 if request.method=='GET':
182 if request.method=='GET':
183 form = CampaignForm(instance=campaign)
183 form = CampaignForm(instance=campaign)
184
184
185 if request.method=='POST':
185 if request.method=='POST':
186 form = CampaignForm(request.POST, instance=campaign)
186 form = CampaignForm(request.POST, instance=campaign)
187
187
188 if form.is_valid():
188 if form.is_valid():
189 form.save()
189 form.save()
190 return redirect('url_campaign', id_camp=id_camp)
190 return redirect('url_campaign', id_camp=id_camp)
191
191
192 kwargs = {}
192 kwargs = {}
193 kwargs['form'] = form
193 kwargs['form'] = form
194 kwargs['title'] = 'Campaign'
194 kwargs['title'] = 'Campaign'
195 kwargs['suptitle'] = 'Edit'
195 kwargs['suptitle'] = 'Edit'
196 kwargs['button'] = 'Update'
196 kwargs['button'] = 'Update'
197
197
198 return render(request, 'campaign_edit.html', kwargs)
198 return render(request, 'campaign_edit.html', kwargs)
199
199
200 def experiments(request):
200 def experiments(request):
201
201
202 campaigns = Experiment.objects.all().order_by('start_time')
202 campaigns = Experiment.objects.all().order_by('start_time')
203
203
204 keys = ['id', 'campaign__name', 'name', 'start_time', 'end_time']
204 keys = ['id', 'campaign__name', 'name', 'start_time', 'end_time']
205
205
206 kwargs = {}
206 kwargs = {}
207
207
208 kwargs['experiment_keys'] = keys[1:]
208 kwargs['experiment_keys'] = keys[1:]
209 kwargs['experiments'] = campaigns.values(*keys)
209 kwargs['experiments'] = campaigns.values(*keys)
210
210
211 kwargs['title'] = 'Experiment'
211 kwargs['title'] = 'Experiment'
212 kwargs['suptitle'] = 'List'
212 kwargs['suptitle'] = 'List'
213 kwargs['button'] = 'New Experiment'
213 kwargs['button'] = 'New Experiment'
214
214
215 return render(request, 'experiments.html', kwargs)
215 return render(request, 'experiments.html', kwargs)
216
216
217 def experiment(request, id_exp):
217 def experiment(request, id_exp):
218
218
219 experiment = Experiment.objects.get(pk=id_exp)
219 experiment = Experiment.objects.get(pk=id_exp)
220 campaign = Campaign.objects.get(pk = experiment.campaign.id)
220 # campaign = Campaign.objects.get(pk = experiment.campaign.id)
221 configurations = Configuration.objects.filter(experiment=experiment)
221 configurations = Configuration.objects.filter(experiment=experiment)
222
222
223 # form = ExperimentForm(instance=experiment)
223 # form = ExperimentForm(instance=experiment)
224
224
225 kwargs = {}
225 kwargs = {}
226
226
227 kwargs['campaign_keys'] = ['name', 'start_date', 'end_date', 'tags', 'description']
227 # kwargs['campaign_keys'] = ['name', 'start_date', 'end_date', 'tags', 'description']
228 kwargs['campaign'] = campaign
228 # kwargs['campaign'] = campaign
229
229
230 kwargs['experiment_keys'] = ['campaign', 'name', 'start_time', 'end_time']
230 kwargs['experiment_keys'] = ['campaign', 'name', 'start_time', 'end_time']
231 kwargs['experiment'] = experiment
231 kwargs['experiment'] = experiment
232
232
233 keys = ['id', 'device__name', 'device__device_type__name', 'device__ip_address']
233 keys = ['id', 'device__name', 'device__device_type__name', 'device__ip_address']
234
234
235 kwargs['configuration_keys'] = keys[1:]
235 kwargs['configuration_keys'] = keys[1:]
236 kwargs['configurations'] = configurations.values(*keys)
236 kwargs['configurations'] = configurations.values(*keys)
237
237
238 kwargs['title'] = 'Experiment'
238 kwargs['title'] = 'Experiment'
239 kwargs['suptitle'] = 'Details'
239 kwargs['suptitle'] = 'Details'
240
240
241 # kwargs['form'] = form
241 # kwargs['form'] = form
242 kwargs['button'] = 'Add Device'
242 kwargs['button'] = 'Add Device'
243
243
244 return render(request, 'experiment.html', kwargs)
244 return render(request, 'experiment.html', kwargs)
245
245
246 def add_experiment(request, id_camp=0):
246 def add_experiment(request, id_camp=0):
247
247
248 if request.method == 'GET':
248 if request.method == 'GET':
249 form = ExperimentForm(initial={'campaign':id_camp})
249 form = ExperimentForm(initial={'campaign':id_camp})
250
250
251 if request.method == 'POST':
251 if request.method == 'POST':
252 form = ExperimentForm(request.POST, initial={'campaign':id_camp})
252 form = ExperimentForm(request.POST, initial={'campaign':id_camp})
253
253
254 if form.is_valid():
254 if form.is_valid():
255 experiment = form.save()
255 experiment = form.save()
256 return redirect('url_experiment', id_exp=experiment.id)
256 return redirect('url_experiment', id_exp=experiment.id)
257
257
258 kwargs = {}
258 kwargs = {}
259 kwargs['form'] = form
259 kwargs['form'] = form
260 kwargs['title'] = 'Experiment'
260 kwargs['title'] = 'Experiment'
261 kwargs['suptitle'] = 'New'
261 kwargs['suptitle'] = 'New'
262 kwargs['button'] = 'Create'
262 kwargs['button'] = 'Create'
263
263
264 return render(request, 'experiment_edit.html', kwargs)
264 return render(request, 'experiment_edit.html', kwargs)
265
265
266 def edit_experiment(request, id_exp):
266 def edit_experiment(request, id_exp):
267
267
268 experiment = Experiment.objects.get(pk=id_exp)
268 experiment = Experiment.objects.get(pk=id_exp)
269
269
270 if request.method == 'GET':
270 if request.method == 'GET':
271 form = ExperimentForm(instance=experiment)
271 form = ExperimentForm(instance=experiment)
272
272
273 if request.method=='POST':
273 if request.method=='POST':
274 form = ExperimentForm(request.POST, instance=experiment)
274 form = ExperimentForm(request.POST, instance=experiment)
275
275
276 if form.is_valid():
276 if form.is_valid():
277 experiment = form.save()
277 experiment = form.save()
278 return redirect('url_experiment', id_exp=experiment.id)
278 return redirect('url_experiment', id_exp=experiment.id)
279
279
280 kwargs = {}
280 kwargs = {}
281 kwargs['form'] = form
281 kwargs['form'] = form
282 kwargs['title'] = 'Experiment'
282 kwargs['title'] = 'Experiment'
283 kwargs['suptitle'] = 'Edit'
283 kwargs['suptitle'] = 'Edit'
284 kwargs['button'] = 'Update'
284 kwargs['button'] = 'Update'
285
285
286 return render(request, 'experiment_edit.html', kwargs)
286 return render(request, 'experiment_edit.html', kwargs)
287
287
288 def dev_confs(request):
288 def dev_confs(request):
289
289
290 configurations = Configuration.objects.all().order_by('device__device_type')
290 configurations = Configuration.objects.all().order_by('device__device_type')
291
291
292 keys = ['id', 'device__device_type__name', 'device__name', 'experiment__campaign__name', 'experiment__name']
292 keys = ['id', 'device__device_type__name', 'device__name', 'experiment__campaign__name', 'experiment__name']
293
293
294 kwargs = {}
294 kwargs = {}
295
295
296 kwargs['configuration_keys'] = keys[1:]
296 kwargs['configuration_keys'] = keys[1:]
297 kwargs['configurations'] = configurations.values(*keys)
297 kwargs['configurations'] = configurations.values(*keys)
298
298
299 kwargs['title'] = 'Configurations'
299 kwargs['title'] = 'Configuration'
300 kwargs['suptitle'] = 'List'
300 kwargs['suptitle'] = 'List'
301 kwargs['button'] = 'New Configuration'
301 kwargs['button'] = 'New Configuration'
302
302
303 return render(request, 'dev_confs.html', kwargs)
303 return render(request, 'dev_confs.html', kwargs)
304
304
305 def dev_conf(request, id_conf):
305 def dev_conf(request, id_conf):
306
306
307 conf = Configuration.objects.get(pk=id_conf)
307 conf = Configuration.objects.get(pk=id_conf)
308
308
309 DevConfModel = CONF_MODELS[conf.device.device_type.name]
309 DevConfModel = CONF_MODELS[conf.device.device_type.name]
310 dev_conf = DevConfModel.objects.get(pk=id_conf)
310 dev_conf = DevConfModel.objects.get(pk=id_conf)
311
311
312 kwargs = {}
312 kwargs = {}
313 kwargs['dev_conf'] = dev_conf
313 kwargs['dev_conf'] = dev_conf
314 kwargs['dev_conf_keys'] = ['experiment', 'device']
314 kwargs['dev_conf_keys'] = ['experiment', 'device']
315
315
316 kwargs['title'] = 'Configuration'
316 kwargs['title'] = 'Configuration'
317 kwargs['suptitle'] = 'Details'
317 kwargs['suptitle'] = 'Details'
318
318
319 kwargs['button'] = 'Edit Configuration'
319 kwargs['button'] = 'Edit Configuration'
320
320
321 return render(request, 'dev_conf.html', kwargs)
321 return render(request, 'dev_conf.html', kwargs)
322
322
323 def add_dev_conf(request, id_exp=0):
323 def add_dev_conf(request, id_exp=0):
324
324
325 if request.method == 'GET':
325 if request.method == 'GET':
326 form = ConfigurationForm(initial={'experiment':id_exp})
326 form = ConfigurationForm(initial={'experiment':id_exp})
327
327
328 if request.method == 'POST':
328 if request.method == 'POST':
329 form = ConfigurationForm(request.POST)
329 form = ConfigurationForm(request.POST)
330
330
331 if form.is_valid():
331 if form.is_valid():
332 experiment = Experiment.objects.get(pk=request.POST['experiment'])
332 experiment = Experiment.objects.get(pk=request.POST['experiment'])
333 device = Device.objects.get(pk=request.POST['device'])
333 device = Device.objects.get(pk=request.POST['device'])
334
334
335 exp_devices = Device.objects.filter(configuration__experiment=experiment)
335 exp_devices = Device.objects.filter(configuration__experiment=experiment)
336
336
337 if device.id not in exp_devices.values('id',):
337 if device.id not in exp_devices.values('id',):
338
338
339 DevConfModel = CONF_MODELS[device.device_type.name]
339 DevConfModel = CONF_MODELS[device.device_type.name]
340 conf = DevConfModel(experiment=experiment, device=device)
340 conf = DevConfModel(experiment=experiment, device=device)
341 conf.save()
341 conf.save()
342
342
343 return redirect('url_experiment', id_exp=experiment.id)
343 return redirect('url_experiment', id_exp=experiment.id)
344
344
345 kwargs = {}
345 kwargs = {}
346 kwargs['form'] = form
346 kwargs['form'] = form
347 kwargs['title'] = 'Configuration'
347 kwargs['title'] = 'Configuration'
348 kwargs['suptitle'] = 'New'
348 kwargs['suptitle'] = 'New'
349 kwargs['button'] = 'Create'
349 kwargs['button'] = 'Create'
350
350
351 return render(request, 'dev_conf_edit.html', kwargs)
351 return render(request, 'dev_conf_edit.html', kwargs)
352
352
353 def edit_dev_conf(request, id_conf):
353 def edit_dev_conf(request, id_conf):
354
354
355 conf = Configuration.objects.get(pk=id_conf)
355 conf = Configuration.objects.get(pk=id_conf)
356
356
357 DevConfModel = CONF_MODELS[conf.device.device_type.name]
357 DevConfModel = CONF_MODELS[conf.device.device_type.name]
358 DevConfForm = CONF_FORMS[conf.device.device_type.name]
358 DevConfForm = CONF_FORMS[conf.device.device_type.name]
359
359
360 dev_conf = DevConfModel.objects.get(pk=id_conf)
360 dev_conf = DevConfModel.objects.get(pk=id_conf)
361
361
362 if request.method=='GET':
362 if request.method=='GET':
363 form = DevConfForm(instance=dev_conf)
363 form = DevConfForm(instance=dev_conf)
364
364
365 if request.method=='POST':
365 if request.method=='POST':
366 form = DevConfForm(request.POST, instance=dev_conf)
366 form = DevConfForm(request.POST, instance=dev_conf)
367
367
368 if form.is_valid():
368 if form.is_valid():
369 form.save()
369 form.save()
370 return redirect('url_dev_conf', id_conf=id_conf)
370 return redirect('url_dev_conf', id_conf=id_conf)
371
371
372 kwargs = {}
372 kwargs = {}
373 kwargs['form'] = form
373 kwargs['form'] = form
374 kwargs['title'] = 'Device Configuration'
374 kwargs['title'] = 'Device Configuration'
375 kwargs['suptitle'] = 'Edit'
375 kwargs['suptitle'] = 'Edit'
376 kwargs['button'] = 'Update'
376 kwargs['button'] = 'Update'
377
377
378 return render(request, 'dev_conf_edit.html', kwargs)
378 return render(request, 'dev_conf_edit.html', kwargs)
379
379
380
380
381 # def experiment(request, id_exp=0, id_dev_type=0):
381 # def experiment(request, id_exp=0, id_dev_type=0):
382 # kwargs = {}
382 # kwargs = {}
383 # if id_exp:
383 # if id_exp:
384 # experiment = Experiment.objects.get(pk=id_exp)
384 # experiment = Experiment.objects.get(pk=id_exp)
385 # devices = Configuration.objects.filter(configuration__experiment=experiment)
385 # devices = Configuration.objects.filter(configuration__experiment=experiment)
386 # kwargs['experiment'] = experiment
386 # kwargs['experiment'] = experiment
387 # kwargs['experiment_keys'] = ['campaign', 'name', 'start_time', 'end_time']
387 # kwargs['experiment_keys'] = ['campaign', 'name', 'start_time', 'end_time']
388 #
388 #
389 # form = ExperimentForm(instance=experiment)
389 # form = ExperimentForm(instance=experiment)
390 #
390 #
391 # if id_dev_type:
391 # if id_dev_type:
392 # subform = DeviceTypeForm(initial={'device_type':id_dev_type})
392 # subform = DeviceTypeForm(initial={'device_type':id_dev_type})
393 # kwargs['keys'] = ['ip_address']
393 # kwargs['keys'] = ['ip_address']
394 # keys = ['id']+kwargs['keys']
394 # keys = ['id']+kwargs['keys']
395 # kwargs['items'] = Device.objects.filter(device_type=id_dev_type).values(*keys)
395 # kwargs['items'] = Device.objects.filter(device_type=id_dev_type).values(*keys)
396 # else:
396 # else:
397 # subform = DeviceTypeForm()
397 # subform = DeviceTypeForm()
398 #
398 #
399 # kwargs['form'] = form
399 # kwargs['form'] = form
400 # kwargs['subform'] = subform
400 # kwargs['subform'] = subform
401 # kwargs['device_keys'] = ['device_type__name', 'ip_address']
401 # kwargs['device_keys'] = ['device_type__name', 'ip_address']
402 # kwargs['devices'] = devices.values('device_type__name', 'ip_address', 'configuration__id')
402 # kwargs['devices'] = devices.values('device_type__name', 'ip_address', 'configuration__id')
403 # kwargs['suptitle'] = 'Detail'
403 # kwargs['suptitle'] = 'Detail'
404 # else:
404 # else:
405 # experiments = Experiment.objects.all().order_by('start_time')
405 # experiments = Experiment.objects.all().order_by('start_time')
406 # kwargs['keys'] = ['name', 'start_time', 'end_time']
406 # kwargs['keys'] = ['name', 'start_time', 'end_time']
407 # keys = ['id']+kwargs['keys']
407 # keys = ['id']+kwargs['keys']
408 # kwargs['items'] = experiments.values(*keys)
408 # kwargs['items'] = experiments.values(*keys)
409 # kwargs['suptitle'] = 'List'
409 # kwargs['suptitle'] = 'List'
410 # kwargs['button'] = 'Add Experiment'
410 # kwargs['button'] = 'Add Experiment'
411 #
411 #
412 # kwargs['id_dev_type'] = id_dev_type
412 # kwargs['id_dev_type'] = id_dev_type
413 # kwargs['id_exp'] = id_exp
413 # kwargs['id_exp'] = id_exp
414 # return render_to_response("experiment.html", kwargs, context_instance=RequestContext(request))
414 # return render_to_response("experiment.html", kwargs, context_instance=RequestContext(request))
415
415
416 # def edit_experiment(request, id_exp):
416 # def edit_experiment(request, id_exp):
417 # if request.method=='POST':
417 # if request.method=='POST':
418 # experiment = Experiment.objects.get(pk=id_exp)
418 # experiment = Experiment.objects.get(pk=id_exp)
419 # form = ExperimentForm(request.POST, instance=experiment)
419 # form = ExperimentForm(request.POST, instance=experiment)
420 # if form.is_valid():
420 # if form.is_valid():
421 # form.save()
421 # form.save()
422 # return redirect('experiment', id_exp=id_exp)
422 # return redirect('experiment', id_exp=id_exp)
423
423
424 # def experiment_add_device(request, id_exp):
424 # def experiment_add_device(request, id_exp):
425 # if request.method=='POST':
425 # if request.method=='POST':
426 # experiment = Experiment.objects.get(pk=id_exp)
426 # experiment = Experiment.objects.get(pk=id_exp)
427 #
427 #
428 # exp_devices = Device.objects.filter(configuration__experiment=experiment)
428 # exp_devices = Device.objects.filter(configuration__experiment=experiment)
429 #
429 #
430 # device = Device.objects.get(pk=request.POST['device'])
430 # device = Device.objects.get(pk=request.POST['device'])
431 #
431 #
432 # if device.id in exp_devices.values('id',):
432 # if device.id in exp_devices.values('id',):
433 # return redirect('experiment', id_exp=id_exp)
433 # return redirect('experiment', id_exp=id_exp)
434 #
434 #
435 # model = MODELS[device.device_type.alias]
435 # model = MODELS[device.device_type.alias]
436 # conf = model(experiment=experiment, device=device)
436 # conf = model(experiment=experiment, device=device)
437 # conf.save()
437 # conf.save()
438 # return redirect('experiment', id_exp=id_exp)
438 # return redirect('experiment', id_exp=id_exp)
439
439
440 # def add_experiment(request):
440 # def add_experiment(request):
441 #
441 #
442 # kwargs = {}
442 # kwargs = {}
443 # if request.method == 'POST':
443 # if request.method == 'POST':
444 # form = ExperimentForm(request.POST)
444 # form = ExperimentForm(request.POST)
445 # if form.is_valid():
445 # if form.is_valid():
446 # experiment = form.save()
446 # experiment = form.save()
447 # return redirect('experiment', id_exp=experiment.id)
447 # return redirect('experiment', id_exp=experiment.id)
448 # else:
448 # else:
449 # form = ExperimentForm()
449 # form = ExperimentForm()
450 # kwargs['form_new'] = form
450 # kwargs['form_new'] = form
451 # kwargs['title'] = 'Experiment'
451 # kwargs['title'] = 'Experiment'
452 # kwargs['suptitle'] = 'New'
452 # kwargs['suptitle'] = 'New'
453 # kwargs['id_exp'] = 0
453 # kwargs['id_exp'] = 0
454 # return render_to_response("experiment.html", kwargs, context_instance=RequestContext(request))
454 # return render_to_response("experiment.html", kwargs, context_instance=RequestContext(request))
455
455
456 # def device(request, id_dev=0):
456 # def device(request, id_dev=0):
457 # kwargs = {}
457 # kwargs = {}
458 # if id_dev:
458 # if id_dev:
459 # device = Device.objects.get(pk=id_dev)
459 # device = Device.objects.get(pk=id_dev)
460 # kwargs['form'] = DeviceForm(instance=device)
460 # kwargs['form'] = DeviceForm(instance=device)
461 # kwargs['action'] = 'edit/'
461 # kwargs['action'] = 'edit/'
462 # kwargs['button'] = 'Update'
462 # kwargs['button'] = 'Update'
463 # kwargs['suptitle'] = 'Detail'
463 # kwargs['suptitle'] = 'Detail'
464 # else:
464 # else:
465 # devices = Device.objects.all()
465 # devices = Device.objects.all()
466 # kwargs['keys'] = ['device_type__name', 'ip_address']
466 # kwargs['keys'] = ['device_type__name', 'ip_address']
467 # keys = ['id']+kwargs['keys']
467 # keys = ['id']+kwargs['keys']
468 # kwargs['items'] = devices.values(*keys)
468 # kwargs['items'] = devices.values(*keys)
469 # kwargs['suptitle'] = 'List'
469 # kwargs['suptitle'] = 'List'
470 # kwargs['button'] = 'Add Device'
470 # kwargs['button'] = 'Add Device'
471 # return render_to_response("device.html", kwargs, context_instance=RequestContext(request))
471 # return render_to_response("device.html", kwargs, context_instance=RequestContext(request))
472 #
472 #
473 # def edit_device(request, id_dev):
473 # def edit_device(request, id_dev):
474 # if request.method=='POST':
474 # if request.method=='POST':
475 # device = Device.objects.get(pk=id_dev)
475 # device = Device.objects.get(pk=id_dev)
476 # form = DeviceForm(request.POST, instance=device)
476 # form = DeviceForm(request.POST, instance=device)
477 # if form.is_valid():
477 # if form.is_valid():
478 # form.save()
478 # form.save()
479 # return redirect('devices')
479 # return redirect('devices')
480 #
480 #
481 # def add_device(request):
481 # def add_device(request):
482 # kwargs = {}
482 # kwargs = {}
483 # if request.method == 'POST':
483 # if request.method == 'POST':
484 # form = DeviceForm(request.POST)
484 # form = DeviceForm(request.POST)
485 # if form.is_valid():
485 # if form.is_valid():
486 # form.save()
486 # form.save()
487 # return redirect('devices')
487 # return redirect('devices')
488 # else:
488 # else:
489 # form = DeviceForm()
489 # form = DeviceForm()
490 # kwargs['form'] = form
490 # kwargs['form'] = form
491 # kwargs['button'] = 'Create'
491 # kwargs['button'] = 'Create'
492 # kwargs['suptitle'] = 'New'
492 # kwargs['suptitle'] = 'New'
493 # return render_to_response("device.html", kwargs, context_instance=RequestContext(request))
493 # return render_to_response("device.html", kwargs, context_instance=RequestContext(request))
494
494
General Comments 0
You need to be logged in to leave comments. Login now