diff --git a/apps/cgs/forms.py b/apps/cgs/forms.py new file mode 100644 index 0000000..95382fe --- /dev/null +++ b/apps/cgs/forms.py @@ -0,0 +1,21 @@ +from django import forms +from .models import CGSConfiguration + +class CGSConfigurationForm(forms.ModelForm): + #freq0.widget = te + def __init__(self, *args, **kwargs): + #request = kwargs.pop('request') + super(CGSConfigurationForm, self).__init__(*args, **kwargs) + + def clean(self): + # Custom validation to force an integer when type of unit = "Unit" + form_data = self.cleaned_data + if (form_data['freq0'] or form_data['freq1'] or form_data['freq2'] or form_data['freq3'] < 0): + raise forms.ValidationError("Please introduce positive Number") + + return form_data + + class Meta: + model = CGSConfiguration + #exclude = ('freqs', 'clk_in', 'mult','div',) + exclude = ('freqs',) diff --git a/apps/cgs/models.py b/apps/cgs/models.py index 71a8362..76f547e 100644 --- a/apps/cgs/models.py +++ b/apps/cgs/models.py @@ -1,3 +1,23 @@ from django.db import models +from json_field import JSONField +from django.core.validators import MinValueValidator, MaxValueValidator + + +from apps.main.models import Device, Experiment + # Create your models here. +class CGSConfiguration(models.Model): + + device = models.ForeignKey(Device) + exp = models.ForeignKey(Experiment, default = None) + freq0 = models.FloatField(verbose_name='Frequency 0',validators=[MinValueValidator(62.5e6), MaxValueValidator(450e6)]) + freq1 = models.FloatField(verbose_name='Frequency 1',validators=[MinValueValidator(62.5e6), MaxValueValidator(450e6)]) + freq2 = models.FloatField(verbose_name='Frequency 2',validators=[MinValueValidator(62.5e6), MaxValueValidator(450e6)]) + freq3 = models.PositiveIntegerField(verbose_name='Frequency 3',validators=[MinValueValidator(62.5e6), MaxValueValidator(450e6)]) + freqs = JSONField(default={"frequencies":[{"f0":freq0,"f1":freq1,"f2":freq2,"f3":freq3}]}, blank=True) + #clk_in = models.PositiveIntegerField(default=10e6) + #mult = models.PositiveIntegerField(default=40) + #div = models.PositiveIntegerField(default=1) + + diff --git a/apps/cgs/templates/index_cgs.html b/apps/cgs/templates/index_cgs.html new file mode 100644 index 0000000..36f0a92 --- /dev/null +++ b/apps/cgs/templates/index_cgs.html @@ -0,0 +1,22 @@ +{% extends "base.html" %} +{% load bootstrap3 %} +{% block mainactive %}active{% endblock %} + +{% block content-title %}DEVICE CGS{% endblock %} +{% block content-suptitle %}CLOCK GENERATOR AND SYNCHRONIZER{% endblock %} + +{% block content %} +
+ Ingresar Frecuencias +
+