Naresh(OpenERP) has proposed merging 
lp:~openerp-dev/openobject-client/trunk-bug-818048-nch into 
lp:openobject-client.

Requested reviews:
  OpenERP sa GTK client R&D (openerp-dev-gtk)
Related bugs:
  Bug #818048 in OpenERP GTK Client: "calander view problem with date "
  https://bugs.launchpad.net/openobject-client/+bug/818048

For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-client/trunk-bug-818048-nch/+merge/70533
-- 
https://code.launchpad.net/~openerp-dev/openobject-client/trunk-bug-818048-nch/+merge/70533
Your team OpenERP sa GTK client R&D is requested to review the proposed merge 
of lp:~openerp-dev/openobject-client/trunk-bug-818048-nch into 
lp:openobject-client.
=== modified file 'bin/widget/view/calendar_gtk/parser.py'
--- bin/widget/view/calendar_gtk/parser.py	2011-05-31 13:29:43 +0000
+++ bin/widget/view/calendar_gtk/parser.py	2011-08-05 09:32:34 +0000
@@ -41,6 +41,12 @@
 import widget.model.field as wmodel_fields
 import tools
 
+DT_SERVER_FORMATS = {
+          'datetime': '%Y-%m-%d %H:%M:%S',
+          'date': '%Y-%m-%d',
+          'time': '%H:%M:%S'
+        }
+
 COLOR_PALETTE = ['#f57900', '#cc0000', '#d400a8', '#75507b', '#3465a4', '#73d216', '#c17d11', '#edd400',
                  '#fcaf3e', '#ef2929', '#ff00c9', '#ad7fa8', '#729fcf', '#8ae234', '#e9b96e', '#fce94f',
                  '#ff8e00', '#ff0000', '#b0008c', '#9000ff', '#0078ff', '#00ff00', '#e6ff00', '#ffff00',
@@ -136,8 +142,6 @@
         self.glade.signal_connect('on_button_month_clicked', self._change_view, 'month')
 
         self.date = datetime.today()
-        self.server_format = '%Y-%m-%d %H:%M:%S'
-
         self.string = attrs.get('string', '')
         self.date_start = attrs.get('date_start')
         self.date_delay = attrs.get('date_delay')
@@ -394,19 +398,11 @@
                 events.append(e)
         return events
 
-    def __convert(self, event):
-        # method from eTiny
-        DT_SERVER_FORMATS = {
-          'datetime': '%Y-%m-%d %H:%M:%S',
-          'date': '%Y-%m-%d',
-          'time': '%H:%M:%S'
-        }
+    def __convert(self, event, date_start_fmt, date_stop_fmt):
 
-        fields = [x for x in [self.date_start, self.date_stop] if x]
-        for fld in fields:
+        fields = [x for x in [(self.date_start, date_start_fmt), (self.date_stop, date_stop_fmt)] if x[0]]
+        for fld, fmt in fields:
             typ = self.fields[fld]['type']
-            fmt = DT_SERVER_FORMATS[typ]
-
             if event[fld] and fmt:
                 event[fld] = time.strptime(event[fld][:19], fmt)
 
@@ -425,9 +421,13 @@
 
         event = model.value.copy()
         # Converts the dates according to the timezone in calendar view
-        event[self.date_start] = tools.datetime_util.server_to_local_timestamp(event.get(self.date_start), self.server_format, self.server_format, tz_offset=True, ignore_unparsable_time=False)
-        event[self.date_stop] = tools.datetime_util.server_to_local_timestamp(event.get(self.date_stop), self.server_format, self.server_format, tz_offset=True, ignore_unparsable_time=False)
-        self.__convert(event)
+        date_start_fmt = self.date_start and DT_SERVER_FORMATS[self.fields[self.date_start]['type']] or False
+        date_stop_fmt = self.date_stop and DT_SERVER_FORMATS[self.fields[self.date_stop]['type']] or False
+        if date_start_fmt:
+            event[self.date_start] = tools.datetime_util.server_to_local_timestamp(event.get(self.date_start), date_start_fmt, date_start_fmt, tz_offset=True, ignore_unparsable_time=False)
+        if date_stop_fmt:
+            event[self.date_stop] = tools.datetime_util.server_to_local_timestamp(event.get(self.date_stop), date_stop_fmt, date_stop_fmt, tz_offset=True, ignore_unparsable_time=False)
+        self.__convert(event, date_start_fmt=date_start_fmt, date_stop_fmt=date_stop_fmt)
 
         caption = ''
         description = []

_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help   : https://help.launchpad.net/ListHelp

Reply via email to