##// END OF EJS Templates
Task #487: Vista de Operacion...
Fiorella Quino -
r50:28cae6c7c559
parent child
Show More
@@ -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 from django.contrib import admin
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 # Register your models here.
4 # Register your models here.
5 admin.site.register(Campaign)
5 admin.site.register(Campaign)
6 admin.site.register(Experiment)
6 admin.site.register(Experiment)
7 admin.site.register(Device)
7 admin.site.register(Device)
8 admin.site.register(DeviceType)
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 from django import forms
1 from django import forms
2 from django.utils.safestring import mark_safe
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 from .models import DeviceType, Device, Experiment, Campaign, Configuration, Location
8 from .models import DeviceType, Device, Experiment, Campaign, Configuration, Location
5
9
@@ -62,3 +66,9 class ConfigurationForm(forms.ModelForm):
62
66
63 class DeviceTypeForm(forms.Form):
67 class DeviceTypeForm(forms.Form):
64 device_type = forms.ChoiceField(choices=add_empty_choice(DeviceType.objects.all().order_by('name').values_list('id', 'name')))
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 url(r'^dev_conf/(?P<id_conf>-?\d+)/edit/$', 'apps.main.views.dev_conf_edit', name='url_edit_dev_conf'),
31 url(r'^dev_conf/(?P<id_conf>-?\d+)/edit/$', 'apps.main.views.dev_conf_edit', name='url_edit_dev_conf'),
32 url(r'^dev_conf/(?P<id_conf>-?\d+)/delete/$', 'apps.main.views.dev_conf_delete', name='url_delete_dev_conf'),
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 from django.shortcuts import render, redirect, get_object_or_404, HttpResponse
1 from django.shortcuts import render, redirect, get_object_or_404, HttpResponse
2 from django.contrib import messages
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 from apps.cgs.forms import CGSConfigurationForm
7 from apps.cgs.forms import CGSConfigurationForm
6 from apps.jars.forms import JARSConfigurationForm
8 from apps.jars.forms import JARSConfigurationForm
7 from apps.usrp.forms import USRPConfigurationForm
9 from apps.usrp.forms import USRPConfigurationForm
@@ -9,7 +11,7 from apps.abs.forms import ABSConfigurationForm
9 from apps.rc.forms import RCConfigurationForm
11 from apps.rc.forms import RCConfigurationForm
10 from apps.dds.forms import DDSConfigurationForm
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 from apps.cgs.models import CGSConfiguration
15 from apps.cgs.models import CGSConfiguration
14 from apps.jars.models import JARSConfiguration
16 from apps.jars.models import JARSConfiguration
15 from apps.usrp.models import USRPConfiguration
17 from apps.usrp.models import USRPConfiguration
@@ -235,8 +237,7 def campaigns(request):
235 def campaign(request, id_camp):
237 def campaign(request, id_camp):
236
238
237 campaign = get_object_or_404(Campaign, pk=id_camp)
239 campaign = get_object_or_404(Campaign, pk=id_camp)
238 experiments = Experiment.objects.filter(campaign=campaign)
240 #experiments = Experiment.objects.filter(campaign=campaign)
239
240 form = CampaignForm(instance=campaign)
241 form = CampaignForm(instance=campaign)
241
242
242 kwargs = {}
243 kwargs = {}
@@ -246,7 +247,7 def campaign(request, id_camp):
246 keys = ['id', 'name', 'start_time', 'end_time']
247 keys = ['id', 'name', 'start_time', 'end_time']
247
248
248 kwargs['experiment_keys'] = keys[1:]
249 kwargs['experiment_keys'] = keys[1:]
249 kwargs['experiments'] = experiments.values(*keys)
250 #kwargs['experiments'] = experiments.values(*keys)
250
251
251 kwargs['title'] = 'Campaign'
252 kwargs['title'] = 'Campaign'
252 kwargs['suptitle'] = 'Details'
253 kwargs['suptitle'] = 'Details'
@@ -589,7 +590,42 def sidebar(conf):
589 return kwargs
590 return kwargs
590
591
591
592
592 def operation(request):
593 def operation(request, id_camp=None):
593 pass
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])
594
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'] = '...'
595
630
631 return render(request, 'operation.html', kwargs) No newline at end of file
@@ -98,13 +98,13 DATABASES = {
98
98
99 LANGUAGE_CODE = 'en-us'
99 LANGUAGE_CODE = 'en-us'
100
100
101 TIME_ZONE = 'UTC'
101 TIME_ZONE = None
102
102
103 USE_I18N = True
103 USE_I18N = True
104
104
105 USE_L10N = True
105 USE_L10N = True
106
106
107 USE_TZ = True
107 USE_TZ = False
108
108
109 # Static files (CSS, JavaScript, Images)
109 # Static files (CSS, JavaScript, Images)
110 # https://docs.djangoproject.com/en/1.8/howto/static-files/
110 # https://docs.djangoproject.com/en/1.8/howto/static-files/
@@ -18,7 +18,6 from django.contrib import admin
18
18
19 urlpatterns = [
19 urlpatterns = [
20 url(r'^$', 'apps.main.views.index', name='index'),
20 url(r'^$', 'apps.main.views.index', name='index'),
21 url(r'^operation/', 'apps.main.views.operation', name='url_operation'),
22 url(r'^admin/', include(admin.site.urls)),
21 url(r'^admin/', include(admin.site.urls)),
23 url(r'^accounts/', include('apps.accounts.urls')),
22 url(r'^accounts/', include('apps.accounts.urls')),
24 url(r'^', include('apps.main.urls')),
23 url(r'^', include('apps.main.urls')),
General Comments 0
You need to be logged in to leave comments. Login now