##// END OF EJS Templates
Task #94: edit, save, read function...
Task #94: edit, save, read function git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@51 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71

File last commit:

r30:64b312519049
r31:785224f27bcc
Show More
views.py
162 lines | 5.3 KiB | text/x-python | PythonLexer
Miguel Urco
DDS model added...
r12 # Create your views here.
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 from django.contrib import messages
Miguel Urco
Views: Display "Page not found (404)" in case there is no object with the given pk....
r20 from django.shortcuts import redirect, render, get_object_or_404
Juan C. Espinoza
Proyecto base en Django (refs #259) ...
r0
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 # from apps.main.models import Experiment, Configuration
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 from apps.main.views import sidebar
Miguel Urco
DDS model added...
r12 from .models import DDSConfiguration
from .forms import DDSConfigurationForm
Juan C. Espinoza
Proyecto base en Django (refs #259) ...
r0 # Create your views here.
Miguel Urco
DDS model added...
r12
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 from radarsys_api import dds
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26
Miguel Urco
Campaign has been added to RadarSys Model...
r13 def dds_conf(request, id_conf):
Miguel Urco
DDS model added...
r12
Miguel Urco
Views: Display "Page not found (404)" in case there is no object with the given pk....
r20 conf = get_object_or_404(DDSConfiguration, pk=id_conf)
Miguel Urco
DDS model added...
r12
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 answer = dds.echo(ip=str(conf.device.ip_address), port=conf.device.port_address)
Miguel Urco
Campaign has been added to RadarSys Model...
r13 kwargs = {}
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 kwargs['connected'] = (answer[0] == "1")
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26
Miguel Urco
siderbar_devices.html updated...
r17 kwargs['dev_conf'] = conf
Miguel Urco
Campaign has been added to RadarSys Model...
r13 kwargs['dev_conf_keys'] = ['experiment', 'device',
'clock', 'multiplier',
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 'frequency',
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 'frequency_bin',
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 'phase',
# 'phase_binary',
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 'amplitude_ch_A', 'amplitude_ch_B',
'modulation',
'frequency_mod',
'frequency_mod_bin',
'phase_mod']
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 # 'phase_binary_mod']
Miguel Urco
DDS model added...
r12
Miguel Urco
Campaign has been added to RadarSys Model...
r13 kwargs['title'] = 'DDS Configuration'
kwargs['suptitle'] = 'Details'
kwargs['button'] = 'Edit Configuration'
Miguel Urco
siderbar_devices.html updated...
r17 ###### SIDEBAR ######
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 kwargs.update(sidebar(conf))
Miguel Urco
siderbar_devices.html updated...
r17
Miguel Urco
Campaign has been added to RadarSys Model...
r13 return render(request, 'dds_conf.html', kwargs)
Miguel Urco
views name were changed ...
r19 def dds_conf_edit(request, id_conf):
Miguel Urco
Campaign has been added to RadarSys Model...
r13
Miguel Urco
Views: Display "Page not found (404)" in case there is no object with the given pk....
r20 conf = get_object_or_404(DDSConfiguration, pk=id_conf)
Miguel Urco
Campaign has been added to RadarSys Model...
r13
if request.method=='GET':
Miguel Urco
siderbar_devices.html updated...
r17 form = DDSConfigurationForm(instance=conf)
Miguel Urco
DDS model added...
r12
Miguel Urco
Campaign has been added to RadarSys Model...
r13 if request.method=='POST':
Miguel Urco
siderbar_devices.html updated...
r17 form = DDSConfigurationForm(request.POST, instance=conf)
Miguel Urco
DDS model added...
r12
if form.is_valid():
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 conf = form.save(commit=False)
if conf.verify_frequencies():
conf.save()
return redirect('url_dds_conf', id_conf=conf.id)
##ERRORS
Miguel Urco
Campaign has been added to RadarSys Model...
r13
kwargs = {}
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 kwargs['id_dev'] = conf.id
Miguel Urco
Campaign has been added to RadarSys Model...
r13 kwargs['form'] = form
kwargs['title'] = 'Device Configuration'
kwargs['suptitle'] = 'Edit'
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 kwargs['button'] = 'Save'
###### SIDEBAR ######
kwargs.update(sidebar(conf))
return render(request, 'dds_conf_edit.html', kwargs)
def dds_conf_write(request, id_conf):
conf = get_object_or_404(DDSConfiguration, pk=id_conf)
answer = dds.write_config(ip=str(conf.device.ip_address),
port=conf.device.port_address,
clock=conf.clock,
multiplier=conf.multiplier,
freq_regA=conf.frequency_bin,
freq_regB=conf.frequency_mod_bin,
modulation=conf.modulation,
phaseA=conf.phase,
phaseB=conf.phase_mod,
amplitude0=conf.amplitude_ch_A,
amplitude1=conf.amplitude_ch_B)
if answer[0] == "1":
messages.success(request, answer[2:])
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30
conf.pk = None
conf.id = None
conf.type = 1
conf.save()
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 else:
messages.error(request, answer)
return redirect('url_dds_conf', id_conf=conf.id)
def dds_conf_read(request, id_conf):
conf = get_object_or_404(DDSConfiguration, pk=id_conf)
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 if request.method=='POST':
form = DDSConfigurationForm(request.POST, instance=conf)
if form.is_valid():
dds_model = form.save(commit=False)
if dds_model.verify_frequencies():
dds_model.save()
return redirect('url_dds_conf', id_conf=conf.id)
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30
messages.error(request, "Parameters could not be saved. Invalid parameters")
data = {}
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26
if request.method=='GET':
#mult, freqA, freqB, modulation, phaseA, phaseB, amp0, amp1
parms = dds.read_config(ip=conf.device.ip_address,
port=conf.device.port_address)
Miguel Urco
Buttons "Import", "Export, "Read" and "Write" added to Configuration View...
r30 if not parms:
messages.error(request, "Could not read parameters from Device")
return redirect('url_dds_conf', id_conf=conf.id)
data = {'experiment' : conf.experiment.id,
'device' : conf.device.id,
'clock' : conf.clock,
'multiplier' : parms[0],
'frequency' : conf.binary2freq(parms[1], parms[0]*conf.clock),
'frequency_bin' : parms[1],
'phase' : parms[4],
'amplitude_ch_A' : parms[6],
'amplitude_ch_B' : parms[7],
'modulation' : parms[3],
'frequency_mod' : conf.binary2freq(parms[2], parms[0]*conf.clock),
'frequency_mod_bin' : parms[2],
'phase_mod' : parms[5],
}
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26
form = DDSConfigurationForm(data)
kwargs = {}
kwargs['id_dev'] = conf.id
kwargs['form'] = form
kwargs['title'] = 'Device Configuration'
kwargs['suptitle'] = 'Parameters read from device'
kwargs['button'] = 'Save'
###### SIDEBAR ######
kwargs.update(sidebar(conf))
Miguel Urco
Campaign has been added to RadarSys Model...
r13
return render(request, 'dds_conf_edit.html', kwargs)