# Create your views here. from django.shortcuts import redirect, render, get_object_or_404 # from apps.main.models import Experiment, Configuration from apps.main.views import sidebar from .models import DDSConfiguration from .forms import DDSConfigurationForm # Create your views here. def dds_conf(request, id_conf): conf = get_object_or_404(DDSConfiguration, pk=id_conf) kwargs = {} kwargs['status'] = conf.device.get_status_display() # if not kwargs['connected']: # messages.error(request, message=answer) kwargs['dev_conf'] = conf kwargs['dev_conf_keys'] = ['name', 'clock', 'multiplier', 'frequencyA_Mhz', 'frequencyA', 'frequencyB_Mhz', 'frequencyB', 'phaseA_degrees', 'phaseB_degrees', 'modulation', 'amplitude_enabled', 'amplitudeI', 'amplitudeQ'] kwargs['title'] = 'DDS Configuration' kwargs['suptitle'] = 'Details' kwargs['button'] = 'Edit Configuration' ###### SIDEBAR ###### kwargs.update(sidebar(conf=conf)) return render(request, 'dds_conf.html', kwargs) def dds_conf_edit(request, id_conf): conf = get_object_or_404(DDSConfiguration, pk=id_conf) if request.method=='GET': form = DDSConfigurationForm(instance=conf) if request.method=='POST': form = DDSConfigurationForm(request.POST, instance=conf) if form.is_valid(): conf = form.save(commit=False) if conf.verify_frequencies(): conf.save() return redirect('url_dds_conf', id_conf=conf.id) ##ERRORS kwargs = {} kwargs['id_dev'] = conf.id kwargs['form'] = form kwargs['title'] = 'Device Configuration' kwargs['suptitle'] = 'Edit' kwargs['button'] = 'Save' return render(request, 'dds_conf_edit.html', kwargs)