views.py
62 lines
| 2.1 KiB
| text/x-python
|
PythonLexer
|
r12 | # Create your views here. | |
from django.shortcuts import redirect, render | |||
|
r0 | ||
|
r17 | from apps.main.models import Experiment, Configuration | |
|
r12 | from .models import DDSConfiguration | |
from .forms import DDSConfigurationForm | |||
|
r0 | # Create your views here. | |
|
r12 | ||
|
r13 | def dds_conf(request, id_conf): | |
|
r12 | ||
|
r17 | conf = DDSConfiguration.objects.get(pk=id_conf) | |
|
r12 | ||
|
r13 | kwargs = {} | |
|
r17 | kwargs['dev_conf'] = conf | |
|
r13 | kwargs['dev_conf_keys'] = ['experiment', 'device', | |
'clock', 'multiplier', | |||
'freq_reg', 'phase_reg', | |||
'amplitude_chA', 'amplitude_chB', | |||
'modulation', | |||
'freq_reg_mod', 'phase_reg_mod'] | |||
|
r12 | ||
|
r13 | kwargs['title'] = 'DDS Configuration' | |
kwargs['suptitle'] = 'Details' | |||
kwargs['button'] = 'Edit Configuration' | |||
|
r17 | ###### SIDEBAR ###### | |
experiments = Experiment.objects.filter(campaign=conf.experiment.campaign) | |||
configurations = Configuration.objects.filter(experiment=conf.experiment) | |||
exp_keys = ['id', 'campaign', 'name', 'start_time', 'end_time'] | |||
conf_keys = ['id', 'device__name', 'device__device_type__name', 'device__ip_address'] | |||
kwargs['experiment_keys'] = exp_keys[1:] | |||
kwargs['experiments'] = experiments.values(*exp_keys) | |||
kwargs['configuration_keys'] = conf_keys[1:] | |||
kwargs['configurations'] = configurations.values(*conf_keys) | |||
|
r13 | return render(request, 'dds_conf.html', kwargs) | |
def edit_dds_conf(request, id_conf): | |||
|
r17 | conf = DDSConfiguration.objects.get(pk=id_conf) | |
|
r13 | ||
if request.method=='GET': | |||
|
r17 | form = DDSConfigurationForm(instance=conf) | |
|
r12 | ||
|
r13 | if request.method=='POST': | |
|
r17 | form = DDSConfigurationForm(request.POST, instance=conf) | |
|
r12 | ||
if form.is_valid(): | |||
form.save() | |||
|
r13 | return redirect('url_dds_conf', id_conf=id_conf) | |
kwargs = {} | |||
kwargs['form'] = form | |||
kwargs['title'] = 'Device Configuration' | |||
kwargs['suptitle'] = 'Edit' | |||
kwargs['button'] = 'Update' | |||
return render(request, 'dds_conf_edit.html', kwargs) |