views.py
228 lines
| 7.2 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) | |
|
r12 | ||
|
r13 | kwargs = {} | |
|
r32 | ||
|
r57 | kwargs['status'] = conf.device.get_status_display() | |
|
r26 | ||
|
r55 | # if not kwargs['connected']: | |
# messages.error(request, message=answer) | |||
|
r32 | ||
|
r17 | kwargs['dev_conf'] = conf | |
|
r55 | kwargs['dev_conf_keys'] = ['name', | |
'clock', | |||
'multiplier', | |||
'frequencyA_Mhz', | |||
'frequencyA', | |||
'frequencyB_Mhz', | |||
'frequencyB', | |||
'phaseA_degrees', | |||
'phaseB_degrees', | |||
|
r30 | 'modulation', | |
|
r55 | 'amplitude_enabled', | |
'amplitudeI', | |||
'amplitudeQ'] | |||
|
r12 | ||
|
r13 | kwargs['title'] = 'DDS Configuration' | |
kwargs['suptitle'] = 'Details' | |||
kwargs['button'] = 'Edit Configuration' | |||
|
r17 | ###### SIDEBAR ###### | |
|
r85 | kwargs.update(sidebar(conf=conf)) | |
|
r17 | ||
|
r13 | return render(request, 'dds_conf.html', kwargs) | |
|
r19 | def dds_conf_edit(request, id_conf): | |
|
r13 | ||
|
r20 | conf = get_object_or_404(DDSConfiguration, 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(): | |||
|
r26 | conf = form.save(commit=False) | |
if conf.verify_frequencies(): | |||
conf.save() | |||
return redirect('url_dds_conf', id_conf=conf.id) | |||
##ERRORS | |||
|
r57 | ||
|
r13 | kwargs = {} | |
|
r26 | kwargs['id_dev'] = conf.id | |
|
r13 | kwargs['form'] = form | |
kwargs['title'] = 'Device Configuration' | |||
kwargs['suptitle'] = 'Edit' | |||
|
r26 | kwargs['button'] = 'Save' | |
return render(request, 'dds_conf_edit.html', kwargs) | |||
|
r55 | # def dds_conf_import(request, id_conf): | |
# | |||
# conf = get_object_or_404(DDSConfiguration, pk=id_conf) | |||
# | |||
# if request.method == 'GET': | |||
# file_form = UploadFileForm() | |||
# | |||
# if request.method == 'POST': | |||
# file_form = UploadFileForm(request.POST, request.FILES) | |||
# | |||
# if file_form.is_valid(): | |||
# | |||
# parms = files.read_dds_file(request.FILES['file']) | |||
# | |||
# if parms: | |||
# | |||
# if not parms['clock']: | |||
# messages.warning(request, "Clock Input could not be imported from '%s'. Please fill it out." %request.FILES['file'].name) | |||
# else: | |||
# messages.success(request, "Parameters imported from: '%s'." %request.FILES['file'].name) | |||
# | |||
# form = DDSConfigurationForm(initial=parms, instance=conf) | |||
# | |||
# kwargs = {} | |||
# kwargs['id_dev'] = conf.id | |||
# kwargs['form'] = form | |||
# kwargs['title'] = 'Device Configuration' | |||
# kwargs['suptitle'] = 'Parameters imported' | |||
# kwargs['button'] = 'Save' | |||
# kwargs['action'] = conf.get_absolute_url_edit() | |||
# kwargs['previous'] = conf.get_absolute_url() | |||
# | |||
# ###### SIDEBAR ###### | |||
# kwargs.update(sidebar(conf)) | |||
# | |||
# return render(request, 'dds_conf_edit.html', kwargs) | |||
# | |||
# messages.error(request, "Could not import parameters from file") | |||
# | |||
# kwargs = {} | |||
# kwargs['id_dev'] = conf.id | |||
# kwargs['title'] = 'Device Configuration' | |||
# kwargs['form'] = file_form | |||
# kwargs['suptitle'] = 'Importing file' | |||
# kwargs['button'] = 'Import' | |||
# | |||
# kwargs.update(sidebar(conf)) | |||
# | |||
# return render(request, 'dds_conf_import.html', kwargs) | |||
# | |||
# def dds_conf_export(request, id_conf): | |||
# | |||
# conf = get_object_or_404(DDSConfiguration, pk=id_conf) | |||
# | |||
# response = HttpResponse(content_type='text/plain') | |||
# response['Content-Disposition'] = 'attachment; filename="%s.dds"' %conf.name | |||
# response.write(conf.export_parms_to_dict()) | |||
# | |||
# return response | |||
# | |||
# def dds_conf_start(request, id_conf): | |||
# | |||
# conf = get_object_or_404(DDSConfiguration, pk=id_conf) | |||
# | |||
# if conf.start_device(): | |||
# messages.success(request, conf.message) | |||
# else: | |||
# messages.error(request, conf.message) | |||
# | |||
# return redirect('url_dds_conf', id_conf=conf.id) | |||
# | |||
# def dds_conf_stop(request, id_conf): | |||
# | |||
# conf = get_object_or_404(DDSConfiguration, pk=id_conf) | |||
# | |||
# if conf.stop_device(): | |||
# messages.success(request, conf.message) | |||
# else: | |||
# messages.error(request, conf.message) | |||
# | |||
# return redirect('url_dds_conf', id_conf=conf.id) | |||
# | |||
# def dds_conf_status(request, id_conf): | |||
# | |||
# conf = get_object_or_404(DDSConfiguration, pk=id_conf) | |||
# | |||
# if conf.status_device(): | |||
# messages.success(request, conf.message) | |||
# else: | |||
# messages.error(request, conf.message) | |||
# | |||
# return redirect('url_dds_conf', id_conf=conf.id) | |||
# | |||
# | |||
# def dds_conf_write(request, id_conf): | |||
# | |||
# conf = get_object_or_404(DDSConfiguration, pk=id_conf) | |||
# | |||
# answer = conf.write_device() | |||
# | |||
# if answer: | |||
# messages.success(request, conf.message) | |||
# | |||
# conf.pk = None | |||
# conf.id = None | |||
# conf.type = 1 | |||
# conf.template = 0 | |||
# conf.save() | |||
# | |||
# else: | |||
# messages.error(request, conf.message) | |||
# | |||
# return redirect('url_dds_conf', id_conf=id_conf) | |||
# | |||
# def dds_conf_read(request, id_conf): | |||
# | |||
# conf = get_object_or_404(DDSConfiguration, pk=id_conf) | |||
# | |||
# if request.method=='GET': | |||
# | |||
# parms = conf.read_device() | |||
# | |||
# if not parms: | |||
# messages.error(request, conf.message) | |||
# return redirect('url_dds_conf', id_conf=conf.id) | |||
# | |||
# messages.warning(request, "Clock Input cannot be read from device. Please fill it out.") | |||
# | |||
# form = DDSConfigurationForm(initial=parms, instance=conf) | |||
# | |||
# 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) | |||
# | |||
# messages.error(request, "DDS parameters could not be saved") | |||
# | |||
# 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)) | |||
# | |||
# return render(request, 'dds_conf_edit.html', kwargs) |