Trees | Indices | Help |
|
---|
|
1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 # 4 # 5 # 6 # Copyright (c) 2008-2011 University of Dundee. 7 # 8 # This program is free software: you can redistribute it and/or modify 9 # it under the terms of the GNU Affero General Public License as 10 # published by the Free Software Foundation, either version 3 of the 11 # License, or (at your option) any later version. 12 # 13 # This program is distributed in the hope that it will be useful, 14 # but WITHOUT ANY WARRANTY; without even the implied warranty of 15 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 16 # GNU Affero General Public License for more details. 17 # 18 # You should have received a copy of the GNU Affero General Public License 19 # along with this program. If not, see <http://www.gnu.org/licenses/>. 20 # 21 # Author: Aleksandra Tarkowska <A(dot)Tarkowska(at)dundee(dot)ac(dot)uk>, 2008. 22 # 23 # Version: 1.0 24 # 25 26 import datetime 27 import time 28 import logging 29 import traceback 30 31 from django.conf import settings 32 from django import forms 33 from django.forms.widgets import Textarea 34 from django.forms.widgets import HiddenInput 35 from django.core.urlresolvers import reverse 36 37 from omeroweb.custom_forms import NonASCIIForm 38 from custom_forms import UrlField, MetadataModelChoiceField, \ 39 AnnotationModelMultipleChoiceField, \ 40 ObjectModelMultipleChoiceField 41 from omeroweb.webadmin.custom_forms import ExperimenterModelChoiceField, \ 42 ExperimenterModelMultipleChoiceField, \ 43 GroupModelMultipleChoiceField, GroupModelChoiceField 44 45 46 logger = logging.getLogger(__name__) 47 48 ################################################################## 49 # Static values 50 51 # TODO: change to reverse 52 help_button = "%swebgateway/img/help16.png" % settings.STATIC_URL 53 54 help_wiki = '<span id="markup" title="Markups - <small>If you\'d like to include URL please type:<br/><b>http://www.openmicroscopy.org.uk/</b></small>"><img src="%s" /></span>' % help_button 55 56 help_wiki_c = '<span id="markup_c" title="Markups - <small>If you\'d like to include URL please type:<br/><b>http://www.openmicroscopy.org.uk/</b></small>"><img src="%s" /></span>' % help_button 57 58 help_enable = '<span id="enable" title="Enable/Disable - <small>This option allows the owner to keep the access control of the share.</small>"><img src="%s" /></span>' % help_button 59 60 help_expire = '<span id="expire" title="Expire date - <small>This date defines when share will stop being available. Date format: YY-MM-DD.</small>"><img src="%s" /></span>' % help_button 61 62 ################################################################# 63 # Non-model Form 6496 106108 109 name = forms.CharField(max_length=250, widget=forms.TextInput(attrs={'size':45})) 110 description = forms.CharField(widget=forms.Textarea(attrs={'rows': 2, 'cols': 49}), required=False, help_text=help_wiki)111 115117 118 description = forms.CharField(widget=forms.Textarea(attrs={'rows': 3, 'cols': 39}), required=False)119 120122 """ 123 This is the superclass of the various forms used for annotating single or multiple objects. 124 All these forms use hidden fields to specify the object(s) currently being annotated. 125 """184 185127 super(BaseAnnotationForm, self).__init__(*args, **kwargs) 128 129 images = 'images' in kwargs['initial'] and kwargs['initial']['images'] or list() 130 if len(images) > 0: 131 try: 132 self.fields['image'] = ObjectModelMultipleChoiceField(queryset=images, initial=kwargs['initial']['selected']['images'], widget=forms.SelectMultiple(attrs={'size':10}), required=False) 133 except: 134 self.fields['image'] = ObjectModelMultipleChoiceField(queryset=images, widget=forms.SelectMultiple(attrs={'size':10}), required=False) 135 136 datasets = 'datasets' in kwargs['initial'] and kwargs['initial']['datasets'] or list() 137 if len(datasets) > 0: 138 try: 139 self.fields['dataset'] = ObjectModelMultipleChoiceField(queryset=datasets, initial=kwargs['initial']['selected']['datasets'], widget=forms.SelectMultiple(attrs={'size':10}), required=False) 140 except: 141 self.fields['dataset'] = ObjectModelMultipleChoiceField(queryset=datasets, widget=forms.SelectMultiple(attrs={'size':10}), required=False) 142 143 projects = 'projects' in kwargs['initial'] and kwargs['initial']['projects'] or list() 144 if len(projects) > 0: 145 try: 146 self.fields['project'] = ObjectModelMultipleChoiceField(queryset=projects, initial=kwargs['initial']['selected']['projects'], widget=forms.SelectMultiple(attrs={'size':10}), required=False) 147 except: 148 self.fields['project'] = ObjectModelMultipleChoiceField(queryset=projects, widget=forms.SelectMultiple(attrs={'size':10}), required=False) 149 150 screens = 'screens' in kwargs['initial'] and kwargs['initial']['screens'] or list() 151 if len(screens) > 0: 152 try: 153 self.fields['screen'] = ObjectModelMultipleChoiceField(queryset=screens, initial=kwargs['initial']['selected']['screens'], widget=forms.SelectMultiple(attrs={'size':10}), required=False) 154 except: 155 self.fields['screen'] = ObjectModelMultipleChoiceField(queryset=screens, widget=forms.SelectMultiple(attrs={'size':10}), required=False) 156 157 plates = 'plates' in kwargs['initial'] and kwargs['initial']['plates'] or list() 158 if len(plates) > 0: 159 try: 160 self.fields['plate'] = ObjectModelMultipleChoiceField(queryset=plates, initial=kwargs['initial']['selected']['plates'], widget=forms.SelectMultiple(attrs={'size':10}), required=False) 161 except: 162 self.fields['plate'] = ObjectModelMultipleChoiceField(queryset=plates, widget=forms.SelectMultiple(attrs={'size':10}), required=False) 163 164 acquisitions = 'acquisitions' in kwargs['initial'] and kwargs['initial']['acquisitions'] or list() 165 if len(acquisitions) > 0: 166 try: 167 self.fields['acquisition'] = ObjectModelMultipleChoiceField(queryset=acquisitions, initial=kwargs['initial']['selected']['acquisitions'], widget=forms.SelectMultiple(attrs={'size':10}), required=False) 168 except: 169 self.fields['acquisition'] = ObjectModelMultipleChoiceField(queryset=acquisitions, widget=forms.SelectMultiple(attrs={'size':10}), required=False) 170 171 wells = 'wells' in kwargs['initial'] and kwargs['initial']['wells'] or list() 172 if len(wells) > 0: 173 try: 174 self.fields['well'] = ObjectModelMultipleChoiceField(queryset=wells, initial=kwargs['initial']['selected']['wells'], widget=forms.SelectMultiple(attrs={'size':10}), required=False) 175 except: 176 self.fields['well'] = ObjectModelMultipleChoiceField(queryset=wells, widget=forms.SelectMultiple(attrs={'size':10}), required=False) 177 178 shares = 'shares' in kwargs['initial'] and kwargs['initial']['shares'] or list() 179 if len(shares) > 0: 180 try: 181 self.fields['share'] = ObjectModelMultipleChoiceField(queryset=shares, initial=kwargs['initial']['selected']['shares'], widget=forms.SelectMultiple(attrs={'size':10}), required=False) 182 except: 183 self.fields['share'] = ObjectModelMultipleChoiceField(queryset=shares, widget=forms.SelectMultiple(attrs={'size':10}), required=False)187 """ Form for annotating one or more objects with existing Tags or New tags """ 188196 197190 super(TagsAnnotationForm, self).__init__(*args, **kwargs) 191 self.fields['tags'] = AnnotationModelMultipleChoiceField(queryset=kwargs['initial']['tags'], 192 widget=forms.SelectMultiple(attrs={'size':6, 'class':'existing'}), required=False)193 194 tag = forms.CharField(widget=forms.TextInput(attrs={'size':36}), required=False) 195 description = forms.CharField(widget=forms.Textarea(attrs={'rows': 3, 'cols': 31}), required=False, label="Desc")199205 206 209201 super(FilesAnnotationForm, self).__init__(*args, **kwargs) 202 self.fields['files'] = AnnotationModelMultipleChoiceField(queryset=kwargs['initial']['files'], widget=forms.SelectMultiple(attrs={'size':8, 'class':'existing'}), required=False)203 204 annotation_file = forms.FileField(required=False)211235213 super(UsersForm, self).__init__(*args, **kwargs) 214 try: 215 empty_label = kwargs['initial']['empty_label'] 216 except: 217 empty_label='---------' 218 try: 219 menu = kwargs['initial']['menu'] 220 except: 221 menu = '----------' 222 try: 223 user = kwargs['initial']['user'] 224 except: 225 user = None 226 users = kwargs['initial']['users'] 227 228 self.fields['experimenter'] = ExperimenterModelChoiceField(queryset=users, initial=user, widget=forms.Select(attrs={'onchange':'window.location.href=\''+reverse(viewname="load_template", args=[menu])+'?experimenter=\'+this.options[this.selectedIndex].value'}), required=False, empty_label=empty_label) 229 230 if users is None or len(users)<2: 231 self.fields['experimenter'].widget.attrs['disabled'] = True 232 self.fields['experimenter'].widget.attrs['class'] = 'disabled' 233 234 self.fields.keyOrder = ['experimenter']237245 246239 super(ActiveGroupForm, self).__init__(*args, **kwargs) 240 try: 241 self.fields['active_group'] = GroupModelChoiceField(queryset=kwargs['initial']['mygroups'], initial=kwargs['initial']['activeGroup'], empty_label=None, widget=forms.Select(attrs={'onchange':'window.location.href=\''+reverse(viewname="change_active_group")+'?url='+kwargs['initial']['url']+'&active_group=\'+this.options[this.selectedIndex].value'})) 242 except: 243 self.fields['active_group'] = GroupModelChoiceField(queryset=kwargs['initial']['mygroups'], initial=kwargs['initial']['activeGroup'], empty_label=None, widget=forms.Select(attrs={'onchange':'window.location.href=\''+reverse(viewname="change_active_group")+'?active_group=\'+this.options[this.selectedIndex].value'})) 244 self.fields.keyOrder = ['active_group']248255 256 ############################### 257 # METADATA FORMS250 super(WellIndexForm, self).__init__(*args, **kwargs) 251 rmin, rmax = kwargs['initial']['range'] 252 choices = [(str(i), "Field#%i" % (i-rmin+1)) for i in range(rmin, rmax+1)] 253 self.fields['index'] = forms.ChoiceField(choices=tuple(choices), widget=forms.Select(attrs={'onchange':'changeFiled(this.options[this.selectedIndex].value);'})) 254 self.fields.keyOrder = ['index']259388 389261 super(MetadataChannelForm, self).__init__(*args, **kwargs) 262 263 # Logical channel 264 265 # Name 266 try: 267 if kwargs['initial']['logicalChannel'] is not None: 268 self.fields['name'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['logicalChannel'].id)+', \'name\', this.value);'}), initial=kwargs['initial']['logicalChannel'].name, required=False) 269 else: 270 self.fields['name'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['logicalChannel'].id)+', \'name\', this.value);'}), required=False) 271 self.fields['name'].widget.attrs['disabled'] = True 272 self.fields['name'].widget.attrs['class'] = 'disabled-metadata' 273 except: 274 self.fields['name'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 275 self.fields['name'].widget.attrs['disabled'] = True 276 self.fields['name'].widget.attrs['class'] = 'disabled-metadata' 277 278 # excitationWave 279 try: 280 if kwargs['initial']['logicalChannel'] is not None: 281 self.fields['excitationWave'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['logicalChannel'].id)+', \'name\', this.value);'}), initial=kwargs['initial']['logicalChannel'].excitationWave, label="Excitation", required=False) 282 else: 283 self.fields['excitationWave'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['logicalChannel'].id)+', \'name\', this.value);'}), label="Excitation", required=False) 284 self.fields['excitationWave'].widget.attrs['disabled'] = True 285 self.fields['excitationWave'].widget.attrs['class'] = 'disabled-metadata' 286 except: 287 self.fields['excitationWave'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Excitation", required=False) 288 self.fields['excitationWave'].widget.attrs['disabled'] = True 289 self.fields['excitationWave'].widget.attrs['class'] = 'disabled-metadata' 290 291 # emissionWave 292 try: 293 if kwargs['initial']['logicalChannel'] is not None: 294 self.fields['emissionWave'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['logicalChannel'].id)+', \'name\', this.value);'}), initial=kwargs['initial']['logicalChannel'].emissionWave, label="Emission", required=False) 295 else: 296 self.fields['emissionWave'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['logicalChannel'].id)+', \'name\', this.value);'}), label="Emission", required=False) 297 self.fields['emissionWave'].widget.attrs['disabled'] = True 298 self.fields['emissionWave'].widget.attrs['class'] = 'disabled-metadata' 299 except: 300 self.fields['emissionWave'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Emission", required=False) 301 self.fields['emissionWave'].widget.attrs['disabled'] = True 302 self.fields['emissionWave'].widget.attrs['class'] = 'disabled-metadata' 303 304 # ndFilter 305 try: 306 if kwargs['initial']['logicalChannel'] is not None: 307 self.fields['ndFilter'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['logicalChannel'].id)+', \'name\', this.value);'}), initial=kwargs['initial']['logicalChannel'].ndFilter, label="ND filter [%]", required=False) 308 else: 309 self.fields['ndFilter'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['logicalChannel'].id)+', \'name\', this.value);'}), label="ND filter [%]", required=False) 310 self.fields['ndFilter'].widget.attrs['disabled'] = True 311 except: 312 self.fields['ndFilter'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="ND filter [%]", required=False) 313 self.fields['ndFilter'].widget.attrs['disabled'] = True 314 315 # pinHoleSize 316 try: 317 if kwargs['initial']['logicalChannel'] is not None: 318 self.fields['pinHoleSize'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['logicalChannel'].id)+', \'name\', this.value);'}), initial=kwargs['initial']['logicalChannel'].pinHoleSize, label="Pin hole size", required=False) 319 else: 320 self.fields['pinHoleSize'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['logicalChannel'].id)+', \'name\', this.value);'}), label="Pin hole size", required=False) 321 self.fields['pinHoleSize'].widget.attrs['disabled'] = True 322 except: 323 self.fields['pinHoleSize'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Pin hole size", required=False) 324 self.fields['pinHoleSize'].widget.attrs['disabled'] = True 325 326 # fluor 327 try: 328 if kwargs['initial']['logicalChannel'] is not None: 329 self.fields['fluor'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['logicalChannel'].id)+', \'name\', this.value);'}), initial=kwargs['initial']['logicalChannel'].fluor, required=False) 330 else: 331 self.fields['fluor'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['logicalChannel'].id)+', \'name\', this.value);'}), required=False) 332 self.fields['fluor'].widget.attrs['disabled'] = True 333 except: 334 self.fields['fluor'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 335 self.fields['fluor'].widget.attrs['disabled'] = True 336 337 # Illumination 338 try: 339 if kwargs['initial']['logicalChannel'].getIllumination() is not None: 340 self.fields['illumination'] = MetadataModelChoiceField(queryset=kwargs['initial']['illuminations'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['logicalChannel'].id)+', \'illumination\', this.options[this.selectedIndex].value);'}), initial=kwargs['initial']['logicalChannel'].getIllumination(), required=False) 341 else: 342 self.fields['illumination'] = MetadataModelChoiceField(queryset=kwargs['initial']['illuminations'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['logicalChannel'].id)+', \'illumination\', this.options[this.selectedIndex].value);'}), required=False) 343 self.fields['illumination'].widget.attrs['disabled'] = True 344 except: 345 self.fields['illumination'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 346 self.fields['illumination'].widget.attrs['disabled'] = True 347 348 # contrastMethods 349 try: 350 if kwargs['initial']['logicalChannel'].contrastMethod is not None: 351 self.fields['contrastMethod'] = MetadataModelChoiceField(queryset=kwargs['initial']['contrastMethods'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['logicalChannel'].id)+', \'contrastMethod\', this.options[this.selectedIndex].value);'}), initial=kwargs['initial']['logicalChannel'].getContrastMethod(), label="Contrast method", required=False) 352 else: 353 self.fields['contrastMethod'] = MetadataModelChoiceField(queryset=kwargs['initial']['contrastMethods'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['logicalChannel'].id)+', \'contrastMethod\', this.options[this.selectedIndex].value);'}), label="Contrast method", required=False) 354 self.fields['contrastMethod'].widget.attrs['disabled'] = True 355 self.fields['contrastMethod'].widget.attrs['class'] = 'disabled-metadata' 356 except: 357 self.fields['contrastMethod'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Contrast method", required=False) 358 self.fields['contrastMethod'].widget.attrs['disabled'] = True 359 self.fields['contrastMethod'].widget.attrs['class'] = 'disabled-metadata' 360 361 # Mode 362 try: 363 if kwargs['initial']['logicalChannel'].getMode() is not None: 364 self.fields['mode'] = MetadataModelChoiceField(queryset=kwargs['initial']['modes'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['logicalChannel'].id)+', \'mode\', this.options[this.selectedIndex].value);'}), initial=kwargs['initial']['logicalChannel'].getMode().value, required=False) 365 else: 366 self.fields['mode'] = MetadataModelChoiceField(queryset=kwargs['initial']['modes'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['logicalChannel'].id)+', \'mode\', this.options[this.selectedIndex].value);'}), required=False) 367 self.fields['mode'].widget.attrs['disabled'] = True 368 self.fields['mode'].widget.attrs['class'] = 'disabled-metadata' 369 except: 370 self.fields['mode'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 371 self.fields['mode'].widget.attrs['disabled'] = True 372 self.fields['mode'].widget.attrs['class'] = 'disabled-metadata' 373 374 # pockelCellSetting 375 try: 376 if kwargs['initial']['logicalChannel'].pockelCellSetting is not None: 377 self.fields['pockelCellSetting'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['logicalChannel'].id)+', \'name\', this.value);'}), initial=kwargs['initial']['logicalChannel'].pockelCellSetting, label="Pockel cell", required=False) 378 else: 379 self.fields['pockelCellSetting'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['logicalChannel'].id)+', \'name\', this.value);'}), label="Pockel cell", required=False) 380 self.fields['pockelCellSetting'].widget.attrs['disabled'] = True 381 self.fields['pockelCellSetting'].widget.attrs['class'] = 'disabled-metadata' 382 except: 383 self.fields['pockelCellSetting'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Pockel cell" ,required=False) 384 self.fields['pockelCellSetting'].widget.attrs['disabled'] = True 385 self.fields['pockelCellSetting'].widget.attrs['class'] = 'disabled-metadata' 386 387 self.fields.keyOrder = ['name', 'excitationWave', 'emissionWave', 'ndFilter', 'pinHoleSize', 'fluor', 'illumination', 'contrastMethod', 'mode', 'pockelCellSetting']391448 449393 super(MetadataDichroicForm, self).__init__(*args, **kwargs) 394 395 # Manufacturer 396 try: 397 if kwargs['initial']['dichroic'].manufacturer is not None: 398 self.fields['manufacturer'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['dichroic'].id)+', \'manufacturer\', this.value);'}), initial=kwargs['initial']['dichroic'].manufacturer, required=False) 399 else: 400 self.fields['manufacturer'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['dichroic'].id)+', \'manufacturer\', this.value);'}), required=False) 401 self.fields['manufacturer'].widget.attrs['disabled'] = True 402 self.fields['manufacturer'].widget.attrs['class'] = 'disabled-metadata' 403 except: 404 self.fields['manufacturer'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 405 self.fields['manufacturer'].widget.attrs['disabled'] = True 406 self.fields['manufacturer'].widget.attrs['class'] = 'disabled-metadata' 407 408 # Model 409 try: 410 if kwargs['initial']['dichroic'].model is not None: 411 self.fields['model'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['dichroic'].id)+', \'model\', this.value);'}), initial=kwargs['initial']['dichroic'].model, required=False) 412 else: 413 self.fields['model'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['dichroic'].id)+', \'model\', this.value);'}), required=False) 414 self.fields['model'].widget.attrs['disabled'] = True 415 self.fields['model'].widget.attrs['class'] = 'disabled-metadata' 416 except: 417 self.fields['model'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 418 self.fields['model'].widget.attrs['disabled'] = True 419 self.fields['model'].widget.attrs['class'] = 'disabled-metadata' 420 421 # Serial number 422 try: 423 if kwargs['initial']['dichroic'].serialNumber is not None: 424 self.fields['serialNumber'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['dichroic'].serialNumber)+', \'serialNumber\', this.value);'}), initial=kwargs['initial']['dichroic'].serialNumber, label="Serial number", required=False) 425 else: 426 self.fields['serialNumber'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['dichroic'].serialNumber)+', \'serialNumber\', this.value);'}), label="Serial number", required=False) 427 self.fields['serialNumber'].widget.attrs['disabled'] = True 428 self.fields['serialNumber'].widget.attrs['class'] = 'disabled-metadata' 429 except: 430 self.fields['serialNumber'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Serial number", required=False) 431 self.fields['serialNumber'].widget.attrs['disabled'] = True 432 self.fields['serialNumber'].widget.attrs['class'] = 'disabled-metadata' 433 434 # Lot number 435 try: 436 if kwargs['initial']['dichroic'].lotNumber is not None: 437 self.fields['lotNumber'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['dichroic'].lotNumber)+', \'lotNumber\', this.value);'}), initial=kwargs['initial']['dichroic'].lotNumber, label="Lot number", required=False) 438 else: 439 self.fields['lotNumber'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['dichroic'].lotNumber)+', \'lotNumber\', this.value);'}), label="Lot number", required=False) 440 self.fields['lotNumber'].widget.attrs['disabled'] = True 441 self.fields['lotNumber'].widget.attrs['class'] = 'disabled-metadata' 442 except: 443 self.fields['lotNumber'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Lot number", required=False) 444 self.fields['lotNumber'].widget.attrs['disabled'] = True 445 self.fields['lotNumber'].widget.attrs['class'] = 'disabled-metadata' 446 447 self.fields.keyOrder = ['manufacturer', 'model', 'serialNumber', 'lotNumber']451521 522453 super(MetadataMicroscopeForm, self).__init__(*args, **kwargs) 454 455 # Model 456 try: 457 if kwargs['initial']['microscope'].model is not None: 458 self.fields['model'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['microscope'].id)+', \'model\', this.value);'}), initial=kwargs['initial']['microscope'].model, required=False) 459 else: 460 self.fields['model'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['microscope'].id)+', \'model\', this.value);'}), required=False) 461 self.fields['model'].widget.attrs['disabled'] = True 462 self.fields['model'].widget.attrs['class'] = 'disabled-metadata' 463 except: 464 self.fields['model'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 465 self.fields['model'].widget.attrs['disabled'] = True 466 self.fields['model'].widget.attrs['class'] = 'disabled-metadata' 467 468 # Manufacturer 469 try: 470 if kwargs['initial']['microscope'].manufacturer is not None: 471 self.fields['manufacturer'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['microscope'].id)+', \'manufacturer\', this.value);'}), initial=kwargs['initial']['microscope'].manufacturer, required=False) 472 else: 473 self.fields['manufacturer'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['microscope'].id)+', \'manufacturer\', this.value);'}), required=False) 474 self.fields['manufacturer'].widget.attrs['disabled'] = True 475 self.fields['manufacturer'].widget.attrs['class'] = 'disabled-metadata' 476 except: 477 self.fields['manufacturer'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 478 self.fields['manufacturer'].widget.attrs['disabled'] = True 479 self.fields['manufacturer'].widget.attrs['class'] = 'disabled-metadata' 480 481 # Serial number 482 try: 483 if kwargs['initial']['microscope'].serialNumber is not None: 484 self.fields['serialNumber'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['microscope'].id)+', \'lotNumber\', this.value);'}), initial=kwargs['initial']['microscope'].serialNumber, label="Serial number", required=False) 485 else: 486 self.fields['serialNumber'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['microscope'].id)+', \'lotNumber\', this.value);'}), label="Serial number", required=False) 487 self.fields['serialNumber'].widget.attrs['disabled'] = True 488 self.fields['serialNumber'].widget.attrs['class'] = 'disabled-metadata' 489 except: 490 self.fields['serialNumber'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Serial number", required=False) 491 self.fields['serialNumber'].widget.attrs['disabled'] = True 492 self.fields['serialNumber'].widget.attrs['class'] = 'disabled-metadata' 493 494 # Lot number 495 try: 496 if kwargs['initial']['microscope'].lotNumber is not None: 497 self.fields['lotNumber'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['microscope'].id)+', \'lotNumber\', this.value);'}), initial=kwargs['initial']['microscope'].lotNumber, label="Serial number", required=False) 498 else: 499 self.fields['lotNumber'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['microscope'].id)+', \'lotNumber\', this.value);'}), label="Serial number", required=False) 500 self.fields['lotNumber'].widget.attrs['disabled'] = True 501 self.fields['lotNumber'].widget.attrs['class'] = 'disabled-metadata' 502 except: 503 self.fields['lotNumber'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Serial number", required=False) 504 self.fields['lotNumber'].widget.attrs['disabled'] = True 505 self.fields['lotNumber'].widget.attrs['class'] = 'disabled-metadata' 506 507 # Type 508 try: 509 if kwargs['initial']['microscope'].getMicroscopeType() is not None: 510 self.fields['type'] = MetadataModelChoiceField(queryset=kwargs['initial']['microscopeTypes'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['microscope'].id)+', \'type\', this.options[this.selectedIndex].value);'}), initial=kwargs['initial']['microscope'].getMicroscopeType().value, required=False) 511 else: 512 self.fields['type'] = MetadataModelChoiceField(queryset=kwargs['initial']['microscopeTypes'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['microscope'].id)+', \'type\', this.options[this.selectedIndex].value);'}), required=False) 513 self.fields['type'].widget.attrs['disabled'] = True 514 self.fields['type'].widget.attrs['class'] = 'disabled-metadata' 515 except: 516 self.fields['type'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 517 self.fields['type'].widget.attrs['disabled'] = True 518 self.fields['type'].widget.attrs['class'] = 'disabled-metadata' 519 520 self.fields.keyOrder = ['model', 'manufacturer', 'serialNumber', 'lotNumber', 'type']524672 673526 super(MetadataObjectiveForm, self).__init__(*args, **kwargs) 527 528 # Model 529 try: 530 if kwargs['initial']['objective'].model is not None: 531 self.fields['model'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['objective'].id)+', \'model\', this.value);'}), initial=kwargs['initial']['objective'].model, required=False) 532 else: 533 self.fields['model'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['objective'].id)+', \'model\', this.value);'}), required=False) 534 self.fields['model'].widget.attrs['disabled'] = True 535 self.fields['model'].widget.attrs['class'] = 'disabled-metadata' 536 except: 537 self.fields['model'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 538 self.fields['model'].widget.attrs['disabled'] = True 539 self.fields['model'].widget.attrs['class'] = 'disabled-metadata' 540 541 # Manufacturer 542 try: 543 if kwargs['initial']['objective'].manufacturer is not None: 544 self.fields['manufacturer'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['objective'].id)+', \'manufacturer\', this.value);'}), initial=kwargs['initial']['objective'].manufacturer, required=False) 545 else: 546 self.fields['manufacturer'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['objective'].id)+', \'manufacturer\', this.value);'}), required=False) 547 self.fields['manufacturer'].widget.attrs['disabled'] = True 548 self.fields['manufacturer'].widget.attrs['class'] = 'disabled-metadata' 549 except: 550 self.fields['manufacturer'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 551 self.fields['manufacturer'].widget.attrs['disabled'] = True 552 self.fields['manufacturer'].widget.attrs['class'] = 'disabled-metadata' 553 554 # Serial Number 555 try: 556 if kwargs['initial']['objective'].serialNumber is not None: 557 self.fields['serialNumber'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['objective'].id)+', \'serialNumber\', this.value);'}), initial=kwargs['initial']['objective'].serialNumber, label="Serial number", required=False) 558 else: 559 self.fields['serialNumber'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['objective'].id)+', \'serialNumber\', this.value);'}), label="Serial number", required=False) 560 self.fields['serialNumber'].widget.attrs['disabled'] = True 561 self.fields['serialNumber'].widget.attrs['class'] = 'disabled-metadata' 562 except: 563 self.fields['serialNumber'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Serial number", required=False) 564 self.fields['serialNumber'].widget.attrs['disabled'] = True 565 self.fields['serialNumber'].widget.attrs['class'] = 'disabled-metadata' 566 567 # Lot number 568 try: 569 if kwargs['initial']['objective'].lotNumber is not None: 570 self.fields['lotNumber'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['logicalchannel'].getObjective().lotNumber)+', \'lotNumber\', this.value);'}), initial=kwargs['initial']['logicalchannel'].getObjective().lotNumber, label="Serial number", required=False) 571 else: 572 self.fields['lotNumber'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['logicalchannel'].getObjective().lotNumber)+', \'lotNumber\', this.value);'}), label="Serial number", required=False) 573 self.fields['lotNumber'].widget.attrs['disabled'] = True 574 self.fields['lotNumber'].widget.attrs['class'] = 'disabled-metadata' 575 except: 576 self.fields['lotNumber'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Serial number", required=False) 577 self.fields['lotNumber'].widget.attrs['disabled'] = True 578 self.fields['lotNumber'].widget.attrs['class'] = 'disabled-metadata' 579 580 # Nominal Magnification 581 try: 582 if kwargs['initial']['objective'].nominalMagnification is not None: 583 self.fields['nominalMagnification'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['objective'].id)+', \'nominalMagnification\', this.value);'}), initial=kwargs['initial']['objective'].nominalMagnification, label="Nominal magnification", required=False) 584 else: 585 self.fields['nominalMagnification'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['objective'].id)+', \'nominalMagnification\', this.value);'}), label="Nominal magnification", required=False) 586 self.fields['nominalMagnification'].widget.attrs['disabled'] = True 587 self.fields['nominalMagnification'].widget.attrs['class'] = 'disabled-metadata' 588 except: 589 self.fields['nominalMagnification'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Nominal magnification", required=False) 590 self.fields['nominalMagnification'].widget.attrs['disabled'] = True 591 self.fields['nominalMagnification'].widget.attrs['class'] = 'disabled-metadata' 592 593 # Calibrated Magnification 594 try: 595 if kwargs['initial']['objective'].calibratedMagnification is not None: 596 self.fields['calibratedMagnification'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['objective'].id)+', \'calibratedMagnification\', this.value);'}), initial=kwargs['initial']['objective'].calibratedMagnification, label="Calibrated magnification", required=False) 597 else: 598 self.fields['calibratedMagnification'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['objective'].id)+', \'calibratedMagnification\', this.value);'}), label="Calibrated magnification", required=False) 599 self.fields['calibratedMagnification'].widget.attrs['disabled'] = True 600 self.fields['calibratedMagnification'].widget.attrs['class'] = 'disabled-metadata' 601 except: 602 self.fields['calibratedMagnification'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Calibrated magnification", required=False) 603 self.fields['calibratedMagnification'].widget.attrs['disabled'] = True 604 self.fields['calibratedMagnification'].widget.attrs['class'] = 'disabled-metadata' 605 606 # Lens NA 607 try: 608 if kwargs['initial']['objective'].lensNA is not None: 609 self.fields['lensNA'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['objective'].id)+', \'lensNA\', this.value);'}), initial=kwargs['initial']['objective'].lensNA, label="Lens NA", required=False) 610 else: 611 self.fields['lensNA'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['objective'].id)+', \'lensNA\', this.value);'}), required=False) 612 self.fields['lensNA'].widget.attrs['disabled'] = True 613 self.fields['lensNA'].widget.attrs['class'] = 'disabled-metadata' 614 except: 615 self.fields['lensNA'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Lens NA", required=False) 616 self.fields['lensNA'].widget.attrs['disabled'] = True 617 self.fields['lensNA'].widget.attrs['class'] = 'disabled-metadata' 618 619 # Immersion 620 try: 621 if kwargs['initial']['objective'].getImmersion() is not None: 622 self.fields['immersion'] = MetadataModelChoiceField(queryset=kwargs['initial']['immersions'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['objective'].id)+', \'immersion\', this.options[this.selectedIndex].value);'}), initial=kwargs['initial']['objective'].getImmersion().value, required=False) 623 else: 624 self.fields['immersion'] = MetadataModelChoiceField(queryset=kwargs['initial']['immersions'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['objective'].id)+', \'immersion\', this.options[this.selectedIndex].value);'}), required=False) 625 self.fields['immersion'].widget.attrs['disabled'] = True 626 self.fields['immersion'].widget.attrs['class'] = 'disabled-metadata' 627 except: 628 self.fields['immersion'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 629 self.fields['immersion'].widget.attrs['disabled'] = True 630 self.fields['immersion'].widget.attrs['class'] = 'disabled-metadata' 631 632 # Correction 633 try: 634 if kwargs['initial']['objective'].getCorrection() is not None: 635 self.fields['correction'] = MetadataModelChoiceField(queryset=kwargs['initial']['corrections'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['objective'].id)+', \'correction\', this.options[this.selectedIndex].value);'}), initial=kwargs['initial']['objective'].getCorrection().value, required=False) 636 else: 637 self.fields['correction'] = MetadataModelChoiceField(queryset=kwargs['initial']['corrections'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['objective'].id)+', \'correction\', this.options[this.selectedIndex].value);'}), required=False) 638 self.fields['correction'].widget.attrs['disabled'] = True 639 self.fields['correction'].widget.attrs['class'] = 'disabled-metadata' 640 except: 641 self.fields['correction'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 642 self.fields['correction'].widget.attrs['disabled'] = True 643 self.fields['correction'].widget.attrs['class'] = 'disabled-metadata' 644 645 # Working Distance 646 try: 647 if kwargs['initial']['objective'].workingDistance is not None: 648 self.fields['workingDistance'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['objective'].id)+', \'workingDistance\', this.value);'}), initial=kwargs['initial']['objective'].workingDistance, label="Working distance", required=False) 649 else: 650 self.fields['workingDistance'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['objective'].id)+', \'workingDistance\', this.value);'}), label="Working distance", required=False) 651 self.fields['workingDistance'].widget.attrs['disabled'] = True 652 self.fields['workingDistance'].widget.attrs['class'] = 'disabled-metadata' 653 except: 654 self.fields['workingDistance'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Working distance", required=False) 655 self.fields['workingDistance'].widget.attrs['disabled'] = True 656 self.fields['workingDistance'].widget.attrs['class'] = 'disabled-metadata' 657 658 # Iris 659 try: 660 if kwargs['initial']['objective'].getIris() is not None: 661 self.fields['iris'] = forms.ChoiceField(choices=self.BOOLEAN_CHOICES, widget=forms.Select(attrs={'onchange':'javascript:saveMetadata('+str(kwargs['initial']['objective'].id)+', \'iris\', this.options[this.selectedIndex].value);'}), initial=kwargs['initial']['objective'].getIris().value, required=False) 662 else: 663 self.fields['iris'] = forms.ChoiceField(choices=self.BOOLEAN_CHOICES, widget=forms.Select(attrs={'onchange':'javascript:saveMetadata('+str(kwargs['initial']['objective'].id)+', \'iris\', this.options[this.selectedIndex].value);'}), required=False) 664 self.fields['iris'].widget.attrs['disabled'] = True 665 self.fields['iris'].widget.attrs['class'] = 'disabled-metadata' 666 except: 667 self.fields['iris'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 668 self.fields['iris'].widget.attrs['disabled'] = True 669 self.fields['iris'].widget.attrs['class'] = 'disabled-metadata' 670 671 self.fields.keyOrder = ['model', 'manufacturer', 'serialNumber', 'lotNumber', 'nominalMagnification', 'calibratedMagnification', 'lensNA', 'immersion', 'correction', 'workingDistance', 'iris']675 676 BOOLEAN_CHOICES = ( 677 ('', '---------'), 678 ('True', 'True'), 679 ('False', 'False'), 680 ) 681728 729683 super(MetadataObjectiveSettingsForm, self).__init__(*args, **kwargs) 684 685 # Objective Settings 686 687 # Correction Collar 688 try: 689 if kwargs['initial']['objectiveSettings'].correctionCollar is not None: 690 self.fields['correctionCollar'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['objectiveSettings'].id)+', \'correctionCollar\', this.value);'}), initial=kwargs['initial']['objectiveSettings'].correctionCollar, label="Correction collar", required=False) 691 else: 692 self.fields['correctionCollar'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['objectiveSettings'].id)+', \'correctionCollar\', this.value);'}), label="Correction collar", required=False) 693 self.fields['correctionCollar'].widget.attrs['disabled'] = True 694 self.fields['correctionCollar'].widget.attrs['class'] = 'disabled-metadata' 695 except: 696 self.fields['correctionCollar'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Correction collar", required=False) 697 self.fields['correctionCollar'].widget.attrs['disabled'] = True 698 self.fields['correctionCollar'].widget.attrs['class'] = 'disabled-metadata' 699 700 # Medium 701 try: 702 if kwargs['initial']['objectiveSettings'].getMedium() is not None: 703 self.fields['medium'] = MetadataModelChoiceField(queryset=kwargs['initial']['mediums'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['objectiveSettings'].id)+', \'medium\', this.options[this.selectedIndex].value);'}), initial=kwargs['initial']['objectiveSettings'].getMedium().value, required=False) 704 else: 705 self.fields['medium'] = MetadataModelChoiceField(queryset=kwargs['initial']['mediums'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['objectiveSettings'].id)+', \'medium\', this.options[this.selectedIndex].value);'}), required=False) 706 self.fields['medium'].widget.attrs['disabled'] = True 707 self.fields['medium'].widget.attrs['class'] = 'disabled-metadata' 708 except: 709 self.fields['medium'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 710 self.fields['medium'].widget.attrs['disabled'] = True 711 self.fields['medium'].widget.attrs['class'] = 'disabled-metadata' 712 713 # Refractive Index 714 try: 715 if kwargs['initial']['objectiveSettings'].refractiveIndex is not None: 716 self.fields['refractiveIndex'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['objectiveSettings'].id)+', \'refractiveIndex\', this.value);'}), initial=kwargs['initial']['objectiveSettings'].refractiveIndex, label="Refractive index", required=False) 717 else: 718 self.fields['refractiveIndex'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['objectiveSettings'].id)+', \'refractiveIndex\', this.value);'}), label="Refractive index", required=False) 719 self.fields['refractiveIndex'].widget.attrs['disabled'] = True 720 self.fields['refractiveIndex'].widget.attrs['class'] = 'disabled-metadata' 721 except: 722 self.fields['refractiveIndex'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Refractive index", required=False) 723 self.fields['refractiveIndex'].widget.attrs['disabled'] = True 724 self.fields['refractiveIndex'].widget.attrs['class'] = 'disabled-metadata' 725 726 727 self.fields.keyOrder = ['model', 'manufacturer', 'serialNumber', 'lotNumber', 'nominalMagnification', 'calibratedMagnification', 'lensNA', 'immersion', 'correction', 'workingDistance', 'iris', 'correctionCollar', 'medium', 'refractiveIndex']731881 882733 super(MetadataFilterForm, self).__init__(*args, **kwargs) 734 735 # Filter 736 737 # Manufacturer 738 try: 739 if kwargs['initial']['filter'].manufacturer is not None: 740 self.fields['manufacturer'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['filter'].id)+', \'manufacturer\', this.value);'}), initial=kwargs['initial']['filter'].manufacturer, required=False) 741 else: 742 self.fields['manufacturer'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['filter'].id)+', \'manufacturer\', this.value);'}), required=False) 743 self.fields['manufacturer'].widget.attrs['disabled'] = True 744 self.fields['manufacturer'].widget.attrs['class'] = 'disabled-metadata' 745 except: 746 self.fields['manufacturer'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 747 self.fields['manufacturer'].widget.attrs['disabled'] = True 748 self.fields['manufacturer'].widget.attrs['class'] = 'disabled-metadata' 749 750 # Model 751 try: 752 if kwargs['initial']['filter'].model is not None: 753 self.fields['model'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['filter'].id)+', \'model\', this.value);'}), initial=kwargs['initial']['filter'].model, required=False) 754 else: 755 self.fields['model'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['filter'].id)+', \'model\', this.value);'}), required=False) 756 self.fields['model'].widget.attrs['disabled'] = True 757 self.fields['model'].widget.attrs['class'] = 'disabled-metadata' 758 except: 759 self.fields['model'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 760 self.fields['model'].widget.attrs['disabled'] = True 761 self.fields['model'].widget.attrs['class'] = 'disabled-metadata' 762 763 # Serial Number 764 try: 765 if kwargs['initial']['filter'].serialNumber is not None: 766 self.fields['serialNumber'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['filter'].id)+', \'serialNumber\', this.value);'}), initial=kwargs['initial']['filter'].serialNumber, label="Serial number", required=False) 767 else: 768 self.fields['serialNumber'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['filter'].id)+', \'serialNumber\', this.value);'}), label="Serial number", required=False) 769 self.fields['serialNumber'].widget.attrs['disabled'] = True 770 self.fields['serialNumber'].widget.attrs['class'] = 'disabled-metadata' 771 except: 772 self.fields['serialNumber'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Serial number", required=False) 773 self.fields['serialNumber'].widget.attrs['disabled'] = True 774 self.fields['serialNumber'].widget.attrs['class'] = 'disabled-metadata' 775 776 # Lot number 777 try: 778 if kwargs['initial']['filter'].lotNumber is not None: 779 self.fields['lotNumber'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['filter'].id)+', \'lotNumber\', this.value);'}), initial=kwargs['initial']['filter'].lotNumber, label="Lot number", required=False) 780 else: 781 self.fields['lotNumber'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['filter'].id)+', \'lotNumber\', this.value);'}), label="Lot number", required=False) 782 self.fields['lotNumber'].widget.attrs['disabled'] = True 783 self.fields['lotNumber'].widget.attrs['class'] = 'disabled-metadata' 784 except: 785 self.fields['lotNumber'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Lot number", required=False) 786 self.fields['lotNumber'].widget.attrs['disabled'] = True 787 self.fields['lotNumber'].widget.attrs['class'] = 'disabled-metadata' 788 789 # Filter wheel 790 try: 791 if kwargs['initial']['filter'].filterWheel is not None: 792 self.fields['filterWheel'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['filter'].id)+', \'filterWheel\', this.value);'}), initial=kwargs['initial']['filter'].filterWheel, label="Filter wheel", required=False) 793 else: 794 self.fields['filterWheel'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['filter'].id)+', \'filterWheel\', this.value);'}), label="Filter wheel", required=False) 795 self.fields['filterWheel'].widget.attrs['disabled'] = True 796 self.fields['filterWheel'].widget.attrs['class'] = 'disabled-metadata' 797 except: 798 self.fields['filterWheel'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Filter wheel", required=False) 799 self.fields['filterWheel'].widget.attrs['disabled'] = True 800 self.fields['filterWheel'].widget.attrs['class'] = 'disabled-metadata' 801 802 # Type 803 try: 804 if kwargs['initial']['filter'].getFilterType() is not None: 805 self.fields['type'] = MetadataModelChoiceField(queryset=kwargs['initial']['types'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['filter'].id)+', \'type\', this.options[this.selectedIndex].value);'}), initial=kwargs['initial']['filter'].getFilterType().value, required=False) 806 else: 807 self.fields['type'] = MetadataModelChoiceField(queryset=kwargs['initial']['types'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['filter'].id)+', \'type\', this.options[this.selectedIndex].value);'}), required=False) 808 self.fields['type'].widget.attrs['disabled'] = True 809 self.fields['type'].widget.attrs['class'] = 'disabled-metadata' 810 except: 811 self.fields['type'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 812 self.fields['type'].widget.attrs['disabled'] = True 813 self.fields['type'].widget.attrs['class'] = 'disabled-metadata' 814 815 # Cut in 816 try: 817 if kwargs['initial']['filter'].transmittanceRange is not None: 818 self.fields['cutIn'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['filter'].id)+', \'cutIn\', this.value);'}), initial=kwargs['initial']['filter'].getTransmittanceRange().cutIn, label="Cut in", required=False) 819 else: 820 self.fields['cutIn'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['filter'].id)+', \'cutIn\', this.value);'}), label="Cut in", required=False) 821 self.fields['cutIn'].widget.attrs['disabled'] = True 822 self.fields['cutIn'].widget.attrs['class'] = 'disabled-metadata' 823 except: 824 self.fields['cutIn'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Cut in", required=False) 825 self.fields['cutIn'].widget.attrs['disabled'] = True 826 self.fields['cutIn'].widget.attrs['class'] = 'disabled-metadata' 827 828 # Cut out 829 try: 830 if kwargs['initial']['filter'].transmittanceRange is not None: 831 self.fields['cutOut'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['filter'].id)+', \'cutOut\', this.value);'}), initial=kwargs['initial']['filter'].getTransmittanceRange().cutOut, label="Cut out", required=False) 832 else: 833 self.fields['cutOut'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['filter'].id)+', \'cutOut\', this.value);'}), label="Cut out", required=False) 834 self.fields['cutOut'].widget.attrs['disabled'] = True 835 self.fields['cutOut'].widget.attrs['class'] = 'disabled-metadata' 836 except: 837 self.fields['cutOut'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Cut out", required=False) 838 self.fields['cutOut'].widget.attrs['disabled'] = True 839 self.fields['cutOut'].widget.attrs['class'] = 'disabled-metadata' 840 841 # Cut in tolerance 842 try: 843 if kwargs['initial']['filter'].transmittanceRange is not None: 844 self.fields['cutInTolerance'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['filter'].id)+', \'cutInTolerance\', this.value);'}), initial=kwargs['initial']['filter'].getTransmittanceRange().cutInTolerance, label="Cut in tolerance", required=False) 845 else: 846 self.fields['cutInTolerance'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['filter'].id)+', \'cutInTolerance\', this.value);'}), label="Cut in tolerance", required=False) 847 self.fields['cutInTolerance'].widget.attrs['disabled'] = True 848 self.fields['cutInTolerance'].widget.attrs['class'] = 'disabled-metadata' 849 except: 850 self.fields['cutInTolerance'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Cut in tolerance", required=False) 851 self.fields['cutInTolerance'].widget.attrs['disabled'] = True 852 self.fields['cutInTolerance'].widget.attrs['class'] = 'disabled-metadata' 853 854 # Cut on tolerance 855 try: 856 if kwargs['initial']['filter'].transmittanceRange is not None: 857 self.fields['cutOutTolerance'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['filter'].id)+', \'cutOut\', this.value);'}), initial=kwargs['initial']['filter'].getTransmittanceRange().cutOutTolerance, label="Cut out tolerance", required=False) 858 else: 859 self.fields['cutOutTolerance'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['filter'].id)+', \'cutOut\', this.value);'}), label="Cut out tolerance", required=False) 860 self.fields['cutOutTolerance'].widget.attrs['disabled'] = True 861 self.fields['cutOutTolerance'].widget.attrs['class'] = 'disabled-metadata' 862 except: 863 self.fields['cutOutTolerance'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Cut out tolerance", required=False) 864 self.fields['cutOutTolerance'].widget.attrs['disabled'] = True 865 self.fields['cutOutTolerance'].widget.attrs['class'] = 'disabled-metadata' 866 867 # Transmittance 868 try: 869 if kwargs['initial']['filter'].transmittanceRange is not None: 870 self.fields['transmittance'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['filter'].id)+', \'transmittance\', this.value);'}), initial=kwargs['initial']['filter'].getTransmittanceRange().transmittance, required=False) 871 else: 872 self.fields['transmittance'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['filter'].id)+', \'transmittance\', this.value);'}), required=False) 873 self.fields['transmittance'].widget.attrs['disabled'] = True 874 self.fields['transmittance'].widget.attrs['class'] = 'disabled-metadata' 875 except: 876 self.fields['transmittance'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 877 self.fields['transmittance'].widget.attrs['disabled'] = True 878 self.fields['transmittance'].widget.attrs['class'] = 'disabled-metadata' 879 880 self.fields.keyOrder = ['manufacturer', 'model', 'serialNumber', 'lotNumber', 'type', 'filterWheel', 'cutIn', 'cutOut', 'cutInTolerance', 'cutOutTolerance', 'transmittance']8841054 1055886 super(MetadataDetectorForm, self).__init__(*args, **kwargs) 887 888 # Filter 889 890 # Manufacturer 891 try: 892 if kwargs['initial']['detector'] is not None: 893 self.fields['manufacturer'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['detector'].id)+', \'manufacturer\', this.value);'}), initial=kwargs['initial']['detector'].manufacturer, required=False) 894 else: 895 self.fields['manufacturer'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['detector'].id)+', \'manufacturer\', this.value);'}), required=False) 896 self.fields['manufacturer'].widget.attrs['disabled'] = True 897 self.fields['manufacturer'].widget.attrs['class'] = 'disabled-metadata' 898 except: 899 self.fields['manufacturer'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 900 self.fields['manufacturer'].widget.attrs['disabled'] = True 901 self.fields['manufacturer'].widget.attrs['class'] = 'disabled-metadata' 902 903 # Model 904 try: 905 if kwargs['initial']['detector'] is not None: 906 self.fields['model'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['detector'].id)+', \'model\', this.value);'}), initial=kwargs['initial']['detector'].model, required=False) 907 else: 908 self.fields['model'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['detector'].id)+', \'model\', this.value);'}), required=False) 909 self.fields['model'].widget.attrs['disabled'] = True 910 self.fields['model'].widget.attrs['class'] = 'disabled-metadata' 911 except: 912 self.fields['model'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 913 self.fields['model'].widget.attrs['disabled'] = True 914 self.fields['model'].widget.attrs['class'] = 'disabled-metadata' 915 916 # SN 917 try: 918 if kwargs['initial']['detector'] is not None: 919 self.fields['serialNumber'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['detector'].id)+', \'serialNumber\', this.value);'}), initial=kwargs['initial']['detector'].serialNumber, required=False) 920 else: 921 self.fields['serialNumber'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['detector'].id)+', \'serialNumber\', this.value);'}), required=False) 922 self.fields['serialNumber'].widget.attrs['disabled'] = True 923 self.fields['serialNumber'].widget.attrs['class'] = 'disabled-metadata' 924 except: 925 self.fields['serialNumber'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 926 self.fields['serialNumber'].widget.attrs['disabled'] = True 927 self.fields['serialNumber'].widget.attrs['class'] = 'disabled-metadata' 928 929 # Lot number (NB. Untill OMERO model is updated in 4.3, this will throw since lotNumber is not yet supported) 930 try: 931 if kwargs['initial']['detector'] is not None: 932 self.fields['lotNumber'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['detector'].id)+', \'lotNumber\', this.value);'}), initial=kwargs['initial']['detector'].lotNumber, required=False) 933 else: 934 self.fields['lotNumber'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['detector'].id)+', \'lotNumber\', this.value);'}), required=False) 935 self.fields['lotNumber'].widget.attrs['disabled'] = True 936 self.fields['lotNumber'].widget.attrs['class'] = 'disabled-metadata' 937 except: 938 self.fields['lotNumber'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 939 self.fields['lotNumber'].widget.attrs['disabled'] = True 940 self.fields['lotNumber'].widget.attrs['class'] = 'disabled-metadata' 941 942 # Type 943 try: 944 if kwargs['initial']['detector'].getDetectorType() is not None: 945 self.fields['type'] = MetadataModelChoiceField(queryset=kwargs['initial']['types'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['detector'].id)+', \'type\', this.options[this.selectedIndex].value);'}), initial=kwargs['initial']['detector'].getDetectorType().value, required=False) 946 else: 947 self.fields['type'] = MetadataModelChoiceField(queryset=kwargs['initial']['types'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['detector'].id)+', \'type\', this.options[this.selectedIndex].value);'}), required=False) 948 self.fields['type'].widget.attrs['disabled'] = True 949 self.fields['type'].widget.attrs['class'] = 'disabled-metadata' 950 except: 951 self.fields['type'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 952 self.fields['type'].widget.attrs['disabled'] = True 953 self.fields['type'].widget.attrs['class'] = 'disabled-metadata' 954 955 # Gain 956 try: 957 if kwargs['initial']['detectorSettings'] is not None: 958 self.fields['gain'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['detectorSettings'].id)+', \'gain\', this.value);'}), initial=kwargs['initial']['detectorSettings'].gain, required=False) 959 elif kwargs['initial']['detector'] is not None: 960 self.fields['gain'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['detector'].id)+', \'gain\', this.value);'}), initial=kwargs['initial']['detector'].gain, required=False) 961 else: 962 self.fields['gain'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['detectorSettings'].id)+', \'gain\', this.value);'}), required=False) 963 self.fields['gain'].widget.attrs['disabled'] = True 964 self.fields['gain'].widget.attrs['class'] = 'disabled-metadata' 965 except: 966 self.fields['gain'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 967 self.fields['gain'].widget.attrs['disabled'] = True 968 self.fields['gain'].widget.attrs['class'] = 'disabled-metadata' 969 970 # Voltage 971 try: 972 if kwargs['initial']['detectorSettings'] is not None: 973 self.fields['voltage'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['detectorSettings'].id)+', \'voltage\', this.value);'}), initial=kwargs['initial']['detectorSettings'].voltage, required=False) 974 elif kwargs['initial']['detector'] is not None: 975 self.fields['voltage'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['detector'].id)+', \'voltage\', this.value);'}), initial=kwargs['initial']['detector'].voltage, required=False) 976 else: 977 self.fields['voltage'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['detectorSettings'].id)+', \'voltage\', this.value);'}), required=False) 978 self.fields['voltage'].widget.attrs['disabled'] = True 979 self.fields['voltage'].widget.attrs['class'] = 'disabled-metadata' 980 except: 981 self.fields['voltage'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 982 self.fields['voltage'].widget.attrs['disabled'] = True 983 self.fields['voltage'].widget.attrs['class'] = 'disabled-metadata' 984 985 # Offset 986 try: 987 if kwargs['initial']['detectorSettings'] is not None: 988 self.fields['offsetValue'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['detectorSettings'].id)+', \'offsetValue\', this.value);'}), initial=kwargs['initial']['detectorSettings'].offsetValue, label="Offset", required=False) 989 elif kwargs['initial']['detector'] is not None: 990 self.fields['offsetValue'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['detector'].id)+', \'offsetValue\', this.value);'}), initial=kwargs['initial']['detector'].offsetValue, label="Offset", required=False) 991 else: 992 self.fields['offsetValue'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['detectorSettings'].id)+', \'offsetValue\', this.value);'}), label="Offset", required=False) 993 self.fields['offsetValue'].widget.attrs['disabled'] = True 994 self.fields['offsetValue'].widget.attrs['class'] = 'disabled-metadata' 995 except: 996 self.fields['offsetValue'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Offset", required=False) 997 self.fields['offsetValue'].widget.attrs['disabled'] = True 998 self.fields['offsetValue'].widget.attrs['class'] = 'disabled-metadata' 999 1000 # Zoom 1001 try: 1002 if kwargs['initial']['detector'] is not None: 1003 self.fields['zoom'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['detector'].id)+', \'zoom\', this.value);'}), initial=kwargs['initial']['detector'].zoom, required=False) 1004 else: 1005 self.fields['zoom'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['detector'].id)+', \'voltage\', this.value);'}), required=False) 1006 self.fields['zoom'].widget.attrs['disabled'] = True 1007 self.fields['zoom'].widget.attrs['class'] = 'disabled-metadata' 1008 except: 1009 self.fields['zoom'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 1010 self.fields['zoom'].widget.attrs['disabled'] = True 1011 self.fields['zoom'].widget.attrs['class'] = 'disabled-metadata' 1012 1013 # Amplification gain 1014 try: 1015 if kwargs['initial']['detector'] is not None: 1016 self.fields['amplificationGain'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['detector'].id)+', \'amplificationGain\', this.value);'}), initial=kwargs['initial']['detector'].amplificationGain, label="Amplification gain", required=False) 1017 else: 1018 self.fields['amplificationGain'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['detector'].id)+', \'amplificationGain\', this.value);'}), label="Amplification gain", required=False) 1019 self.fields['amplificationGain'].widget.attrs['disabled'] = True 1020 self.fields['amplificationGain'].widget.attrs['class'] = 'disabled-metadata' 1021 except: 1022 self.fields['amplificationGain'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Amplification gain", required=False) 1023 self.fields['amplificationGain'].widget.attrs['disabled'] = True 1024 self.fields['amplificationGain'].widget.attrs['class'] = 'disabled-metadata' 1025 1026 # Read out rate 1027 try: 1028 if kwargs['initial']['detectorSettings'] is not None: 1029 self.fields['readOutRate'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['detectorSettings'].id)+', \'readOutRate\', this.value);'}), initial=kwargs['initial']['detectorSettings'].readOutRate, label="Read out rate", required=False) 1030 else: 1031 self.fields['readOutRate'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['detectorSettings'].id)+', \'readOutRate\', this.value);'}), label="Read out rate", required=False) 1032 self.fields['readOutRate'].widget.attrs['disabled'] = True 1033 self.fields['readOutRate'].widget.attrs['class'] = 'disabled-metadata' 1034 except: 1035 self.fields['readOutRate'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Read out rate", required=False) 1036 self.fields['readOutRate'].widget.attrs['disabled'] = True 1037 self.fields['readOutRate'].widget.attrs['class'] = 'disabled-metadata' 1038 1039 # Binning 1040 try: 1041 if kwargs['initial']['detectorSettings'] is not None: 1042 self.fields['binning'] = MetadataModelChoiceField(queryset=kwargs['initial']['binnings'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['detectorSettings'].id)+', \'type\', this.options[this.selectedIndex].value);'}), initial=kwargs['initial']['detectorSettings'].getBinning().value, required=False) 1043 else: 1044 self.fields['binning'] = MetadataModelChoiceField(queryset=kwargs['initial']['binnings'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['detectorSettings'].id)+', \'type\', this.options[this.selectedIndex].value);'}), required=False) 1045 self.fields['binning'].widget.attrs['disabled'] = True 1046 self.fields['binning'].widget.attrs['class'] = 'disabled-metadata' 1047 except: 1048 self.fields['binning'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 1049 self.fields['binning'].widget.attrs['disabled'] = True 1050 self.fields['binning'].widget.attrs['class'] = 'disabled-metadata' 1051 1052 1053 self.fields.keyOrder = ['manufacturer', 'model', 'serialNumber', 'lotNumber', 'type', 'gain', 'voltage', 'offsetValue', 'zoom', 'amplificationGain', 'readOutRate', 'binning']1057 1058 BOOLEAN_CHOICES = ( 1059 ('', '---------'), 1060 ('True', 'True'), 1061 ('False', 'False'), 1062 ) 10631252 12531065 super(MetadataLightSourceForm, self).__init__(*args, **kwargs) 1066 1067 # Filter 1068 1069 # Manufacturer 1070 try: 1071 if kwargs['initial']['lightSource'].manufacturer is not None: 1072 self.fields['manufacturer'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'model\', this.value);'}), initial=kwargs['initial']['lightSource'].manufacturer, required=False) 1073 else: 1074 self.fields['manufacturer'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'model\', this.value);'}), required=False) 1075 self.fields['manufacturer'].widget.attrs['disabled'] = True 1076 self.fields['manufacturer'].widget.attrs['class'] = 'disabled-metadata' 1077 except: 1078 self.fields['manufacturer'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 1079 self.fields['manufacturer'].widget.attrs['disabled'] = True 1080 self.fields['manufacturer'].widget.attrs['class'] = 'disabled-metadata' 1081 1082 # Model 1083 try: 1084 if kwargs['initial']['lightSource'].model is not None: 1085 self.fields['model'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'model\', this.value);'}), initial=kwargs['initial']['lightSource'].model, required=False) 1086 else: 1087 self.fields['model'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'model\', this.value);'}), required=False) 1088 self.fields['model'].widget.attrs['disabled'] = True 1089 self.fields['model'].widget.attrs['class'] = 'disabled-metadata' 1090 except: 1091 self.fields['model'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 1092 self.fields['model'].widget.attrs['disabled'] = True 1093 self.fields['model'].widget.attrs['class'] = 'disabled-metadata' 1094 1095 # Serial Number 1096 try: 1097 if kwargs['initial']['lightSource'].serialNumber is not None: 1098 self.fields['serialNumber'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'serialNumber\', this.value);'}), initial=kwargs['initial']['lightSource'].serialNumber, label="Serial number", required=False) 1099 else: 1100 self.fields['serialNumber'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'serialNumber\', this.value);'}), label="Serial number", required=False) 1101 self.fields['serialNumber'].widget.attrs['disabled'] = True 1102 self.fields['serialNumber'].widget.attrs['class'] = 'disabled-metadata' 1103 except: 1104 self.fields['serialNumber'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Serial number", required=False) 1105 self.fields['serialNumber'].widget.attrs['disabled'] = True 1106 self.fields['serialNumber'].widget.attrs['class'] = 'disabled-metadata' 1107 1108 # Lot Number 1109 try: 1110 if kwargs['initial']['lightSource'].lotNumber is not None: 1111 self.fields['lotNumber'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'lotNumber\', this.value);'}), initial=kwargs['initial']['lightSource'].lotNumber, label="Lot number", required=False) 1112 else: 1113 self.fields['lotNumber'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'lotNumber\', this.value);'}), label="Lot number", required=False) 1114 self.fields['lotNumber'].widget.attrs['disabled'] = True 1115 self.fields['lotNumber'].widget.attrs['class'] = 'disabled-metadata' 1116 except: 1117 self.fields['lotNumber'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Lot number", required=False) 1118 self.fields['lotNumber'].widget.attrs['disabled'] = True 1119 self.fields['lotNumber'].widget.attrs['class'] = 'disabled-metadata' 1120 1121 # Power 1122 try: 1123 if kwargs['initial']['lightSource'].power is not None: 1124 self.fields['power'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'power\', this.value);'}), initial=kwargs['initial']['lightSource'].power, required=False) 1125 else: 1126 self.fields['power'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'power\', this.value);'}), required=False) 1127 self.fields['power'].widget.attrs['disabled'] = True 1128 self.fields['power'].widget.attrs['class'] = 'disabled-metadata' 1129 except: 1130 self.fields['power'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 1131 self.fields['power'].widget.attrs['disabled'] = True 1132 self.fields['power'].widget.attrs['class'] = 'disabled-metadata' 1133 1134 # Type 1135 try: 1136 if kwargs['initial']['lightSource'].getLightSourceType() is not None: 1137 self.fields['lstype'] = MetadataModelChoiceField(queryset=kwargs['initial']['lstypes'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'type\', this.options[this.selectedIndex].value);'}), label="Type", initial=kwargs['initial']['lightSource'].getLightSourceType().value, required=False) 1138 else: 1139 self.fields['lstype'] = MetadataModelChoiceField(queryset=kwargs['initial']['lstypes'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'type\', this.options[this.selectedIndex].value);'}), label="Type", required=False) 1140 self.fields['lstype'].widget.attrs['disabled'] = True 1141 self.fields['lstype'].widget.attrs['class'] = 'disabled-metadata' 1142 except: 1143 self.fields['lstype'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Type", required=False) 1144 self.fields['lstype'].widget.attrs['disabled'] = True 1145 self.fields['lstype'].widget.attrs['class'] = 'disabled-metadata' 1146 1147 # Medium 1148 try: 1149 if kwargs['initial']['lightSource'].getLaserMedium() is not None: 1150 self.fields['lmedium'] = MetadataModelChoiceField(queryset=kwargs['initial']['mediums'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'medium\', this.options[this.selectedIndex].value);'}), initial=kwargs['initial']['lightSource'].getLaserMedium().value, label="Medium", required=False) 1151 else: 1152 self.fields['lmedium'] = MetadataModelChoiceField(queryset=kwargs['initial']['mediums'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'medium\', this.options[this.selectedIndex].value);'}), label="Medium", required=False) 1153 self.fields['lmedium'].widget.attrs['disabled'] = True 1154 self.fields['lmedium'].widget.attrs['class'] = 'disabled-metadata' 1155 except: 1156 self.fields['lmedium'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Medium", required=False) 1157 self.fields['lmedium'].widget.attrs['disabled'] = True 1158 self.fields['lmedium'].widget.attrs['class'] = 'disabled-metadata' 1159 1160 # Wavelength 1161 try: 1162 if kwargs['initial']['lightSource'].wavelength is not None: 1163 self.fields['wavelength'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'wavelength\', this.value);'}), initial=kwargs['initial']['lightSource'].wavelength, required=False) 1164 else: 1165 self.fields['wavelength'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'wavelength\', this.value);'}), required=False) 1166 self.fields['wavelength'].widget.attrs['disabled'] = True 1167 self.fields['wavelength'].widget.attrs['class'] = 'disabled-metadata' 1168 except: 1169 self.fields['wavelength'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 1170 self.fields['wavelength'].widget.attrs['disabled'] = True 1171 self.fields['wavelength'].widget.attrs['class'] = 'disabled-metadata' 1172 1173 # FrequencyMultiplication 1174 try: 1175 if kwargs['initial']['lightSource'].frequencyMultiplication is not None: 1176 self.fields['frequencyMultiplication'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'frequencyMultiplication\', this.value);'}), initial=kwargs['initial']['lightSource'].frequencyMultiplication, label="Frequency Multiplication", required=False) 1177 else: 1178 self.fields['frequencyMultiplication'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'frequencyMultiplication\', this.value);'}), label="Frequency Multiplication", required=False) 1179 self.fields['frequencyMultiplication'].widget.attrs['disabled'] = True 1180 self.fields['frequencyMultiplication'].widget.attrs['class'] = 'disabled-metadata' 1181 except: 1182 self.fields['frequencyMultiplication'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Frequency Multiplication", required=False) 1183 self.fields['frequencyMultiplication'].widget.attrs['disabled'] = True 1184 self.fields['frequencyMultiplication'].widget.attrs['class'] = 'disabled-metadata' 1185 1186 # Tuneable 1187 try: 1188 if kwargs['initial']['lightSource'].tuneable is not None: 1189 self.fields['tuneable'] = forms.ChoiceField(choices=self.BOOLEAN_CHOICES, widget=forms.Select(attrs={'onchange':'javascript:saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'tuneable\', this.options[this.selectedIndex].value);'}), initial=kwargs['initial']['lightSource'].tuneable, required=False) 1190 else: 1191 self.fields['tuneable'] = forms.ChoiceField(choices=self.BOOLEAN_CHOICES, widget=forms.Select(attrs={'onchange':'javascript:saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'tuneable\', this.options[this.selectedIndex].value);'}), required=False) 1192 self.fields['tuneable'].widget.attrs['disabled'] = True 1193 self.fields['tuneable'].widget.attrs['class'] = 'disabled-metadata' 1194 except: 1195 self.fields['tuneable'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 1196 self.fields['tuneable'].widget.attrs['disabled'] = True 1197 self.fields['tuneable'].widget.attrs['class'] = 'disabled-metadata' 1198 1199 # Pulse 1200 try: 1201 if kwargs['initial']['lightSource'].pulse is not None: 1202 self.fields['pulse'] = MetadataModelChoiceField(queryset=kwargs['initial']['pulses'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'pulse\', this.options[this.selectedIndex].value);'}), initial=kwargs['initial']['lightSource'].pulse, required=False) 1203 else: 1204 self.fields['pulse'] = MetadataModelChoiceField(queryset=kwargs['initial']['pulses'], empty_label=u"Not set", widget=forms.Select(attrs={'onchange':'saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'pulse\', this.options[this.selectedIndex].value);'}), required=False) 1205 self.fields['pulse'].widget.attrs['disabled'] = True 1206 self.fields['pulse'].widget.attrs['class'] = 'disabled-metadata' 1207 except: 1208 self.fields['pulse'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 1209 self.fields['pulse'].widget.attrs['disabled'] = True 1210 self.fields['pulse'].widget.attrs['class'] = 'disabled-metadata' 1211 1212 # Repetition Rate 1213 try: 1214 if kwargs['initial']['lightSource'].repetitionRate is not None: 1215 self.fields['repetitionRate'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'repetitionRate\', this.value);'}), initial=kwargs['initial']['lightSource'].repetitionRate, label="Repetition rate", required=False) 1216 else: 1217 self.fields['repetitionRate'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'repetitionRate\', this.value);'}), label="Repetition rate", required=False) 1218 self.fields['repetitionRate'].widget.attrs['disabled'] = True 1219 self.fields['repetitionRate'].widget.attrs['class'] = 'disabled-metadata' 1220 except: 1221 self.fields['repetitionRate'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Repetition rate", required=False) 1222 self.fields['repetitionRate'].widget.attrs['disabled'] = True 1223 self.fields['repetitionRate'].widget.attrs['class'] = 'disabled-metadata' 1224 1225 # Pockel Cell 1226 try: 1227 if kwargs['initial']['lightSource'].pockelCell is not None: 1228 self.fields['pockelCell'] = forms.ChoiceField(choices=self.BOOLEAN_CHOICES, widget=forms.Select(attrs={'onchange':'javascript:saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'pockelCell\', this.options[this.selectedIndex].value);'}), initial=kwargs['initial']['lightSource'].pockelCell, label="Pockel Cell", required=False) 1229 else: 1230 self.fields['pockelCell'] = forms.ChoiceField(choices=self.BOOLEAN_CHOICES, widget=forms.Select(attrs={'onchange':'javascript:saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'pockelCell\', this.options[this.selectedIndex].value);'}), label="Pockel Cell", required=False) 1231 self.fields['pockelCell'].widget.attrs['disabled'] = True 1232 self.fields['pockelCell'].widget.attrs['class'] = 'disabled-metadata' 1233 except: 1234 self.fields['pockelCell'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Pockel Cell", required=False) 1235 self.fields['pockelCell'].widget.attrs['disabled'] = True 1236 self.fields['pockelCell'].widget.attrs['class'] = 'disabled-metadata' 1237 1238 # Attenuation 1239 #try: 1240 # if kwargs['initial']['lightSource'].attenuation is not None: 1241 # self.fields['attenuation'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'attenuation\', this.value);'}), initial=kwargs['initial']['lightSource'].attenuation, required=False) 1242 # else: 1243 # self.fields['attenuation'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['lightSource'].id)+', \'attenuation\', this.value);'}), required=False) 1244 # self.fields['attenuation'].widget.attrs['disabled'] = True 1245 # self.fields['attenuation'].widget.attrs['class'] = 'disabled-metadata' 1246 #except: 1247 # self.fields['attenuation'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 1248 # self.fields['attenuation'].widget.attrs['disabled'] = True 1249 # self.fields['attenuation'].widget.attrs['class'] = 'disabled-metadata' 1250 1251 self.fields.keyOrder = ['manufacturer', 'model', 'serialNumber', 'lotNumber', 'power', 'lstype', 'lmedium', 'wavelength', 'frequencyMultiplication', 'tuneable', 'pulse' , 'repetitionRate', 'pockelCell']125513141257 super(MetadataEnvironmentForm, self).__init__(*args, **kwargs) 1258 1259 # Imaging environment 1260 1261 # Temperature 1262 try: 1263 if kwargs['initial']['image'].getImagingEnvironment().temperature is not None: 1264 self.fields['temperature'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['image'].id)+', \'temperature\', this.value);'}), initial=kwargs['initial']['image'].getImagingEnvironment().temperature, required=False) 1265 else: 1266 self.fields['temperature'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['image'].id)+', \'temperature\', this.value);'}), required=False) 1267 self.fields['temperature'].widget.attrs['disabled'] = True 1268 self.fields['temperature'].widget.attrs['class'] = 'disabled-metadata' 1269 except: 1270 self.fields['temperature'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 1271 self.fields['temperature'].widget.attrs['disabled'] = True 1272 self.fields['temperature'].widget.attrs['class'] = 'disabled-metadata' 1273 1274 # Air Pressure 1275 try: 1276 if kwargs['initial']['image'].getImagingEnvironment().airPressure is not None: 1277 self.fields['airPressure'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['image'].id)+', \'airPressure\', this.value);'}), initial=kwargs['initial']['image'].getImagingEnvironment().airPressure, label="Air Pressure", required=False) 1278 else: 1279 self.fields['airPressure'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['image'].id)+', \'airPressure\', this.value);'}), label="Air Pressure", required=False) 1280 self.fields['airPressure'].widget.attrs['disabled'] = True 1281 self.fields['airPressure'].widget.attrs['class'] = 'disabled-metadata' 1282 except: 1283 self.fields['airPressure'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), label="Air Pressure", initial="N/A", required=False) 1284 self.fields['airPressure'].widget.attrs['disabled'] = True 1285 self.fields['airPressure'].widget.attrs['class'] = 'disabled-metadata' 1286 1287 # Humidity 1288 try: 1289 if kwargs['initial']['image'].getImagingEnvironment().humidity is not None: 1290 self.fields['humidity'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['image'].id)+', \'humidity\', this.value);'}), initial=kwargs['initial']['image'].getImagingEnvironment().humidity, required=False) 1291 else: 1292 self.fields['humidity'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['image'].id)+', \'humidity\', this.value);'}), required=False) 1293 self.fields['humidity'].widget.attrs['disabled'] = True 1294 self.fields['humidity'].widget.attrs['class'] = 'disabled-metadata' 1295 except: 1296 self.fields['humidity'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", required=False) 1297 self.fields['humidity'].widget.attrs['disabled'] = True 1298 self.fields['humidity'].widget.attrs['class'] = 'disabled-metadata' 1299 1300 # CO2 percent 1301 try: 1302 if kwargs['initial']['image'].getImagingEnvironment().co2percent is not None: 1303 self.fields['co2percent'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['image'].id)+', \'co2percent\', this.value);'}), initial=kwargs['initial']['image'].getImagingEnvironment().co2percent, label="CO2 [%]", required=False) 1304 else: 1305 self.fields['co2percent'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['image'].id)+', \'co2percent\', this.value);'}), label="CO2 [%]", required=False) 1306 self.fields['co2percent'].widget.attrs['disabled'] = True 1307 self.fields['co2percent'].widget.attrs['class'] = 'disabled-metadata' 1308 except: 1309 self.fields['co2percent'] = forms.CharField(max_length=10, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="CO2 [%]", required=False) 1310 self.fields['co2percent'].widget.attrs['disabled'] = True 1311 self.fields['co2percent'].widget.attrs['class'] = 'disabled-metadata' 1312 1313 self.fields.keyOrder = ['airPressure', 'co2percent', 'humidity', 'temperature']131613621318 super(MetadataStageLabelForm, self).__init__(*args, **kwargs) 1319 1320 # Stage label 1321 1322 # Position x 1323 try: 1324 if kwargs['initial']['image'].getStageLabel() is not None: 1325 self.fields['positionx'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['image'].id)+', \'positionx\', this.value);'}), initial=kwargs['initial']['image'].getStageLabel().positionx, label="Position X", required=False) 1326 else: 1327 self.fields['positionx'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['image'].id)+', \'positionx\', this.value);'}), label="Position X", required=False) 1328 self.fields['positionx'].widget.attrs['disabled'] = True 1329 self.fields['positionx'].widget.attrs['class'] = 'disabled-metadata' 1330 except: 1331 self.fields['positionx'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Position X", required=False) 1332 self.fields['positionx'].widget.attrs['disabled'] = True 1333 self.fields['positionx'].widget.attrs['class'] = 'disabled-metadata' 1334 1335 # Position y 1336 try: 1337 if kwargs['initial']['image'].getStageLabel() is not None: 1338 self.fields['positiony'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['image'].id)+', \'positiony\', this.value);'}), initial=kwargs['initial']['image'].getStageLabel().positiony, label="Position Y", required=False) 1339 else: 1340 self.fields['positiony'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['image'].id)+', \'positiony\', this.value);'}), label="Position Y", required=False) 1341 self.fields['positiony'].widget.attrs['disabled'] = True 1342 self.fields['positiony'].widget.attrs['class'] = 'disabled-metadata' 1343 except: 1344 self.fields['positiony'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Position Y", required=False) 1345 self.fields['positiony'].widget.attrs['disabled'] = True 1346 self.fields['positiony'].widget.attrs['class'] = 'disabled-metadata' 1347 1348 # Position z 1349 try: 1350 if kwargs['initial']['image'].getStageLabel() is not None: 1351 self.fields['positionz'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['image'].id)+', \'positionz\', this.value);'}), initial=kwargs['initial']['image'].getStageLabel().positionz, label="Position Z", required=False) 1352 else: 1353 self.fields['positionz'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25, 'onchange':'javascript:saveMetadata('+str(kwargs['initial']['image'].id)+', \'positionz\', this.value);'}), label="Position Z", required=False) 1354 self.fields['positionz'].widget.attrs['disabled'] = True 1355 self.fields['positionz'].widget.attrs['class'] = 'disabled-metadata' 1356 except: 1357 self.fields['positionz'] = forms.CharField(max_length=100, widget=forms.TextInput(attrs={'size':25}), initial="N/A", label="Position Z", required=False) 1358 self.fields['positionz'].widget.attrs['disabled'] = True 1359 self.fields['positionz'].widget.attrs['class'] = 'disabled-metadata' 1360 1361 self.fields.keyOrder = ['positionx', 'positiony', 'positionz']
Trees | Indices | Help |
|
---|
Generated by Epydoc 3.0.1 on Tue Sep 23 15:04:58 2014 | http://epydoc.sourceforge.net |