Package WholeCellKB :: Package public :: Module forms
[hide private]
[frames] | no frames]

Source Code for Module WholeCellKB.public.forms

  1  '''
 
  2  Whole-cell knowledge base forms
 
  3  
 
  4  Author: Jonathan Karr, jkarr@stanford.edu
 
  5  Affiliation: Covert Lab, Department of Bioengineering, Stanford University
 
  6  Last updated: 2012-07-17
 
  7  ''' 
  8  
 
  9  from django import forms 
 10  from public.helpers import getObjectTypes, getModels 
 11  from public.models import Species, SpeciesComponent 
 12  
 
13 -class SearchForm(forms.Form):
14 q = forms.CharField( 15 required = True, 16 widget = forms.TextInput, 17 label = 'query', 18 help_text = 'Enter search term(s)', 19 initial = '' 20 )
21
22 -class ExportDataForm(forms.Form):
23 FORMAT_CHOICES = ( 24 ('bib', 'BibTex'), 25 ('xlsx', 'Excel'), 26 ('html', 'HTML'), 27 ('json', 'JSON'), 28 ('pdf', 'PDF'), 29 ('xml', 'XML'), 30 ) 31 32 species = forms.ChoiceField( 33 required = False, 34 widget = forms.RadioSelect, 35 label = 'species', 36 help_text = 'Select species to export' 37 ) 38 model_type = forms.MultipleChoiceField( 39 required = False, 40 widget = forms.CheckboxSelectMultiple, 41 label = 'type', 42 help_text = 'Select entry types to export' 43 ) 44 all_model_types = forms.ChoiceField( 45 choices = ( 46 ('True', 'All'), 47 ), 48 required = False, 49 widget = forms.RadioSelect, 50 label = 'All', 51 help_text = 'Select all entry types' 52 ) 53 format = forms.ChoiceField( 54 choices = FORMAT_CHOICES, 55 initial = FORMAT_CHOICES[0][0], 56 required = True, 57 widget = forms.RadioSelect, 58 label = 'format', 59 help_text = 'Select an output format' 60 ) 61
62 - def __init__(self, is_public, *args, **kwargs):
63 super(ExportDataForm, self).__init__(*args, **kwargs) 64 65 choices = [] 66 for species in Species.objects.values('wid', 'name').all(): 67 choices.append((species['wid'], species['name'], )) 68 self.fields['species'].choices = choices 69 70 model_types = getObjectTypes(is_public=is_public) 71 models = getModels(is_public=is_public) 72 choices = [] 73 for model_type in model_types: 74 choices.append((model_type, models[model_type]._meta.verbose_name_plural, )) 75 self.fields['model_type'].choices = choices 76 self.fields['model_type'].initial = model_types
77
78 -class ImportDataForm(forms.Form):
79 species = forms.ChoiceField( 80 required = False, 81 widget = forms.Select, 82 label = 'species', 83 help_text = 'Select species to export' 84 ) 85 new_species = forms.CharField( 86 required = False, 87 widget = forms.TextInput, 88 label = 'species', 89 help_text = 'Choose a name for a new PGDB' 90 ) 91 file = forms.FileField( 92 required = True, 93 widget = forms.ClearableFileInput, 94 label = '(Excel or FASTA) file', 95 help_text = 'Select a file (Excel or FASTA) to import' 96 ) 97
98 - def __init__(self, *args, **kwargs):
99 super(ImportDataForm, self).__init__(*args, **kwargs) 100 101 choices = [] 102 for species in Species.objects.values('wid', 'name').all(): 103 choices.append((species['wid'], species['name'], )) 104 self.fields['species'].choices = choices
105