##// END OF EJS Templates
Update Views y several improvements
Update Views y several improvements

File last commit:

r316:0d39f71bbf42
r316:0d39f71bbf42
Show More
forms.py
102 lines | 3.9 KiB | text/x-python | PythonLexer
Juan C. Espinoza
sync repo...
r157 import os
Juan C. Espinoza
Updating base models and views ...
r6 from django import forms
Fiorella Quino
Task #99: Modulo web del JARS...
r123 from apps.main.models import Device, Experiment
Juan C. Espinoza
Update Views y several improvements
r316 from .models import JARSConfiguration, JARSFilter
Fiorella Quino
Task #99: Modulo web del JARS (widgets.py)...
r128 from .widgets import SpectralWidget
Fiorella Quino
Filter template name combo box and change_filter views...
r269 from apps.main.forms import add_empty_choice
def create_choices_from_model(model, filter_id=None):
#instance = globals()[model]
choices = model.objects.all().values_list('pk', 'name')
choices = add_empty_choice(choices)
return choices
Juan C. Espinoza
Updating base models and views ...
r6
class JARSConfigurationForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(JARSConfigurationForm, self).__init__(*args, **kwargs)
instance = getattr(self, 'instance', None)
Fiorella Quino
Jars files have been update...
r263
Juan C. Espinoza
Updating base models and views ...
r6 if instance and instance.pk:
Miguel Urco
git-svn-id: http://jro-dev.igp.gob.pe/svn/jro_hard/radarsys/trunk/webapp@44 aa17d016-51d5-4e8b-934c-7b2bbb1bbe71
r26 devices = Device.objects.filter(device_type__name='jars')
Fiorella Quino
Task #99: Modulo web del JARS...
r123 self.fields['device'].widget.choices = [(device.id, device) for device in devices]
Fiorella Quino
Task #99: Filters (filters.js,new filter, update filter parameters, fch_decimal added)...
r139 self.fields['spectral_number'].widget.attrs['readonly'] = True
Fiorella Quino
Task #99: Modulo web del JARS (static: jars.js)...
r131 self.fields['spectral'].widget = SpectralWidget()
Fiorella Quino
Jars files have been update...
r263
Fiorella Quino
Task #99: Modulo web del JARS...
r123 class Meta:
model = JARSConfiguration
Juan C. Espinoza
Update Views y several improvements
r316 exclude = ('type', 'parameters', 'status', 'filter_parms', 'author', 'hash', 'filter')
Fiorella Quino
Jars files have been update...
r263
Juan C. Espinoza
Update Views y several improvements
r316 class JARSFilterForm(forms.ModelForm):
Fiorella Quino
Task #99: View & Edit Jars Filters...
r135 def __init__(self, *args, **kwargs):
Juan C. Espinoza
Update Views y several improvements
r316 super(JARSFilterForm, self).__init__(*args, **kwargs)
Fiorella Quino
Task #99: View & Edit Jars Filters...
r135 instance = getattr(self, 'instance', None)
Fiorella Quino
Jars files have been update...
r263
Juan C. Espinoza
Update Views y several improvements
r316 self.fields['f_decimal'].widget.attrs['readonly'] = True
Fiorella Quino
jars ...
r293
Fiorella Quino
Jars files have been update...
r263 if 'initial' in kwargs:
Juan C. Espinoza
Update Views y several improvements
r316 self.fields['filter_template'] = forms.ChoiceField(
choices=create_choices_from_model(JARSFilter),
initial = kwargs['initial']['id']
)
# self.fields['name'].initial = kwargs['initial']['id']
# filter_id = kwargs['initial']['filter_id']
# if filter_id == 0:
# for value in self.fields:
# if value != 'name':
# self.fields.pop(value)
# self.fields['name'].label = "Filter Template Name"
# else:
# self.fields['name'] = forms.ChoiceField(choices=create_choices_from_model(JARSFilter, kwargs['initial']['filter_id']))
# jars_filter = JARSFilter.objects.get(pk=kwargs['initial']['filter_id'])
# labels = [f.name for f in jars_filter._meta.get_fields()]
# for label in ['id']:
# labels.remove(label)
# for label in labels:
# self.fields['name'].initial = kwargs['initial']['filter_id']
# self.fields[label].initial = getattr(jars_filter,label)
# self.fields['name'].label = "Filter Template Name"
Fiorella Quino
Jars files have been update...
r263
Fiorella Quino
Task #99: View & Edit Jars Filters...
r135 class Meta:
Juan C. Espinoza
Update Views y several improvements
r316 model = JARSFilter
exclude = ('name', )
Fiorella Quino
Jars files have been update...
r263
Fiorella Quino
Filter template name combo box and change_filter views...
r269
Juan C. Espinoza
sync repo...
r157 class ExtFileField(forms.FileField):
"""
Same as forms.FileField, but you can specify a file extension whitelist.
>>> from django.core.files.uploadedfile import SimpleUploadedFile
>>>
>>> t = ExtFileField(ext_whitelist=(".pdf", ".txt"))
>>>
>>> t.clean(SimpleUploadedFile('filename.pdf', 'Some File Content'))
>>> t.clean(SimpleUploadedFile('filename.txt', 'Some File Content'))
>>>
>>> t.clean(SimpleUploadedFile('filename.exe', 'Some File Content'))
Traceback (most recent call last):
...
ValidationError: [u'Not allowed filetype!']
"""
def __init__(self, *args, **kwargs):
extensions = kwargs.pop("extensions")
self.extensions = [i.lower() for i in extensions]
super(ExtFileField, self).__init__(*args, **kwargs)
def clean(self, *args, **kwargs):
data = super(ExtFileField, self).clean(*args, **kwargs)
filename = data.name
ext = os.path.splitext(filename)[1]
ext = ext.lower()
if ext not in self.extensions:
raise forms.ValidationError('Not allowed file type: %s' % ext)
Fiorella Quino
Jars files have been update...
r263
Juan C. Espinoza
sync repo...
r157
class JARSImportForm(forms.Form):
Fiorella Quino
Jars files have been update...
r263
Fiorella Quino
Task #1068: Import function has been implemented...
r275 file_name = ExtFileField(extensions=['.racp','.json'])