From fec748edd782cdfb6581dc2b9f088bf96d032e65 2015-11-30 15:17:08 From: Fiorella Quino Date: 2015-11-30 15:17:08 Subject: [PATCH] CGS model, form, view, url and html have been added. git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@17 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71 --- 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 +

+
+ {% bootstrap_form form size='medium' %} + +
+{% endblock %} + +{% block sidebar%} + +{% endblock %} + + diff --git a/apps/cgs/urls.py b/apps/cgs/urls.py index 21e5f48..a570bc3 100644 --- a/apps/cgs/urls.py +++ b/apps/cgs/urls.py @@ -1,5 +1,14 @@ from django.conf.urls import patterns, url -urlpatterns = patterns('apps.cgs.views', +from . import views +#urlpatterns = patterns('apps.cgs.views', +# url(r'^$', views.index, name='index') +#) + +urlpatterns = ( + url(r'^configuration/$', 'apps.cgs.views.configurate_frequencies', name='new_device'), ) + +#url(r'^new/experiment/$', 'apps.main.views.new_experiment', name='new_experiment') + diff --git a/apps/cgs/views.py b/apps/cgs/views.py index 91ea44a..a02c41b 100644 --- a/apps/cgs/views.py +++ b/apps/cgs/views.py @@ -1,3 +1,22 @@ -from django.shortcuts import render +from django.shortcuts import render, render_to_response +from django.template import RequestContext + +from .forms import CGSConfigurationForm # Create your views here. + +def configurate_frequencies(request): + kwargs = {} + form = CGSConfigurationForm() + + data = { + 'form': form, + 'title': ('YAP'), + } + + return render_to_response('index_cgs.html', data, context_instance=RequestContext(request)) + #return render_to_response("index.html", kwargs, context_instance=RequestContext(request)) + #return_to_response('index.html', {'title': 'Configura','form': form}, context_instance=RequestContext(request)) + + +