reindroduce the start_ts in the eventsession iline view
authorymh <ymh.work@gmail.com>
Sat, 25 Oct 2014 00:22:48 +0200
changeset 63 289049253263
parent 62 b1f7ab026ddb
child 64 2f5d0e9fe7b5
reindroduce the start_ts in the eventsession iline view
annot-server/webapp/admin.py
--- a/annot-server/webapp/admin.py	Fri Oct 24 21:12:18 2014 +0200
+++ b/annot-server/webapp/admin.py	Sat Oct 25 00:22:48 2014 +0200
@@ -62,13 +62,32 @@
 
     return Markup("<a href=\"%s\" target=\"_blank\">Lien</a> :<br/><input value=\"%s\"/><br/>Code embed :<input value=\"%s\"/>" % (url, url, embed))
 
+class StartTSField(dateutil_fields.DateTimeField):
+    def __init__(self, *args, **kwargs):
+        if 'display_format' not in kwargs:
+            kwargs['display_format']='iso'
+        super(StartTSField, self).__init__(*args, **kwargs)
+
+    def _value(self):
+        if self.raw_data:
+            return ' '.join(self.raw_data)
+        elif self.display_format == 'iso':
+            return self.data and self.data.isoformat() or ''
+        else:
+            return self.data and self.data.strftime(self.display_format) or ''
+
+    def process_formdata(self, valuelist):
+        super(StartTSField, self).process_formdata(valuelist)
+        if self.data and self.data.tzinfo is None:
+            self.data = self.data.replace(tzinfo=tzutc())
+
 
 class EventView(ModelView):
     column_searchable_list = ('code', 'label')
     column_list = ('code', 'label', 'start_date', 'active')
     column_filters = ('code', 'label', 'start_date', 'active')
     form_create_rules = ('code', 'label', 'description', 'start_date')
-    inline_models = [(models.EventSession, { 'form_columns': ['id', 'order', 'project_id']})]
+    inline_models = [(models.EventSession, {'form_overrides': { "start_ts": StartTSField, },}})]
 
     def __init__(self, session, **kwargs):
         super(EventView, self).__init__(models.Event, session, **kwargs)
@@ -94,26 +113,6 @@
         return DictToJSONField(**field_args)
 
 
-class StartTSField(dateutil_fields.DateTimeField):
-    def __init__(self, *args, **kwargs):
-        if 'display_format' not in kwargs:
-            kwargs['display_format']='iso'
-        super(StartTSField, self).__init__(*args, **kwargs)
-
-    def _value(self):
-        if self.raw_data:
-            return ' '.join(self.raw_data)
-        elif self.display_format == 'iso':
-            return self.data and self.data.isoformat() or ''
-        else:
-            return self.data and self.data.strftime(self.display_format) or ''
-
-    def process_formdata(self, valuelist):
-        super(StartTSField, self).process_formdata(valuelist)
-        if self.data and self.data.tzinfo is None:
-            self.data = self.data.replace(tzinfo=tzutc())
-
-
 class EventSessionView(ModelView):
 
     column_default_sort = ( models.Event.code, True)