##// END OF EJS Templates
Task #714: Modulo Web ABS...
Task #714: Modulo Web ABS git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@204 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71

File last commit:

r157:82791b88ae92
r181:ea9394e8ace0
Show More
views.py
246 lines | 8.3 KiB | text/x-python | PythonLexer
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, JARSfilter
from .forms import JARSConfigurationForm, JARSfilterForm, JARSImportForm
# Create your views here.
def jars_conf(request, id_conf):
conf = get_object_or_404(JARSConfiguration, pk=id_conf)
ip=conf.device.ip_address
port=conf.device.port_address
kwargs = {}
kwargs['status'] = conf.device.get_status_display()
kwargs['dev_conf'] = conf
kwargs['dev_conf_keys'] = ['name',
'cards_number', 'channels_number', 'channels',
'rd_directory', 'pd_directory',
'data_type',
'acq_profiles', 'profiles_block', 'ftp_interval', 'fftpoints',
'cohe_integr_str',
'incohe_integr', 'cohe_integr', 'filter', 'spectral_number',
'spectral', 'create_directory', 'include_expname',
'save_ch_dc', 'save_data']
kwargs['title'] = 'JARS Configuration'
kwargs['suptitle'] = 'Details'
kwargs['button'] = 'Edit Configuration'
#kwargs['no_play'] = True
kwargs['only_stop'] = True
###### SIDEBAR ######
kwargs.update(sidebar(conf=conf))
return render(request, 'jars_conf.html', kwargs)
def jars_conf_edit(request, id_conf):
conf = get_object_or_404(JARSConfiguration, pk=id_conf)
if request.method=='GET':
form = JARSConfigurationForm(instance=conf)
if request.method=='POST':
form = JARSConfigurationForm(request.POST, instance=conf)
if form.is_valid():
conf = form.save(commit=False)
conf.save()
return redirect('url_jars_conf', id_conf=conf.id)
##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)
def import_file(request, conf_id):
conf = get_object_or_404(JARSConfiguration, pk=conf_id)
if request.method=='POST':
form = JARSImportForm(request.POST, request.FILES)
if form.is_valid():
try:
parms = conf.import_from_file(request.FILES['file_name'])
if parms:
conf.update_from_file(parms)
messages.success(request, 'Configuration "%s" loaded succesfully' % request.FILES['file_name'])
return redirect(conf.get_absolute_url_edit())
except Exception as e:
messages.error(request, 'Error parsing file: "%s" - %s' % (request.FILES['file_name'], e))
else:
messages.warning(request, 'Your current configuration will be replaced')
form = JARSImportForm()
kwargs = {}
kwargs['form'] = form
kwargs['title'] = 'JARS Configuration'
kwargs['suptitle'] = 'Import file'
kwargs['button'] = 'Upload'
kwargs['previous'] = conf.get_absolute_url()
return render(request, 'jars_import.html', kwargs)
def read_conf(request, conf_id):
conf = get_object_or_404(JARSConfiguration, pk=conf_id)
#filter = get_object_or_404(JARSfilter, pk=filter_id)
if request.method=='GET':
parms = conf.read_device()
conf.status_device()
if not parms:
messages.error(request, conf.message)
return redirect(conf.get_absolute_url())
form = JARSConfigurationForm(initial=parms, instance=conf)
if request.method=='POST':
form = JARSConfigurationForm(request.POST, instance=conf)
if form.is_valid():
form.save()
return redirect(conf.get_absolute_url())
messages.error(request, "Parameters could not be saved")
kwargs = {}
kwargs['id_dev'] = conf.id
kwargs['filter_id'] = conf.filter.id
kwargs['form'] = form
kwargs['title'] = 'Device Configuration'
kwargs['suptitle'] = 'Parameters read from device'
kwargs['button'] = 'Save'
###### SIDEBAR ######
kwargs.update(sidebar(conf=conf))
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)
filter_parms = eval(conf.filter_parms)
filter.name = filter_parms['name']
filter.clock = filter_parms['clock']
filter.mult = filter_parms['mult']
filter.fch = filter_parms['fch']
filter.fch_decimal = filter_parms['fch_decimal']
filter.filter_fir = filter_parms['filter_fir']
filter.filter_2 = filter_parms['filter_2']
filter.filter_5 = filter_parms['filter_5']
filter.speed = filter_parms['speed']
kwargs = {}
kwargs['conf'] = conf
kwargs['filter'] = filter
kwargs['dev_conf'] = filter
kwargs['dev_conf_keys'] = ['name', 'clock',
'mult', 'fch', 'fch_decimal',
'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'] = 'New 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)
filter_parms = eval(conf.filter_parms)
if filter_id:
filter = get_object_or_404(JARSfilter, pk=filter_id)
if request.method=='GET':
form = JARSfilterForm(initial=filter_parms)
if request.method=='POST':
parms = {}
parms['name'] = request.POST['name']
parms['clock'] = request.POST['clock']
parms['mult'] = request.POST['mult']
parms['fch'] = request.POST['fch']
parms['fch_decimal'] = request.POST['fch_decimal']
parms['filter_fir'] = request.POST['filter_fir']
parms['filter_2'] = request.POST['filter_2']
parms['filter_5'] = request.POST['filter_5']
parms['speed'] = request.POST['speed']
conf.filter_parms = parms
conf.save()
#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)
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)
def new_filter(request, conf_id):
conf = get_object_or_404(JARSConfiguration, pk=conf_id)
if request.method=='GET':
form = JARSfilterForm()
if request.method=='POST':
form = JARSfilterForm(request.POST)
if form.is_valid():
form.save()
new_filter = get_object_or_404(JARSfilter, name=request.POST['name'])
conf.filter = new_filter
conf.add_parms_to_filter()
messages.success(request, 'New JARS Filter successfully created')
return redirect('url_edit_jars_conf', id_conf=conf.id)
kwargs = {}
kwargs['form'] = form
kwargs['title'] = 'New Filter'
kwargs['suptitle'] = ''
kwargs['button'] = 'Create'
# kwargs['previous'] = conf.get_absolute_url_edit()
kwargs['dev_conf'] = conf
return render(request, 'jars_new_filter.html', kwargs)