diff --git a/apps/main/admin.py b/apps/main/admin.py
index 858da18..18496f8 100644
--- a/apps/main/admin.py
+++ b/apps/main/admin.py
@@ -1,8 +1,10 @@
from django.contrib import admin
-from .models import Device, DeviceType, Experiment, Campaign
+from .models import Device, DeviceType, Experiment, Campaign, Location, Radar
# Register your models here.
admin.site.register(Campaign)
admin.site.register(Experiment)
admin.site.register(Device)
-admin.site.register(DeviceType)
\ No newline at end of file
+admin.site.register(DeviceType)
+admin.site.register(Location)
+admin.site.register(Radar)
\ No newline at end of file
diff --git a/apps/main/forms.py b/apps/main/forms.py
index 27a493e..c8276cb 100644
--- a/apps/main/forms.py
+++ b/apps/main/forms.py
@@ -1,5 +1,9 @@
from django import forms
from django.utils.safestring import mark_safe
+from datetime import datetime
+
+from apps.main.widgets import Filtering_ComboBox_Widget, Datepicker, HTMLrender,Filtering_ComboBox_Widget2
+
from .models import DeviceType, Device, Experiment, Campaign, Configuration, Location
@@ -62,3 +66,9 @@ class ConfigurationForm(forms.ModelForm):
class DeviceTypeForm(forms.Form):
device_type = forms.ChoiceField(choices=add_empty_choice(DeviceType.objects.all().order_by('name').values_list('id', 'name')))
+
+class OperationForm(forms.Form):
+ today = datetime.today()
+ # -----Campaigns from this month------
+ 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")
+
\ No newline at end of file
diff --git a/apps/main/templates/operation.html b/apps/main/templates/operation.html
new file mode 100644
index 0000000..043eb67
--- /dev/null
+++ b/apps/main/templates/operation.html
@@ -0,0 +1,95 @@
+{% extends "base.html" %}
+{% load bootstrap3 %}
+{% load static %}
+{% load main_tags %}
+{% block extra-head %}
+
+{% endblock %}
+
+{% block camp-active %}active{% endblock %}
+
+{% block content-title %}{{title}}{% endblock %}
+{% block content-suptitle %}{{suptitle}}{% endblock %}
+
+{% block content %}
+
+
+
+
+
+
+
+ {% for radar in radars %}
+
+
+
+
+
+
+
+
+
+ {% for header in experiment_keys %}
+ {{ header|title }} |
+ {% endfor%}
+
+ {% for item in experiments %}
+ {% for exs in item %}
+
+
+ {% for key in experiment_keys %}
+ {% if radar.name in exs.radar.name %}
+ {{ exs|attr:key }} |
+ {% endif %}
+ {% endfor %}
+ {% endfor %}
+
+ {% endfor %}
+
+
+
+
+ {% endfor %}
+
+
+{% endblock %}
+
+
+
+{% block extra-js%}
+
+{% endblock %}
\ No newline at end of file
diff --git a/apps/main/urls.py b/apps/main/urls.py
index f9b3cf0..7b10d23 100644
--- a/apps/main/urls.py
+++ b/apps/main/urls.py
@@ -31,4 +31,7 @@ urlpatterns = (
url(r'^dev_conf/(?P-?\d+)/edit/$', 'apps.main.views.dev_conf_edit', name='url_edit_dev_conf'),
url(r'^dev_conf/(?P-?\d+)/delete/$', 'apps.main.views.dev_conf_delete', name='url_delete_dev_conf'),
+ url(r'^operation/$', 'apps.main.views.operation', name='url_operation'),
+ url(r'^operation/(?P-?\d+)/$', 'apps.main.views.operation', name='url_operation'),
+
)
diff --git a/apps/main/views.py b/apps/main/views.py
index 07e08ce..51d5b9c 100644
--- a/apps/main/views.py
+++ b/apps/main/views.py
@@ -1,7 +1,9 @@
from django.shortcuts import render, redirect, get_object_or_404, HttpResponse
from django.contrib import messages
-from .forms import CampaignForm, ExperimentForm, DeviceForm, ConfigurationForm, LocationForm
+from datetime import datetime
+
+from .forms import CampaignForm, ExperimentForm, DeviceForm, ConfigurationForm, LocationForm, OperationForm
from apps.cgs.forms import CGSConfigurationForm
from apps.jars.forms import JARSConfigurationForm
from apps.usrp.forms import USRPConfigurationForm
@@ -9,7 +11,7 @@ from apps.abs.forms import ABSConfigurationForm
from apps.rc.forms import RCConfigurationForm
from apps.dds.forms import DDSConfigurationForm
-from .models import Campaign, Experiment, Device, Configuration, Location
+from .models import Campaign, Experiment, Device, Configuration, Location, Radar
from apps.cgs.models import CGSConfiguration
from apps.jars.models import JARSConfiguration
from apps.usrp.models import USRPConfiguration
@@ -235,8 +237,7 @@ def campaigns(request):
def campaign(request, id_camp):
campaign = get_object_or_404(Campaign, pk=id_camp)
- experiments = Experiment.objects.filter(campaign=campaign)
-
+ #experiments = Experiment.objects.filter(campaign=campaign)
form = CampaignForm(instance=campaign)
kwargs = {}
@@ -246,7 +247,7 @@ def campaign(request, id_camp):
keys = ['id', 'name', 'start_time', 'end_time']
kwargs['experiment_keys'] = keys[1:]
- kwargs['experiments'] = experiments.values(*keys)
+ #kwargs['experiments'] = experiments.values(*keys)
kwargs['title'] = 'Campaign'
kwargs['suptitle'] = 'Details'
@@ -589,7 +590,42 @@ def sidebar(conf):
return kwargs
-def operation(request):
- pass
-
-
+def operation(request, id_camp=None):
+
+ today = datetime.today()
+
+ if id_camp==None:
+ id_camp = Campaign.objects.filter(start_date__month=today.month).filter(start_date__year=today.year).order_by('-start_date')[0].id
+
+ if request.method=='GET':
+ campaign = get_object_or_404(Campaign, pk = id_camp)
+ campaigns = Campaign.objects.filter(start_date__month=today.month).filter(start_date__year=today.year).order_by('-start_date')
+ form = OperationForm(initial={'campaign': id_camp})
+
+ if request.method=='POST':
+ campaign = get_object_or_404(Campaign, pk=request.POST['campaign'])
+ #id_camp = Campaign.objects.filter(start_date__month=today.month).filter(start_date__year=today.year).order_by('-start_date')[1].id
+ form = OperationForm(request.POST, initial={'campaign':campaign.name})
+ if form.is_valid():
+ return redirect('url_operation', id_camp=campaign.id)
+
+ radars = Radar.objects.filter(campaign = campaign)
+ experiments = [Experiment.objects.filter(radar=radar) for radar in radars] #zip(radars, [Experiment.objects.filter(radar=radar) for radar in radars])
+
+ kwargs = {}
+ #---Campaign
+ kwargs['campaign'] = campaign
+ kwargs['campaign_keys'] = ['name', 'start_date', 'end_date', 'tags', 'description']
+ #---Experimet
+ keys = ['id', 'name', 'start_time', 'end_time', 'radar']
+ kwargs['experiment_keys'] = keys[1:]
+ kwargs['experiments'] = experiments
+ #---Radar
+ kwargs['radars'] = radars
+ #---Else
+ kwargs['title'] = 'Operation'
+ kwargs['suptitle'] = campaign.name
+ kwargs['form'] = form
+ kwargs['button'] = '...'
+
+ return render(request, 'operation.html', kwargs)
\ No newline at end of file
diff --git a/radarsys/settings.py b/radarsys/settings.py
index 106c4e7..e4157d5 100644
--- a/radarsys/settings.py
+++ b/radarsys/settings.py
@@ -98,13 +98,13 @@ DATABASES = {
LANGUAGE_CODE = 'en-us'
-TIME_ZONE = 'UTC'
+TIME_ZONE = None
USE_I18N = True
USE_L10N = True
-USE_TZ = True
+USE_TZ = False
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.8/howto/static-files/
diff --git a/radarsys/urls.py b/radarsys/urls.py
index 37ff63a..550a6d6 100644
--- a/radarsys/urls.py
+++ b/radarsys/urls.py
@@ -17,8 +17,7 @@ from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
- url(r'^$', 'apps.main.views.index', name='index'),
- url(r'^operation/', 'apps.main.views.operation', name='url_operation'),
+ url(r'^$', 'apps.main.views.index', name='index'),
url(r'^admin/', include(admin.site.urls)),
url(r'^accounts/', include('apps.accounts.urls')),
url(r'^', include('apps.main.urls')),