@@ -0,0 +1,95 | |||
|
1 | {% extends "base.html" %} | |
|
2 | {% load bootstrap3 %} | |
|
3 | {% load static %} | |
|
4 | {% load main_tags %} | |
|
5 | {% block extra-head %} | |
|
6 | <link href="{% static 'css/bootstrap-datetimepicker.min.css' %}" media="screen" rel="stylesheet"> | |
|
7 | {% endblock %} | |
|
8 | ||
|
9 | {% block camp-active %}active{% endblock %} | |
|
10 | ||
|
11 | {% block content-title %}{{title}}{% endblock %} | |
|
12 | {% block content-suptitle %}{{suptitle}}{% endblock %} | |
|
13 | ||
|
14 | {% block content %} | |
|
15 | ||
|
16 | <form class="form" method="post" action=""> | |
|
17 | {% csrf_token %} | |
|
18 | {% bootstrap_form form layout='horizontal' size='medium' %} | |
|
19 | <div style="clear: both;"></div> | |
|
20 | <br> | |
|
21 | <button type="submit" class="btn btn-primary pull-right">{{button}}</button> | |
|
22 | <br> | |
|
23 | <br> | |
|
24 | </form> | |
|
25 | <br> | |
|
26 | <br> | |
|
27 | ||
|
28 | <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true" > | |
|
29 | ||
|
30 | {% for radar in radars %} | |
|
31 | ||
|
32 | <div class="panel panel-default"> | |
|
33 | <div class="panel-heading" role="tab" id="headingTwo"> | |
|
34 | <h4 class="panel-title"> | |
|
35 | <a class="collapsed" role="button" data-toggle="collapse" href="#collapseTwo-{{ radar.id }}" aria-expanded="false" aria-controls="collapseTwo"> | |
|
36 | {{radar.name}}: Experiment List | |
|
37 | </a> | |
|
38 | </h4> | |
|
39 | </div> | |
|
40 | ||
|
41 | <div id="collapseTwo-{{ radar.id }}" class="panel-collapse collapse in" role="tabpanel" aria-labelledby="headingTwo"> | |
|
42 | <div class="panel-body"> | |
|
43 | <table class="table table-hover"> | |
|
44 | <tr> | |
|
45 | ||
|
46 | {% for header in experiment_keys %} | |
|
47 | <th>{{ header|title }}</th> | |
|
48 | {% endfor%} | |
|
49 | </tr> | |
|
50 | {% for item in experiments %} | |
|
51 | {% for exs in item %} | |
|
52 | <tr class="clickable-row" data-href="{% url 'url_experiment' exs.id %}" > | |
|
53 | ||
|
54 | {% for key in experiment_keys %} | |
|
55 | {% if radar.name in exs.radar.name %} | |
|
56 | <td>{{ exs|attr:key }}</td> | |
|
57 | {% endif %} | |
|
58 | {% endfor %} | |
|
59 | {% endfor %} | |
|
60 | </tr> | |
|
61 | {% endfor %} | |
|
62 | </table> | |
|
63 | </div> | |
|
64 | </div> | |
|
65 | </div> | |
|
66 | {% endfor %} | |
|
67 | </div> | |
|
68 | ||
|
69 | {% endblock %} | |
|
70 | ||
|
71 | ||
|
72 | ||
|
73 | {% block extra-js%} | |
|
74 | <script type="text/javascript"> | |
|
75 | ||
|
76 | //$("#bt_add").click(function() { | |
|
77 | //alert("sometext"); | |
|
78 | // document.location = "{% url 'url_operation' campaign.id %}"; | |
|
79 | //}); | |
|
80 | ||
|
81 | $(".clickable-row").click(function() { | |
|
82 | document.location = $(this).data("href"); | |
|
83 | }); | |
|
84 | ||
|
85 | $(document).ready(function() { | |
|
86 | $("#id_campaign").change(function() { | |
|
87 | var id_camp = document.getElementById("id_campaign").value; | |
|
88 | //alert(id_camp); | |
|
89 | document.location = "{% url 'url_operation'%}"+String(id_camp); | |
|
90 | }); | |
|
91 | }); | |
|
92 | ||
|
93 | ||
|
94 | </script> | |
|
95 | {% endblock %} No newline at end of file |
@@ -1,8 +1,10 | |||
|
1 | 1 | from django.contrib import admin |
|
2 | from .models import Device, DeviceType, Experiment, Campaign | |
|
2 | from .models import Device, DeviceType, Experiment, Campaign, Location, Radar | |
|
3 | 3 | |
|
4 | 4 | # Register your models here. |
|
5 | 5 | admin.site.register(Campaign) |
|
6 | 6 | admin.site.register(Experiment) |
|
7 | 7 | admin.site.register(Device) |
|
8 | admin.site.register(DeviceType) No newline at end of file | |
|
8 | admin.site.register(DeviceType) | |
|
9 | admin.site.register(Location) | |
|
10 | admin.site.register(Radar) No newline at end of file |
@@ -1,5 +1,9 | |||
|
1 | 1 | from django import forms |
|
2 | 2 | from django.utils.safestring import mark_safe |
|
3 | from datetime import datetime | |
|
4 | ||
|
5 | from apps.main.widgets import Filtering_ComboBox_Widget, Datepicker, HTMLrender,Filtering_ComboBox_Widget2 | |
|
6 | ||
|
3 | 7 | |
|
4 | 8 | from .models import DeviceType, Device, Experiment, Campaign, Configuration, Location |
|
5 | 9 | |
@@ -62,3 +66,9 class ConfigurationForm(forms.ModelForm): | |||
|
62 | 66 | |
|
63 | 67 | class DeviceTypeForm(forms.Form): |
|
64 | 68 | device_type = forms.ChoiceField(choices=add_empty_choice(DeviceType.objects.all().order_by('name').values_list('id', 'name'))) |
|
69 | ||
|
70 | class OperationForm(forms.Form): | |
|
71 | today = datetime.today() | |
|
72 | # -----Campaigns from this month------ | |
|
73 | campaign = forms.ChoiceField(choices=Campaign.objects.filter(start_date__month=today.month).filter(start_date__year=today.year).order_by('-start_date').values_list('id', 'name'), label="Campaign") | |
|
74 | No newline at end of file |
@@ -31,4 +31,7 urlpatterns = ( | |||
|
31 | 31 | url(r'^dev_conf/(?P<id_conf>-?\d+)/edit/$', 'apps.main.views.dev_conf_edit', name='url_edit_dev_conf'), |
|
32 | 32 | url(r'^dev_conf/(?P<id_conf>-?\d+)/delete/$', 'apps.main.views.dev_conf_delete', name='url_delete_dev_conf'), |
|
33 | 33 | |
|
34 | url(r'^operation/$', 'apps.main.views.operation', name='url_operation'), | |
|
35 | url(r'^operation/(?P<id_camp>-?\d+)/$', 'apps.main.views.operation', name='url_operation'), | |
|
36 | ||
|
34 | 37 | ) |
@@ -1,7 +1,9 | |||
|
1 | 1 | from django.shortcuts import render, redirect, get_object_or_404, HttpResponse |
|
2 | 2 | from django.contrib import messages |
|
3 | 3 | |
|
4 | from .forms import CampaignForm, ExperimentForm, DeviceForm, ConfigurationForm, LocationForm | |
|
4 | from datetime import datetime | |
|
5 | ||
|
6 | from .forms import CampaignForm, ExperimentForm, DeviceForm, ConfigurationForm, LocationForm, OperationForm | |
|
5 | 7 | from apps.cgs.forms import CGSConfigurationForm |
|
6 | 8 | from apps.jars.forms import JARSConfigurationForm |
|
7 | 9 | from apps.usrp.forms import USRPConfigurationForm |
@@ -9,7 +11,7 from apps.abs.forms import ABSConfigurationForm | |||
|
9 | 11 | from apps.rc.forms import RCConfigurationForm |
|
10 | 12 | from apps.dds.forms import DDSConfigurationForm |
|
11 | 13 | |
|
12 | from .models import Campaign, Experiment, Device, Configuration, Location | |
|
14 | from .models import Campaign, Experiment, Device, Configuration, Location, Radar | |
|
13 | 15 | from apps.cgs.models import CGSConfiguration |
|
14 | 16 | from apps.jars.models import JARSConfiguration |
|
15 | 17 | from apps.usrp.models import USRPConfiguration |
@@ -235,8 +237,7 def campaigns(request): | |||
|
235 | 237 | def campaign(request, id_camp): |
|
236 | 238 | |
|
237 | 239 | campaign = get_object_or_404(Campaign, pk=id_camp) |
|
238 | experiments = Experiment.objects.filter(campaign=campaign) | |
|
239 | ||
|
240 | #experiments = Experiment.objects.filter(campaign=campaign) | |
|
240 | 241 | form = CampaignForm(instance=campaign) |
|
241 | 242 | |
|
242 | 243 | kwargs = {} |
@@ -246,7 +247,7 def campaign(request, id_camp): | |||
|
246 | 247 | keys = ['id', 'name', 'start_time', 'end_time'] |
|
247 | 248 | |
|
248 | 249 | kwargs['experiment_keys'] = keys[1:] |
|
249 | kwargs['experiments'] = experiments.values(*keys) | |
|
250 | #kwargs['experiments'] = experiments.values(*keys) | |
|
250 | 251 | |
|
251 | 252 | kwargs['title'] = 'Campaign' |
|
252 | 253 | kwargs['suptitle'] = 'Details' |
@@ -589,7 +590,42 def sidebar(conf): | |||
|
589 | 590 | return kwargs |
|
590 | 591 | |
|
591 | 592 | |
|
592 | def operation(request): | |
|
593 |
|
|
|
594 | ||
|
595 | ||
|
593 | def operation(request, id_camp=None): | |
|
594 | ||
|
595 | today = datetime.today() | |
|
596 | ||
|
597 | if id_camp==None: | |
|
598 | id_camp = Campaign.objects.filter(start_date__month=today.month).filter(start_date__year=today.year).order_by('-start_date')[0].id | |
|
599 | ||
|
600 | if request.method=='GET': | |
|
601 | campaign = get_object_or_404(Campaign, pk = id_camp) | |
|
602 | campaigns = Campaign.objects.filter(start_date__month=today.month).filter(start_date__year=today.year).order_by('-start_date') | |
|
603 | form = OperationForm(initial={'campaign': id_camp}) | |
|
604 | ||
|
605 | if request.method=='POST': | |
|
606 | campaign = get_object_or_404(Campaign, pk=request.POST['campaign']) | |
|
607 | #id_camp = Campaign.objects.filter(start_date__month=today.month).filter(start_date__year=today.year).order_by('-start_date')[1].id | |
|
608 | form = OperationForm(request.POST, initial={'campaign':campaign.name}) | |
|
609 | if form.is_valid(): | |
|
610 | return redirect('url_operation', id_camp=campaign.id) | |
|
611 | ||
|
612 | radars = Radar.objects.filter(campaign = campaign) | |
|
613 | experiments = [Experiment.objects.filter(radar=radar) for radar in radars] #zip(radars, [Experiment.objects.filter(radar=radar) for radar in radars]) | |
|
614 | ||
|
615 | kwargs = {} | |
|
616 | #---Campaign | |
|
617 | kwargs['campaign'] = campaign | |
|
618 | kwargs['campaign_keys'] = ['name', 'start_date', 'end_date', 'tags', 'description'] | |
|
619 | #---Experimet | |
|
620 | keys = ['id', 'name', 'start_time', 'end_time', 'radar'] | |
|
621 | kwargs['experiment_keys'] = keys[1:] | |
|
622 | kwargs['experiments'] = experiments | |
|
623 | #---Radar | |
|
624 | kwargs['radars'] = radars | |
|
625 | #---Else | |
|
626 | kwargs['title'] = 'Operation' | |
|
627 | kwargs['suptitle'] = campaign.name | |
|
628 | kwargs['form'] = form | |
|
629 | kwargs['button'] = '...' | |
|
630 | ||
|
631 | return render(request, 'operation.html', kwargs) No newline at end of file |
@@ -98,13 +98,13 DATABASES = { | |||
|
98 | 98 | |
|
99 | 99 | LANGUAGE_CODE = 'en-us' |
|
100 | 100 | |
|
101 |
TIME_ZONE = |
|
|
101 | TIME_ZONE = None | |
|
102 | 102 | |
|
103 | 103 | USE_I18N = True |
|
104 | 104 | |
|
105 | 105 | USE_L10N = True |
|
106 | 106 | |
|
107 |
USE_TZ = |
|
|
107 | USE_TZ = False | |
|
108 | 108 | |
|
109 | 109 | # Static files (CSS, JavaScript, Images) |
|
110 | 110 | # https://docs.djangoproject.com/en/1.8/howto/static-files/ |
@@ -17,8 +17,7 from django.conf.urls import include, url | |||
|
17 | 17 | from django.contrib import admin |
|
18 | 18 | |
|
19 | 19 | urlpatterns = [ |
|
20 | url(r'^$', 'apps.main.views.index', name='index'), | |
|
21 | url(r'^operation/', 'apps.main.views.operation', name='url_operation'), | |
|
20 | url(r'^$', 'apps.main.views.index', name='index'), | |
|
22 | 21 | url(r'^admin/', include(admin.site.urls)), |
|
23 | 22 | url(r'^accounts/', include('apps.accounts.urls')), |
|
24 | 23 | url(r'^', include('apps.main.urls')), |
General Comments 0
You need to be logged in to leave comments.
Login now