Changeset 345
- Timestamp:
- 05/06/08 10:49:49 (7 months ago)
- Files:
-
- trunk/src/dm/view/base.py (modified) (1 diff)
- trunk/src/dm/view/manipulator.py (modified) (2 diffs)
- trunk/src/dm/webkit/__init__.py (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/src/dm/view/base.py
r342 r345 1183 1183 1184 1184 def getInitialParams(self): 1185 domainObject = self.getManipulatedDomainObject()1186 return domainObject.asRequestParams()1185 manipulator = self.getManipulator() 1186 return manipulator.getUpdateParams() 1187 1187 1188 1188 def manipulateDomainObject(self): trunk/src/dm/view/manipulator.py
r310 r345 317 317 for metaAttr in self.metaObject.attributes: 318 318 if not metaAttr.isAssociateList: 319 # Todo: Fix this up to check the fields like update(). 319 320 if self.data.has_key(metaAttr.name): 320 321 attrValue = metaAttr.makeValueFromMultiValueDict( … … 384 385 return field 385 386 return None 387 388 def getUpdateParams(self): 389 return self.domainObject.asRequestParams() 386 390 387 391 trunk/src/dm/webkit/__init__.py
r315 r345 15 15 from django.forms import Manipulator 16 16 from django.forms import SelectField, SelectMultipleField, TextField 17 from django.forms import LargeTextField, PasswordField, IntegerField 18 from django.forms import URLField, CheckboxField, DatetimeField, DateField 17 from django.forms import TextField, LargeTextField 18 from django.forms import PasswordField, IntegerField, SmallIntegerField 19 from django.forms import URLField, CheckboxField 20 from django.forms import DatetimeField, DateField, TimeField 19 21 from django.forms import FileUploadField, EmailField, RadioSelectField 20 22 from django.core.validators import ValidationError … … 55 57 56 58 57 # Django extensions, without a home. 59 ## Django extensions, without a home. Perhaps push back into ScanBooker? 60 # 61 58 62 if webkitName == 'django': 59 63 … … 62 66 ransi_date_re = sre.compile('^%s$' % _rdatere) 63 67 64 class RDateField(TextField): 65 """A FormField that automatically converts its data to a datetime.date objec 66 t. 68 class RDateField(DateField): 69 """Automatically converts its data to a datetime.date object. 67 70 The data should be in the format DD-MM-YYYY""" 68 def __init__(self, field_name, is_required=False, validator_list=None):69 if validator_list is None: validator_list = []70 validator_list = [self.isValidDate] + validator_list71 TextField.__init__(self, field_name, length=10, maxlength=10,72 is_required=is_required, validator_list=validator_list)73 71 74 72 def isValidDate(self, field_data, all_data): … … 78 76 'Enter a valid date in DD-MM-YYYY format.' 79 77 ) 80 except validators.ValidationError, e:78 except ValidationError, e: 81 79 raise validators.CriticalValidationError, e.messages 82 80 … … 85 83 import time, datetime 86 84 try: 87 t ime_tuple= time.strptime(data, '%d-%m-%Y')88 return datetime.date( *time_tuple[0:3])85 t = time.strptime(data, '%d-%m-%Y') 86 return datetime.date(t[0], t[1], t[2]) 89 87 except (ValueError, TypeError): 90 88 return None 89 91 90 html2python = staticmethod(html2python) 92 93 def render(self, data): 94 return super(RDateField, self).render(data) 95 96 91
