Example #1
0
	def update_storable(self, req, form, storable):
		"""
		@see: L{modu.editable.define.definition.update_storable()}
		"""
		save_format = self.get('save_format', 'timestamp')
		
		if(self.get('read_only')):
			if(self.get('default_now', False) and not storable.get_id()):
				if(save_format == 'timestamp'):
					setattr(storable, self.get_column_name(), int(time.time()))
				else:
					setattr(storable, self.get_column_name(), datetime.datetime.now())
			return True
		
		data = form[self.name]['date']
		
		if(data.attr('null', 0)):
			setattr(storable, self.get_column_name(), None)
			return True
		
		date_data = req.data[form.name][self.name].get('date', None)
		# if it's not a dict, it must be None, or broken
		if(isinstance(date_data, dict)):
			value = date.get_dateselect_value(date_data, self.get('style', 'datetime'))
		else:
			value = None
		
		if(save_format == 'timestamp'):
			setattr(storable, self.get_column_name(), date.convert_to_timestamp(value))
		else:
			setattr(storable, self.get_column_name(), value)
		
		return True
Example #2
0
	def update_storable(self, req, form, storable):
		if(form[self.name].attr('checked', False)):
			value = datetime.datetime.now()
			save_format = self.get('save_format', 'timestamp')
			if(save_format == 'timestamp'):
				setattr(storable, self.get_column_name(), date.convert_to_timestamp(value))
			else:
				setattr(storable, self.get_column_name(), value)
		
		return True
Example #3
0
	def theme_time(self, form_id, element):
		import time
		attribs = element.attr('attributes', {})
		
		hours, minutes = date.get_time_arrays()
		
		value = date.convert_to_timestamp(element.attr('value', None))
		
		if(value is None):
			hour, minute = ('00', '00')
		else:
			hour, minute = time.strftime('%H:%M', time.localtime(value)).split(':')
		
		arrays = (hours, minutes)
		values = (hour, minute)
		names = ('hour', 'minute')
		
		return self._generate_datetime_select(element, attribs, arrays, values, names)