diff --git a/apps/jars/forms.py b/apps/jars/forms.py
index 56e274a..2e643d1 100644
--- a/apps/jars/forms.py
+++ b/apps/jars/forms.py
@@ -1,6 +1,6 @@
from django import forms
from apps.main.models import Device, Experiment
-from .models import JARSConfiguration
+from .models import JARSConfiguration, JARSfilter
from .widgets import SpectralWidget
class JARSConfigurationForm(forms.ModelForm):
@@ -28,4 +28,14 @@ class JARSConfigurationForm(forms.ModelForm):
class Meta:
model = JARSConfiguration
+ exclude = ('type', 'parameters', 'status')
+
+
+class JARSfilterForm(forms.ModelForm):
+ def __init__(self, *args, **kwargs):
+ super(JARSfilterForm, self).__init__(*args, **kwargs)
+ instance = getattr(self, 'instance', None)
+
+ class Meta:
+ model = JARSfilter
exclude = ('type', 'parameters', 'status')
\ No newline at end of file
diff --git a/apps/jars/models.py b/apps/jars/models.py
index e46b97b..6a6bfea 100644
--- a/apps/jars/models.py
+++ b/apps/jars/models.py
@@ -51,7 +51,7 @@ class JARSConfiguration(Configuration):
profiles_block = models.PositiveIntegerField(verbose_name='Profiles Per Block', validators=[MaxValueValidator(5000)], default=400)
fftpoints = models.PositiveIntegerField(verbose_name='FFT Points',default=16)
incohe_integr = models.PositiveIntegerField(verbose_name='Incoherent Integrations',validators=[MinValueValidator(1)], default=30)
- filter = models.ForeignKey(JARSfilter, on_delete=models.CASCADE, null=True, blank=True)
+ filter = models.ForeignKey(JARSfilter, on_delete=models.CASCADE, null=True)
spectral_number = models.PositiveIntegerField(verbose_name='# Spectral Combinations',validators=[MinValueValidator(1)], default=1)
spectral = models.CharField(verbose_name='Combinations', max_length=5000, default = '[0, 0],')
create_directory = models.BooleanField(verbose_name='Create Directory Per Day', default=True)
diff --git a/apps/jars/templates/jars_conf_edit.html b/apps/jars/templates/jars_conf_edit.html
index 8c2f907..e66be45 100644
--- a/apps/jars/templates/jars_conf_edit.html
+++ b/apps/jars/templates/jars_conf_edit.html
@@ -10,7 +10,7 @@
-
+
@@ -19,4 +19,10 @@
{% block extra-js%}
+
+
{% endblock %}
\ No newline at end of file
diff --git a/apps/jars/templates/jars_filter.html b/apps/jars/templates/jars_filter.html
new file mode 100644
index 0000000..c3a7462
--- /dev/null
+++ b/apps/jars/templates/jars_filter.html
@@ -0,0 +1,55 @@
+{% extends "base.html" %}
+{% load bootstrap3 %}
+{% load static %}
+{% load main_tags %}
+
+{% block search-active %}active{% endblock %}
+
+{% block content-title %}{{title}}{% endblock %}
+{% block content-suptitle %}{{suptitle}}{% endblock %}
+
+{% block content %}
+
+{% block menu-actions %}
+
+{% endblock %}
+
+
+
+ {% for key in dev_conf_keys %}
+
+ {% get_verbose_field_name dev_conf key %} |
+ {{dev_conf|attr:key}} |
+
+ {% endfor %}
+
+{% if button %}
+
+
+
+
+
+{% endif %}
+
+{% block extra-content %}
+{% endblock %}
+
+{% endblock %}
+
+{% block sidebar%}
+{% include "sidebar_devices.html" %}
+{% endblock %}
+
+{% block extra-js%}
+
+{% endblock %}
\ No newline at end of file
diff --git a/apps/jars/templates/jars_filter_edit.html b/apps/jars/templates/jars_filter_edit.html
new file mode 100644
index 0000000..59c14e8
--- /dev/null
+++ b/apps/jars/templates/jars_filter_edit.html
@@ -0,0 +1,17 @@
+{% extends "dev_conf_edit.html" %}
+{% load bootstrap3 %}
+{% load static %}
+{% load main_tags %}
+
+{% block content %}
+
+{% endblock %}
\ No newline at end of file
diff --git a/apps/jars/urls.py b/apps/jars/urls.py
index 0c717ce..75a70cd 100644
--- a/apps/jars/urls.py
+++ b/apps/jars/urls.py
@@ -3,4 +3,6 @@ from django.conf.urls import url
urlpatterns = (
url(r'^(?P-?\d+)/$', 'apps.jars.views.jars_conf', name='url_jars_conf'),
url(r'^(?P-?\d+)/edit/$', 'apps.jars.views.jars_conf_edit', name='url_edit_jars_conf'),
+ url(r'^(?P-?\d+)/view_filter/(?P-?\d+)/$', 'apps.jars.views.view_filter', name='url_jars_filter'),
+ url(r'^(?P-?\d+)/view_filter/(?P-?\d+)/edit$', 'apps.jars.views.edit_filter', name='url_edit_jars_filter'),
)
diff --git a/apps/jars/views.py b/apps/jars/views.py
index 09dad79..9c94c5a 100644
--- a/apps/jars/views.py
+++ b/apps/jars/views.py
@@ -1,12 +1,13 @@
from django.shortcuts import render_to_response
from django.template import RequestContext
from django.shortcuts import redirect, render, get_object_or_404
+from django.contrib import messages
from apps.main.models import Device
from apps.main.views import sidebar
-from .models import JARSConfiguration
-from .forms import JARSConfigurationForm
+from .models import JARSConfiguration, JARSfilter
+from .forms import JARSConfigurationForm, JARSfilterForm
# Create your views here.
def jars_conf(request, id_conf):
@@ -17,7 +18,6 @@ def jars_conf(request, id_conf):
port=conf.device.port_address
kwargs = {}
-
kwargs['status'] = conf.device.get_status_display()
@@ -58,10 +58,62 @@ def jars_conf_edit(request, id_conf):
##ERRORS
kwargs = {}
+
+ kwargs['filter_id'] = conf.filter.id
kwargs['id_dev'] = conf.id
kwargs['form'] = form
kwargs['title'] = 'Device Configuration'
kwargs['suptitle'] = 'Edit'
kwargs['button'] = 'Save'
- return render(request, 'jars_conf_edit.html', kwargs)
\ No newline at end of file
+ return render(request, 'jars_conf_edit.html', kwargs)
+
+def view_filter(request, conf_id, filter_id):
+
+ conf = get_object_or_404(JARSConfiguration, pk=conf_id)
+ filter = get_object_or_404(JARSfilter, pk=filter_id)
+
+ kwargs = {}
+ kwargs['conf'] = conf
+ kwargs['filter'] = filter
+ kwargs['dev_conf'] = filter
+ kwargs['dev_conf_keys'] = ['name', 'clock',
+ 'mult', 'fch',
+ 'filter_fir', 'filter_2',
+ 'filter_5', 'speed']
+
+ kwargs['title'] = 'Filter View'
+ kwargs['suptitle'] = 'Details'
+ kwargs['button'] = 'SI'
+ kwargs['edit_button'] = 'Edit Filter'
+ kwargs['add_button'] = 'Add Filter'
+
+ return render(request, 'jars_filter.html', kwargs)
+
+def edit_filter(request, conf_id, filter_id):
+
+ conf = get_object_or_404(JARSConfiguration, pk=conf_id)
+
+ if filter_id:
+ filter = get_object_or_404(JARSfilter, pk=filter_id)
+
+ if request.method=='GET':
+ form = JARSfilterForm(instance=filter)
+
+ if request.method=='POST':
+ #form = JARSfilterForm(request.POST)
+ form = JARSfilterForm(request.POST, instance=filter)
+ if form.is_valid():
+ form.save()
+ messages.success(request, 'JARS Filter successfully updated')
+ return redirect('url_jars_filter', conf.id, filter.id)
+
+ kwargs = {}
+ kwargs['form'] = form
+ kwargs['title'] = conf.name
+ kwargs['suptitle'] = 'Edit Filter'
+ kwargs['button'] = 'Save'
+ # kwargs['previous'] = conf.get_absolute_url_edit()
+ kwargs['dev_conf'] = conf
+
+ return render(request, 'jars_filter_edit.html', kwargs)
\ No newline at end of file