views.py
74 lines
| 2.1 KiB
| text/x-python
|
PythonLexer
|
r12 | # Create your views here. | ||
|
r20 | from django.shortcuts import redirect, render, get_object_or_404 | ||
|
r0 | |||
|
r30 | # from apps.main.models import Experiment, Configuration | ||
|
r26 | from apps.main.views import sidebar | ||
|
r12 | from .models import DDSConfiguration | ||
|
r55 | from .forms import DDSConfigurationForm | ||
|
r0 | # Create your views here. | ||
|
r12 | |||
|
r13 | def dds_conf(request, id_conf): | ||
|
r12 | |||
|
r20 | conf = get_object_or_404(DDSConfiguration, pk=id_conf) | ||
|
r262 | |||
|
r13 | kwargs = {} | ||
|
r262 | |||
|
r57 | kwargs['status'] = conf.device.get_status_display() | ||
|
r262 | |||
|
r55 | # if not kwargs['connected']: | ||
# messages.error(request, message=answer) | ||||
|
r262 | |||
|
r17 | kwargs['dev_conf'] = conf | ||
|
r316 | kwargs['dev_conf_keys'] = [ | ||
|
r55 | 'clock', | ||
'multiplier', | ||||
'frequencyA_Mhz', | ||||
'frequencyA', | ||||
'frequencyB_Mhz', | ||||
'frequencyB', | ||||
'phaseA_degrees', | ||||
'phaseB_degrees', | ||||
|
r30 | 'modulation', | ||
|
r55 | 'amplitude_enabled', | ||
'amplitudeI', | ||||
'amplitudeQ'] | ||||
|
r262 | |||
|
r13 | kwargs['title'] = 'DDS Configuration' | ||
kwargs['suptitle'] = 'Details' | ||||
|
r262 | |||
|
r13 | kwargs['button'] = 'Edit Configuration' | ||
|
r262 | |||
|
r17 | ###### SIDEBAR ###### | ||
|
r85 | kwargs.update(sidebar(conf=conf)) | ||
|
r262 | |||
|
r13 | return render(request, 'dds_conf.html', kwargs) | ||
|
r262 | |||
|
r19 | def dds_conf_edit(request, id_conf): | ||
|
r262 | |||
|
r20 | conf = get_object_or_404(DDSConfiguration, pk=id_conf) | ||
|
r262 | |||
|
r13 | if request.method=='GET': | ||
|
r17 | form = DDSConfigurationForm(instance=conf) | ||
|
r262 | |||
|
r13 | if request.method=='POST': | ||
|
r17 | form = DDSConfigurationForm(request.POST, instance=conf) | ||
|
r262 | |||
|
r12 | if form.is_valid(): | ||
|
r26 | conf = form.save(commit=False) | ||
|
r262 | |||
|
r26 | if conf.verify_frequencies(): | ||
|
r262 | |||
|
r26 | conf.save() | ||
return redirect('url_dds_conf', id_conf=conf.id) | ||||
|
r262 | |||
|
r26 | ##ERRORS | ||
|
r262 | |||
|
r13 | kwargs = {} | ||
|
r26 | kwargs['id_dev'] = conf.id | ||
|
r13 | kwargs['form'] = form | ||
kwargs['title'] = 'Device Configuration' | ||||
kwargs['suptitle'] = 'Edit' | ||||
|
r26 | kwargs['button'] = 'Save' | ||
|
r262 | return render(request, 'dds_conf_edit.html', kwargs) | ||