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
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
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)