diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Planning_generateAxis.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Planning_generateAxis.xml
deleted file mode 100644
index 233a5e41e68a57cf8145a51722f569931235c7cc..0000000000000000000000000000000000000000
--- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Planning_generateAxis.xml
+++ /dev/null
@@ -1,496 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.PythonScripts.PythonScript</string>
-          <string>PythonScript</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Python_magic</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>__ac_local_roles__</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string encoding="cdata"><![CDATA[
-
-# In all cases, return list structure containing tuple of information\n
-# 1 tuple == 1 group\n
-# tuple is of the form :\n
-# [ relative position, title, tooltip, delimiter_type]\n
-# with delimiter type in 0,1,2\n
-\n
-if isinstance(axis_start,DateTime):\n
-  # testing delimiter_type to apply (day, week, month, year)\n
-  # from smallest type to biggest\n
-  type_list = [ [\'year\',   365],\n
-                [\'6months\',182],\n
-                [\'3months\', 91],\n
-                [\'month\',   30],\n
-                [\'1/2month\',15],\n
-                [\'week\',     7],\n
-                [\'3days\',    3],\n
-                [\'day\',      1],\n
-                [\'6hours\',0.25]\n
-]\n
-  # default good_type is last one (if nothing else matches)\n
-  good_type = type_list[-1]\n
-  for date_type in type_list:\n
-    # iterating each delimiter_type and testing if it matches the delimitation\n
-    # number definition\n
-    if float(axis_stop - axis_start) / date_type[1] >= delimiter_min_number:\n
-      good_type = date_type\n
-      break\n
-\n
-  delimiter = 0\n
-  delimiter_list = []\n
-  delimiter_list.append({ \'relative_position\' : int(axis_start), \n
-                                   \'title\': \'\', \n
-                                   \'tooltip\' : str(axis_start), \n
-                                   \'delimiter_type\' : delimiter})\n
-\n
-  #### Hour ###\n
-  if good_type[0] == \'hour\':\n
-    pass\n
-\n
-  ## 6 Hours ##\n
-  if good_type[0] == \'6hours\':\n
-    # recovering first valid date\n
-    if axis_start.hour() > 18:\n
-      #need to use the next day\n
-      current_date = DateTime((axis_start + 1).Date())\n
-    elif axis_start.hour() == 0:\n
-      current_date = DateTime(axis_start.Date())\n
-    else:\n
-      if axis_start.hour() > 12:\n
-        hours = 18\n
-      elif axis_start.hour() > 6:\n
-        hours = 12\n
-      else:\n
-        hours = 6\n
-      current_date = DateTime(\'%s/%s/%s %s:0:0\' % (str(axis_start.year()),\n
-                                                  str(axis_start.month()),\n
-                                                  str(axis_start.day()),\n
-                                                  hours))\n
-    while current_date < axis_stop:\n
-      if current_date.hour() == 0 :\n
-        delimiter = 2\n
-      elif current_date.hour() == 12:\n
-        delimiter = 1\n
-      else:\n
-        delimiter = 0\n
-      delimiter_list.append({ \'relative_position\' : int(current_date),\n
-                                       \'title\': \'%s. %s %s:00\' % (current_date.Day()[:1],\n
-                                                str(current_date.day()),\n
-                                                str(current_date.hour())),\n
-                                       \'tooltip\' : current_date.Day() + \' \' + str(current_date),\n
-                                       \'delimiter_type\' : delimiter})\n
-      if current_date.hour() == 18:\n
-        #need to use the next day\n
-        current_date = DateTime((current_date + 1).Date())\n
-      else:\n
-        hours = current_date.hour() + 6\n
-        current_date = DateTime(\'%s/%s/%s %s:0:0\' % (str(current_date.year()),\n
-                                                    str(current_date.month()),\n
-                                                    str(current_date.day()),\n
-                                                    hours))\n
-\n
-\n
-  ##### DAY ####\n
-  if good_type[0] == \'day\':\n
-    # recovering first date displayed, without time:\n
-    current_date = DateTime(axis_start.Date()) + 1\n
-    # first date is used to get list of compliant dates\n
-    while current_date < axis_stop:\n
-      if current_date.day() == 1:\n
-        delimiter = 2\n
-      elif current_date.day() == 15:\n
-        delimiter = 1\n
-      else:\n
-        delimiter = 0\n
-      delimiter_list.append({ \'relative_position\' : int(current_date),\n
-                                       \'title\': \'%s/%s\' % (str(current_date.month()),\n
-                                                                  str(current_date.day())),\n
-                                       \'tooltip\' : current_date.Day() + \' \' + str(current_date),\n
-                                       \'delimiter_type\' : delimiter})\n
-      # go to next date\n
-      current_date = current_date + 1\n
-\n
-\n
-  ##### 3 DAYs ####\n
-  if good_type[0] == \'3days\':\n
-    # recovering first date displayed, without time:\n
-    current_date = DateTime(axis_start.Date()) + 1\n
-    # first date is used to get list of compliant dates\n
-    while current_date < axis_stop:\n
-      if current_date.day() == 1:\n
-        delimiter = 2\n
-      elif current_date.day() == 15:\n
-        delimiter = 1\n
-      else:\n
-        delimiter = 0\n
-      delimiter_list.append({ \'relative_position\' : int(current_date),\n
-                                       \'title\': \'%s/%s\' % (str(current_date.month()),\n
-                                                                  str(current_date.day())),\n
-                                       \'tooltip\' : current_date.Day() + \' \' + str(current_date),\n
-                                       \'delimiter_type\' : delimiter})\n
-      # go to next date\n
-      current_date = current_date + 3\n
-\n
-  #### WEEK ####\n
-  if good_type[0] == \'week\':\n
-    current_date = DateTime(axis_start.Date()) + 1\n
-    #DateTime(str(axis_start.year()) + \'/\' + str(axis_start.month()) + \'/\' + str(axis_start.day() + 1))\n
-    # current date is any day in the week, moving to the first next Monday\n
-    while current_date.Day() != \'Monday\':\n
-      current_date = current_date + 1\n
-    # getting list of weeks\n
-    while current_date < axis_stop:\n
-      delimiter_list.append({ \'relative_position\' : int(current_date),\n
-                                       \'title\': str(current_date.month()) + \'/\' + str(current_date.day()),\n
-                                       \'tooltip\' : current_date.Day() + \' \' + str(current_date),\n
-                                       \'delimiter_type\' : delimiter})\n
-      current_date = current_date + 7\n
-\n
-\n
-\n
-  #### 1/2MONTH ####\n
-  if good_type[0] == \'1/2month\':\n
-    # getting first valid date\n
-    if axis_start.month() == 12 and axis_start.day() > 15:\n
-      # need to go to the next year\n
-      current_date = DateTime(str(axis_start.year() + 1) + \'/1/1\' )\n
-    elif axis_start.day() > 15:\n
-      # need to go to next month\n
-      current_date = DateTime(str(axis_start.year()) + \'/\' + str((axis_start.month() +1)) + \'/1\')\n
-    else:\n
-      # need to go to next part of current month\n
-      current_date = DateTime(str(axis_start.year()) + \'/\' + str(axis_start.month()) + \'/15\')\n
-    # getting list of months\n
-    while current_date < axis_stop:\n
-      if current_date.day() == 1:\n
-        delimiter = 1\n
-      else:\n
-        delimiter = 0\n
-      delimiter_list.append({ \'relative_position\' : int(current_date),\n
-                                       \'title\': str(current_date.month()) + \'/\' + str(current_date.day()),\n
-                                       \'tooltip\' : current_date.Day() + \' \' + str(current_date),\n
-                                       \'delimiter_type\' : delimiter})\n
-      if current_date.month() == 12 and current_date.day() == 15:\n
-        # need to go to the next year\n
-        current_date = DateTime(str(current_date.year() + 1) + \'/1/1\' )\n
-      elif current_date.day() == 15:\n
-        # need to go to next month\n
-        current_date = DateTime(str(current_date.year()) + \'/\' + str((current_date.month() +1)) + \'/1\')\n
-      else:\n
-        # need to go to next year\n
-        current_date = DateTime(str(current_date.year()) + \'/\' + str((current_date.month())) + \'/15\')\n
-\n
-\n
-  #### MONTH ####\n
-  if good_type[0] == \'month\':\n
-    # getting first valid date\n
-    if axis_start.month() == 12:\n
-      # need to go to the next year\n
-      current_date = DateTime(str(axis_start.year() + 1) + \'/1/1\' )\n
-    else:\n
-      current_date = DateTime(str(axis_start.year()) + \'/\' + str((axis_start.month() +1)) + \'/1\')\n
-    # getting list of months\n
-    while current_date < axis_stop:\n
-      if current_date.month() == 1:\n
-        delimiter = 2\n
-      elif current_date.month() == 7:\n
-        delimiter = 1\n
-      else:\n
-        delimiter = 0\n
-      delimiter_list.append({ \'relative_position\' : int(current_date),\n
-                                       \'title\': str(current_date.year()) + \'/\' + str(current_date.month()),\n
-                                       \'tooltip\' : current_date.Day() + \' \' + str(current_date),\n
-                                       \'delimiter_type\' : delimiter})\n
-\n
-      if current_date.month() == 12:\n
-        # need to go to the next year\n
-        current_date = DateTime(str(current_date.year() + 1) + \'/1/1\' )\n
-      else:\n
-        current_date = DateTime(str(current_date.year()) + \'/\' + str((current_date.month() +1)) + \'/1\')\n
-\n
-\n
-\n
-  ## 3 MONTHS ##\n
-  if good_type[0] == \'3months\':\n
-    # getting first valid date\n
-    if axis_start.month() > 9:\n
-      # need to go to the next year\n
-      current_date = DateTime(str(axis_start.year() + 1) + \'/1/1\' )\n
-    elif axis_start.month() > 6:\n
-      current_date = DateTime(str(axis_start.year()) + \'/10/1\')\n
-    elif axis_start.month() > 3:\n
-      current_date = DateTime(str(axis_start.year()) + \'/7/1\')\n
-    else:\n
-      current_date = DateTime(str(axis_start.year()) + \'/4/1\')\n
-    while current_date < axis_stop:\n
-      if current_date.month() == 1:\n
-        delimiter = 1\n
-      else:\n
-        delimiter = 0\n
-      delimiter_list.append({ \'relative_position\' : int(current_date),\n
-                                       \'title\': str(current_date.year()) + \'/\' + str(current_date.month()),\n
-                                       \'tooltip\' : current_date.Day() + \' \' + str(current_date),\n
-                                       \'delimiter_type\' : delimiter})\n
-\n
-      if current_date.month() > 9:\n
-        # need to go to the next year\n
-        current_date = DateTime(str(current_date.year() + 1) + \'/1/1\' )\n
-      else:\n
-        current_date = DateTime(str(\'%s/%s/1\' % (str(current_date.year()),\n
-                                                 str(current_date.month() + 3))))\n
-\n
-\n
-  ## 6 MONTHS ##\n
-  if good_type[0] == \'6months\':\n
-    # getting first valid date\n
-    if axis_start.month() > 6:\n
-      # need to go to the next year\n
-      current_date = DateTime(str(axis_start.year() + 1) + \'/1/1\' )\n
-    else:\n
-      current_date = DateTime(str(axis_start.year()) + \'/7/1\')\n
-    while current_date < axis_stop:\n
-      if current_date.month() == 1:\n
-        delimiter = 1\n
-      else:\n
-        delimiter = 0\n
-      delimiter_list.append({ \'relative_position\' : int(current_date),\n
-                                       \'title\': str(current_date.year()) + \'/\' + str(current_date.month()),\n
-                                       \'tooltip\' : current_date.Day() + \' \' + str(current_date),\n
-                                       \'delimiter_type\' : delimiter})\n
-\n
-      if current_date.month() > 6:\n
-        # need to go to the next year\n
-        current_date = DateTime(str(current_date.year() + 1) + \'/1/1\' )\n
-      else:\n
-        current_date = DateTime(str(current_date.year()) + \'/7/1\')\n
-\n
-\n
-  #### YEAR ####\n
-  if good_type[0] == \'year\':\n
-    # getting first valid year\n
-    current_date = DateTime(str(axis_start.year() + 1) + \'/1/1\')\n
-    while current_date < axis_stop:\n
-      if str(current_date.year())[3:] == 0:\n
-        delimiter = 2\n
-      elif str(current_date.year())[3:] == 5:\n
-        delimiter = 1\n
-      else:\n
-        delimiter = 0\n
-      delimiter_list.append({ \'relative_position\' : int(current_date),\n
-                                       \'title\': str(current_date.year()),\n
-                                       \'tooltip\' : current_date.Day() + \' \' + str(current_date),\n
-                                       \'delimiter_type\' : delimiter})\n
-\n
-      current_date = DateTime(str(current_date.year() + 1) + \'/1/1\')\n
-\n
-  return delimiter_list\n
-\n
-\n
-else:\n
-\n
-  delimiter_list = []\n
-  # secondary axis type is integer / float.\n
-  # building corresponding axis.\n
-  axis_range = axis_stop - axis_start\n
-  step = 1.0 / 1000.0\n
-  good_step = step\n
-  while step * delimiter_min_number < axis_range:\n
-    good_step = step\n
-    step = step * 10\n
-\n
-  # now adding  first value\n
-  delimiter_list.append({ \'relative_position\' : int(axis_start), \n
-                                   \'title\': \'\', \n
-                                   \'tooltip\' : str(axis_start), \n
-                                   \'delimiter_type\' : 0})\n
-\n
-  # now going to first good step\n
-  modul = axis_start % good_step\n
-  if modul == 0:\n
-    #axis_start is already well placed.\n
-    current_step = good_step + axis_start\n
-  else:\n
-    current_step = good_step + (axis_start - modul)\n
-\n
-  # good step is the last step under axis_range.\n
-  if good_step >= 1:\n
-    good_step = int(good_step)\n
-    current_step = int(current_step)\n
-\n
-  # iterating and adding each value\n
-  while current_step < axis_stop:\n
-    delimiter_list.append({ \'relative_position\' : current_step, \n
-                                   \'title\': str(current_step), \n
-                                   \'tooltip\' : str(current_step), \n
-                                   \'delimiter_type\' : 0})\n
-    current_step += good_step\n
-\n
-  return delimiter_list\n
-
-
-]]></string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_filepath</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_owner</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string>axis_start, axis_stop, delimiter_min_number, form_id=None, selection_name=None</string> </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>5</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>axis_start</string>
-                            <string>axis_stop</string>
-                            <string>delimiter_min_number</string>
-                            <string>form_id</string>
-                            <string>selection_name</string>
-                            <string>isinstance</string>
-                            <string>DateTime</string>
-                            <string>type_list</string>
-                            <string>_getitem_</string>
-                            <string>good_type</string>
-                            <string>_getiter_</string>
-                            <string>date_type</string>
-                            <string>float</string>
-                            <string>delimiter</string>
-                            <string>delimiter_list</string>
-                            <string>_getattr_</string>
-                            <string>int</string>
-                            <string>str</string>
-                            <string>current_date</string>
-                            <string>hours</string>
-                            <string>axis_range</string>
-                            <string>step</string>
-                            <string>good_step</string>
-                            <string>modul</string>
-                            <string>current_step</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <tuple>
-                <none/>
-                <none/>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>Planning_generateAxis</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Planning_generateCalendarAxis.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Planning_generateCalendarAxis.xml
deleted file mode 100644
index 8bbfa1e6e98baa735e893c75c06928541b2c5193..0000000000000000000000000000000000000000
--- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Planning_generateCalendarAxis.xml
+++ /dev/null
@@ -1,562 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.PythonScripts.PythonScript</string>
-          <string>PythonScript</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Python_magic</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>__ac_local_roles__</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string encoding="cdata"><![CDATA[
-
-# In all cases, return list structure containing tuple of information\n
-# 1 tuple == 1 group\n
-# tuple is of the form :\n
-# [ relative position, title, tooltip, delimiter_type]\n
-# with delimiter type in 0,1,2\n
-\n
-from Products.ERP5Type.Message import Message\n
-\n
-# ***********************************\n
-# specific method for calendar mode\n
-# ***********************************\n
-# use only with calendar\n
-\n
-delimiter_list = []\n
-if axis_stop:\n
-  axis_range = float(axis_stop - axis_start)\n
-\n
-  type_list = [ [\'year\',   364],\n
-                [\'month\',   28],\n
-                [\'week\',     7],\n
-                [\'day\',      1]]\n
-\n
-  # default good_type is last one (if nothing else matches)\n
-  good_type = type_list[-1]\n
-  for date_type in type_list:\n
-    # iterating each delimiter_type and testing if it matches the delimitation\n
-    # number definition\n
-    if axis_range >= date_type[1]:\n
-      good_type = date_type\n
-      break\n
-\n
-\n
-\n
-  if good_type[0] == \'year\':\n
-    step = 30.416\n
-    delimiter = 1\n
-    step_list = [[0, Message(mesage=\'Jan\')],\n
-               [1, Message(mesage=\'Feb\')],\n
-               [2, Message(mesage=\'Mar\')],\n
-               [3, Message(mesage=\'Apr\')],\n
-               [4, Message(mesage=\'May\')],\n
-               [5, Message(mesage=\'Jun\')],\n
-               [6, Message(mesage=\'Jul\')],\n
-               [7, Message(mesage=\'Aug\')],\n
-               [8, Message(mesage=\'Sep\')],\n
-               [9, Message(mesage=\'Oct\')],\n
-               [10, Message(mesage=\'Nov\')],\n
-               [11, Message(mesage=\'Dec\')]]\n
-    for step_id in step_list:\n
-      delimiter_list.append([\n
-                     step * step_id[0],\n
-                     step_id[1],\n
-                     step_id[1],\n
-                     delimiter])\n
-\n
-\n
-\n
-\n
-  if good_type[0] == \'month\':\n
-    step = 1\n
-    step_id = 0\n
-    step_list = []\n
-    delimiter = 1\n
-    while step_id < axis_range:\n
-      step_list.append([step_id, str(step_id +1)])\n
-      step_id += step\n
-    for step_id in step_list:\n
-      delimiter_list.append([\n
-                     step_id[0],\n
-                     step_id[1],\n
-                     step_id[1],\n
-                     delimiter])\n
-\n
-\n
-\n
-\n
-  if good_type[0] == \'week\':\n
-    step = 1\n
-    delimiter = 1\n
-    step_list = [[0, Message(mesage=\'Monday\')],\n
-                 [1, Message(mesage=\'Tuesday\')],\n
-                 [2, Message(mesage=\'Wednesday\')],\n
-                 [3, Message(mesage=\'Thursday\')],\n
-                 [4, Message(mesage=\'Friday\')],\n
-                 [5, Message(mesage=\'Saturday\')],\n
-                 [6, Message(mesage=\'Sunday\')]]\n
-    for step_id in step_list:\n
-      delimiter_list.append([\n
-                     step * step_id[0],\n
-                     step_id[1],\n
-                     step_id[1],\n
-                     delimiter])\n
-\n
-    \n
-\n
-  return delimiter_list\n
-\n
-\n
-\n
-"""\n
-  delimiter = 0\n
-  delimiter_list = []\n
-  delimiter_list.append([int(axis_start),\'\',axis_start.Day() + \' \' + str(DateTime(axis_start)), 0])\n
-\n
-\n
-  #### Hour ###\n
-  if good_type[0] == \'hour\':\n
-    pass\n
-\n
-\n
-  ## 6 Hours ##\n
-  if good_type[0] == \'6hours\':\n
-    # recovering first valid date\n
-    if axis_start.hour() > 18:\n
-      #need to use the next day\n
-      current_date = DateTime((axis_start + 1).Date())\n
-    elif axis_start.hour() == 0:\n
-      current_date = DateTime(axis_start.Date())\n
-    else:\n
-      if axis_start.hour() > 12:\n
-        hours = 18\n
-      elif axis_start.hour() > 6:\n
-        hours = 12\n
-      else:\n
-        hours = 6\n
-      current_date = DateTime(\'%s/%s/%s %s:0:0\' % (str(axis_start.year()),\n
-                                                  str(axis_start.month()),\n
-                                                  str(axis_start.day()),\n
-                                                  hours))\n
-    while current_date < axis_stop:\n
-      if current_date.hour() == 0 :\n
-        delimiter = 2\n
-      elif current_date.hour() == 12:\n
-        delimiter = 1\n
-      else:\n
-        delimiter = 0\n
-      delimiter_list.append([int(current_date),\n
-                              \'%s. %s %s:00\' % (current_date.Day()[:1],\n
-                                                str(current_date.day()),\n
-                                                str(current_date.hour())),\n
-                              current_date.Day() + \' \' + str(current_date),\n
-                              delimiter])\n
-      if current_date.hour() == 18:\n
-        #need to use the next day\n
-        current_date = DateTime((current_date + 1).Date())\n
-      else:\n
-        hours = current_date.hour() + 6\n
-        current_date = DateTime(\'%s/%s/%s %s:0:0\' % (str(current_date.year()),\n
-                                                    str(current_date.month()),\n
-                                                    str(current_date.day()),\n
-                                                    hours))\n
-\n
-\n
-  ##### DAY ####\n
-  if good_type[0] == \'day\':\n
-    # recovering first date displayed, without time:\n
-    current_date = DateTime(axis_start.Date()) + 1\n
-    # first date is used to get list of compliant dates\n
-    while current_date < axis_stop:\n
-      if current_date.day() == 1:\n
-        delimiter = 2\n
-      elif current_date.day() == 15:\n
-        delimiter = 1\n
-      else:\n
-        delimiter = 0\n
-      delimiter_list.append([int(current_date),\n
-                              \'%s/%s\' % (str(current_date.month()),\n
-                                            str(current_date.day())),\n
-                              current_date.Day() + \' \' + str(current_date),\n
-                              delimiter\n
-])\n
-      # go to next date\n
-      current_date = current_date + 1\n
-\n
-\n
-\n
-\n
-  ##### 3 DAYs ####\n
-  if good_type[0] == \'3days\':\n
-    # recovering first date displayed, without time:\n
-    current_date = DateTime(axis_start.Date()) + 1\n
-    # first date is used to get list of compliant dates\n
-    while current_date < axis_stop:\n
-      if current_date.day() == 1:\n
-        delimiter = 2\n
-      elif current_date.day() == 15:\n
-        delimiter = 1\n
-      else:\n
-        delimiter = 0\n
-      delimiter_list.append([int(current_date),\n
-                              \'%s/%s\' % (str(current_date.month()),\n
-                                            str(current_date.day())),\n
-                              current_date.Day() + \' \' + str(current_date),\n
-                              delimiter\n
-])\n
-      # go to next date\n
-      current_date = current_date + 3\n
-\n
-\n
-\n
-  #### WEEK ####\n
-  if good_type[0] == \'week\':\n
-    current_date = DateTime(axis_start.Date()) + 1\n
-    #DateTime(str(axis_start.year()) + \'/\' + str(axis_start.month()) + \'/\' + str(axis_start.day() + 1))\n
-    # current date is any day in the week, moving to the first next Monday\n
-    while current_date.Day() != \'Monday\':\n
-      current_date = current_date + 1\n
-    # getting list of weeks\n
-    while current_date < axis_stop:\n
-      delimiter_list.append([int(current_date),\n
-                              str(current_date.month()) + \'/\' + str(current_date.day()),\n
-                              current_date.Day() + \' \' + str(current_date),\n
-                              delimiter\n
-])\n
-      current_date = current_date + 7\n
-\n
-\n
-\n
-  #### 1/2MONTH ####\n
-  if good_type[0] == \'1/2month\':\n
-    # getting first valid date\n
-    if axis_start.month() == 12 and axis_start.day() > 15:\n
-      # need to go to the next year\n
-      current_date = DateTime(str(axis_start.year() + 1) + \'/1/1\' )\n
-    elif axis_start.day() > 15:\n
-      # need to go to next month\n
-      current_date = DateTime(str(axis_start.year()) + \'/\' + str((axis_start.month() +1)) + \'/1\')\n
-    else:\n
-      # need to go to next part of current month\n
-      current_date = DateTime(str(axis_start.year()) + \'/\' + str(axis_start.month()) + \'/15\')\n
-    # getting list of months\n
-    while current_date < axis_stop:\n
-      if current_date.day() == 1:\n
-        delimiter = 1\n
-      else:\n
-        delimiter = 0\n
-      delimiter_list.append([int(current_date),\n
-                            str(current_date.month()) + \'/\' + str(current_date.day()),\n
-                            current_date.Day() + \' \' + str(current_date),\n
-                            delimiter\n
-])\n
-      if current_date.month() == 12 and current_date.day() == 15:\n
-        # need to go to the next year\n
-        current_date = DateTime(str(current_date.year() + 1) + \'/1/1\' )\n
-      elif current_date.day() == 15:\n
-        # need to go to next month\n
-        current_date = DateTime(str(current_date.year()) + \'/\' + str((current_date.month() +1)) + \'/1\')\n
-      else:\n
-        # need to go to next year\n
-        current_date = DateTime(str(current_date.year()) + \'/\' + str((current_date.month())) + \'/15\')\n
-\n
-\n
-  #### MONTH ####\n
-  if good_type[0] == \'month\':\n
-    # getting first valid date\n
-    if axis_start.month() == 12:\n
-      # need to go to the next year\n
-      current_date = DateTime(str(axis_start.year() + 1) + \'/1/1\' )\n
-    else:\n
-      current_date = DateTime(str(axis_start.year()) + \'/\' + str((axis_start.month() +1)) + \'/1\')\n
-    # getting list of months\n
-    while current_date < axis_stop:\n
-      if current_date.month() == 1:\n
-        delimiter = 2\n
-      elif current_date.month() == 7:\n
-        delimiter = 1\n
-      else:\n
-        delimiter = 0\n
-      delimiter_list.append([int(current_date),\n
-                            str(current_date.year()) + \'/\' + str(current_date.month()),\n
-                            current_date.Day() + \' \' + str(current_date),\n
-                            delimiter\n
-])\n
-      if current_date.month() == 12:\n
-        # need to go to the next year\n
-        current_date = DateTime(str(current_date.year() + 1) + \'/1/1\' )\n
-      else:\n
-        current_date = DateTime(str(current_date.year()) + \'/\' + str((current_date.month() +1)) + \'/1\')\n
-\n
-\n
-\n
-  ## 3 MONTHS ##\n
-  if good_type[0] == \'3months\':\n
-    # getting first valid date\n
-    if axis_start.month() > 9:\n
-      # need to go to the next year\n
-      current_date = DateTime(str(axis_start.year() + 1) + \'/1/1\' )\n
-    elif axis_start.month() > 6:\n
-      current_date = DateTime(str(axis_start.year()) + \'/10/1\')\n
-    elif axis_start.month() > 3:\n
-      current_date = DateTime(str(axis_start.year()) + \'/7/1\')\n
-    else:\n
-      current_date = DateTime(str(axis_start.year()) + \'/4/1\')\n
-    while current_date < axis_stop:\n
-      if current_date.month() == 1:\n
-        delimiter = 1\n
-      else:\n
-        delimiter = 0\n
-      delimiter_list.append([int(current_date),\n
-                              str(current_date.year()) + \'/\' + str(current_date.month()),\n
-                              current_date.Day() + \' \' + str(current_date),\n
-                              delimiter\n
-])\n
-      if current_date.month() > 9:\n
-        # need to go to the next year\n
-        current_date = DateTime(str(current_date.year() + 1) + \'/1/1\' )\n
-      else:\n
-        current_date = DateTime(str(\'%s/%s/1\' % (str(current_date.year()),\n
-                                                 str(current_date.month() + 3))))\n
-\n
-\n
-  ## 6 MONTHS ##\n
-  if good_type[0] == \'6months\':\n
-    # getting first valid date\n
-    if axis_start.month() > 6:\n
-      # need to go to the next year\n
-      current_date = DateTime(str(axis_start.year() + 1) + \'/1/1\' )\n
-    else:\n
-      current_date = DateTime(str(axis_start.year()) + \'/7/1\')\n
-    while current_date < axis_stop:\n
-      if current_date.month() == 1:\n
-        delimiter = 1\n
-      else:\n
-        delimiter = 0\n
-      delimiter_list.append([int(current_date),\n
-                              str(current_date.year()) + \'/\' + str(current_date.month()),\n
-                              current_date.Day() + \' \' + str(current_date),\n
-                              delimiter\n
-])\n
-      if current_date.month() > 6:\n
-        # need to go to the next year\n
-        current_date = DateTime(str(current_date.year() + 1) + \'/1/1\' )\n
-      else:\n
-        current_date = DateTime(str(current_date.year()) + \'/7/1\')\n
-\n
-\n
-  #### YEAR ####\n
-  if good_type[0] == \'year\':\n
-    # getting first valid year\n
-    current_date = DateTime(str(axis_start.year() + 1) + \'/1/1\')\n
-    while current_date < axis_stop:\n
-      if str(current_date.year())[3:] == 0:\n
-        delimiter = 2\n
-      elif str(current_date.year())[3:] == 5:\n
-        delimiter = 1\n
-      else:\n
-        delimiter = 0\n
-      delimiter_list.append([int(current_date),\n
-                              str(current_date.year()),\n
-                              current_date.Day() + \' \' + str(current_date),\n
-                              delimiter\n
-])\n
-      current_date = DateTime(str(current_date.year() + 1) + \'/1/1\')\n
-\n
-  return delimiter_list\n
-\n
-\n
-else:\n
-\n
-  delimiter_list = []\n
-  # secondary axis type is integer / float.\n
-  # building corresponding axis.\n
-  axis_range = axis_stop - axis_start\n
-  step = 1.0 / 1000.0\n
-  good_step = step\n
-  while step * delimiter_min_number < axis_range:\n
-    good_step = step\n
-    step = step * 10\n
-\n
-\n
-  # now adding  first value\n
-  delimiter_list.append([axis_start,\'\',str(axis_start),0])\n
-\n
-  # now going to first good step\n
-  modul = axis_start % good_step\n
-  if modul == 0:\n
-    #axis_start is already well placed.\n
-    current_step = good_step + axis_start\n
-  else:\n
-    current_step = good_step + (axis_start - modul)\n
-\n
-  # good step is the last step under axis_range.\n
-  if good_step >= 1:\n
-    good_step = int(good_step)\n
-    current_step = int(current_step)\n
-\n
-  # iterating and adding each value\n
-  while current_step < axis_stop:\n
-    delimiter_list.append([current_step,str(current_step),str(current_step),0])\n
-    current_step += good_step\n
-\n
-  return delimiter_list\n
-"""\n
-
-
-]]></string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_filepath</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_owner</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string>axis_start, axis_stop, delimiter_min_number</string> </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>3</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>axis_start</string>
-                            <string>axis_stop</string>
-                            <string>delimiter_min_number</string>
-                            <string>Products.ERP5Type.Message</string>
-                            <string>Message</string>
-                            <string>delimiter_list</string>
-                            <string>float</string>
-                            <string>axis_range</string>
-                            <string>type_list</string>
-                            <string>_getitem_</string>
-                            <string>good_type</string>
-                            <string>_getiter_</string>
-                            <string>date_type</string>
-                            <string>step</string>
-                            <string>delimiter</string>
-                            <string>step_list</string>
-                            <string>step_id</string>
-                            <string>_getattr_</string>
-                            <string>str</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>Planning_generateCalendarAxis</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Planning_generateDateZoomAxis.xml b/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Planning_generateDateZoomAxis.xml
deleted file mode 100644
index e503717244f18afb3db768629ce6881561cf0112..0000000000000000000000000000000000000000
--- a/product/ERP5/bootstrap/erp5_core/SkinTemplateItem/portal_skins/erp5_core/Planning_generateDateZoomAxis.xml
+++ /dev/null
@@ -1,397 +0,0 @@
-<?xml version="1.0"?>
-<ZopeData>
-  <record id="1" aka="AAAAAAAAAAE=">
-    <pickle>
-      <tuple>
-        <tuple>
-          <string>Products.PythonScripts.PythonScript</string>
-          <string>PythonScript</string>
-        </tuple>
-        <none/>
-      </tuple>
-    </pickle>
-    <pickle>
-      <dictionary>
-        <item>
-            <key> <string>Python_magic</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>Script_magic</string> </key>
-            <value> <int>3</int> </value>
-        </item>
-        <item>
-            <key> <string>__ac_local_roles__</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_bind_names</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="NameAssignments" module="Shared.DC.Scripts.Bindings"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>_asgns</string> </key>
-                        <value>
-                          <dictionary>
-                            <item>
-                                <key> <string>name_container</string> </key>
-                                <value> <string>container</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_context</string> </key>
-                                <value> <string>context</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_m_self</string> </key>
-                                <value> <string>script</string> </value>
-                            </item>
-                            <item>
-                                <key> <string>name_subpath</string> </key>
-                                <value> <string>traverse_subpath</string> </value>
-                            </item>
-                          </dictionary>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>_body</string> </key>
-            <value> <string encoding="cdata"><![CDATA[
-
-from Products.ERP5Type.Message import Message\n
-\n
-# get current zoom_level.\n
-current_zoom_level = context.REQUEST.get(\'zoom_level\', \'30\')\n
-# Dictionary with the expect zoom for current zoom_level\n
-zoom_level_index_list = { \'365\' : \'30\', \n
-                                      \'30\' : \'7\', \n
-                                      \'7\': \'1\' , \n
-                                      \'1\': \'1\' }\n
-\n
-new_zoom_level =  zoom_level_index_list[current_zoom_level]\n
-\n
-# In all cases, return list structure containing dictionaries.\n
-# 1 dictionary == 1 group\n
-# Optional value \'link\'is accept to create special link on secondary axis.\n
-\n
-if not isinstance(axis_start, DateTime):\n
-  axis_start, axis_stop = context.planning_validate_date_list(DateTime(), current_zoom_level)\n
-\n
-if isinstance(axis_start, DateTime):\n
-  # testing delimiter_type to apply (day, week, month, year)\n
-  # from smallest type to biggest\n
-  type_list = [(\'month\', 30),\n
-                    (\'3days\', 3),\n
-                    (\'day\', 1),\n
-                    (\'2hours\', 0.25),\n
-]\n
-\n
-  default_link_url =\'setZoomLevel?form_id=%s&list_selection_name=%s\' %(\n
-                              form_id, selection_name)\n
-\n
-\n
-  # default good_type is last one (if nothing else matches)\n
-  good_type = type_list[-1]\n
-  for date_type in type_list:\n
-    # iterating each delimiter_type and testing if it matches the delimitation\n
-    # number definition\n
-    if float(axis_stop - axis_start) / date_type[1] >= delimiter_min_number:\n
-      good_type = date_type\n
-      break\n
-\n
-  # Definning date order using user Preference Options\n
-  try:\n
-    date_order = context.portal_preferences.getActivePreference().getPreferredDateOrder()\n
-    if (date_order is None) or date_order not in [ \'dmy\', \'ymd\' , \'mdy\' ]:\n
-      date_order = \'ymd\'\n
-  except AttributeError:\n
-    date_order = \'ymd\'\n
-\n
-  delimiter = 0\n
-  delimiter_list = []\n
-  translated_Day = Message(domain=\'erp5_ui\', message=axis_start.Day(),\n
-                           mapping=None)\n
-  # First delimiter\n
-  delimiter_list.append({ \'relative_position\' : int(axis_start), \n
-                                   \'title\': \'\', \n
-                                   \'tooltip\' : \'%s %s\' % (translated_Day, str(DateTime(axis_start))), \n
-                                   \'delimiter_type\' : 0})\n
-\n
-  ## 2 Hours ##\n
-  if good_type[0] == \'2hours\':\n
-    # recovering first valid date\n
-    if axis_start.hour() > 21:\n
-      #need to use the next day\n
-      current_date = DateTime((axis_start + 1).Date())\n
-    elif axis_start.hour() == 0:\n
-      current_date = DateTime(axis_start.Date())\n
-    else:\n
-      hours = 12\n
-      current_date = DateTime( \'%s/%s/%s %s:0:0\' % (str(axis_start.year()),\n
-                                                  str(axis_start.month()),\n
-                                                  str(axis_start.day()),\n
-                                                  hours))\n
-    while current_date < axis_stop:\n
-      if current_date.hour() == 0 :\n
-        delimiter = 2\n
-      elif current_date.hour() == 12:\n
-        delimiter = 1\n
-      else:\n
-        delimiter = 0\n
-      # defining date order\n
-      date_order_list = []\n
-      for i in date_order:\n
-        if i == \'d\': date_order_list.append(current_date.day())\n
-        if i == \'m\': date_order_list.append(current_date.month())\n
-      delimiter_list.append({ \'relative_position\' : int(current_date),\n
-                                       \'title\': \'%s %s/%s %s:00\' % (Message(domain=\'erp5_ui\', \n
-                                                                          message=current_date.Day(),\n
-                                                                          mapping=None),\n
-                                                          str(date_order_list[0]),\n
-                                                          str(date_order_list[1]),\n
-                                                          str(current_date.hour())),\n
-                                       \'tooltip\' : \'%s %s\' %  ( Message(domain=\'erp5_ui\', \n
-                                                                                        message=current_date.Day(), \n
-                                                                                        mapping=None), \n
-                                                                                        str(current_date)),\n
-                                       \'delimiter_type\' : delimiter })\n
-      if current_date.hour() == 21:\n
-        #need to use the next day\n
-        current_date = DateTime((current_date + 1).Date())\n
-      else:\n
-        hours = current_date.hour() + 3\n
-        current_date = DateTime(\'%s/%s/%s %s:0:0\' % (str(current_date.year()),\n
-                                                    str(current_date.month()),\n
-                                                    str(current_date.day()),\n
-                                                    hours))\n
-\n
-\n
-  ##### DAY ####\n
-  elif good_type[0] == \'day\':\n
-    # recovering first date displayed, without time:\n
-    current_date = DateTime(axis_start.Date())\n
-    # first date is used to get list of compliant dates\n
-    while current_date < axis_stop:\n
-      if current_date.day() == 1:\n
-        delimiter = 2\n
-      elif current_date.day() == 15:\n
-        delimiter = 1\n
-      else:\n
-        delimiter = 0\n
-      # defining date order\n
-      date_order_list = []\n
-      for i in date_order:\n
-        if i == \'d\': date_order_list.append(current_date.day())\n
-        if i == \'m\': date_order_list.append(current_date.month())\n
-        if i == \'y\': date_order_list.append(current_date.year())\n
-      delimiter_list.append({ \'relative_position\' : int(current_date),\n
-                                        \'title\': \'%s   %s/%s/%s\' % (Message(domain=\'erp5_ui\', \n
-                                                                                  message=current_date.Day(),\n
-                                                                                  mapping=None),\n
-                                                               str(date_order_list[0]), \n
-                                                               str(date_order_list[1]),\n
-                                                               str(date_order_list[2])),\n
-                                       \'tooltip\' : \'%s %s\' %  ( Message(domain=\'erp5_ui\', \n
-                                                                                        message=current_date.Day(), \n
-                                                                                        mapping=None), \n
-                                                                                        str(current_date)),\n
-                                       \'delimiter_type\' : delimiter, \n
-                                       \'link\':\'%s&zoom_date_start=%s&zoom_level=%s\' % ( default_link_url,current_date,new_zoom_level)  })       \n
-   \n
-      # go to next date\n
-      current_date = current_date + 1\n
-\n
-  ##### 3 DAYs ####\n
-  elif good_type[0] == \'3days\':\n
-    # recovering first date displayed, without time:\n
-    current_date = DateTime(axis_start.Date())\n
-    # first date is used to get list of compliant dates\n
-    while current_date < axis_stop:\n
-      if current_date.day() == 1:\n
-        delimiter = 2\n
-      elif current_date.day() == 15:\n
-        delimiter = 1\n
-      else:\n
-        delimiter = 0\n
-      date_order_list = []\n
-      for i in date_order:\n
-        if i == \'d\': date_order_list.append(current_date.day())\n
-        if i == \'m\': date_order_list.append(current_date.month())\n
-        if i == \'y\': date_order_list.append(current_date.year())\n
-      delimiter_list.append({ \'relative_position\' : int(current_date),\n
-                                       \'title\': \'%s/%s/%s\' % (str(date_order_list[0]), str(date_order_list[1]),str(date_order_list[2])),\n
-                                       \'tooltip\' : \'%s %s\' %  ( Message(domain=\'erp5_ui\', \n
-                                                                                        message=current_date.Day(), \n
-                                                                                        mapping=None), \n
-                                                                                        str(current_date)),\n
-                                       \'delimiter_type\' : delimiter, \n
-                                       \'link\':\'%s&zoom_date_start=%s&zoom_level=%s\' % ( default_link_url,current_date,new_zoom_level)  })       \n
-      # go to next date\n
-      current_date = current_date + 3\n
-\n
-\n
-  #### MONTH ####\n
-  elif good_type[0] == \'month\':\n
-    # getting first valid date\n
-    if axis_start.month() == 12:\n
-      # need to go to the next year\n
-      current_date = DateTime(str(axis_start.year()) + \'/1/1\' )\n
-    else:\n
-      current_date = DateTime(str(axis_start.year()) + \'/\' + str((axis_start.month())) + \'/1\')\n
-\n
-    # getting list of months\n
-    while current_date < axis_stop:\n
-      if current_date.month() == 1:\n
-        delimiter = 2\n
-      elif current_date.month() == 7:\n
-        delimiter = 1\n
-      else:\n
-        delimiter = 0\n
-      date_order_list = []\n
-      for i in date_order:\n
-        if i == \'m\': date_order_list.append(current_date.month())\n
-        if i == \'y\': date_order_list.append(current_date.year())\n
-      delimiter_list.append({ \'relative_position\' : int(current_date),\n
-                                       \'title\': str(date_order_list[0]) + \'/\' + str(date_order_list[1]),\n
-                                       \'tooltip\' : \'%s %s\' %  ( Message(domain=\'erp5_ui\', \n
-                                                                                        message=current_date.Day(), \n
-                                                                                        mapping=None), \n
-                                                                                        str(current_date)),\n
-                                       \'delimiter_type\' : delimiter, \n
-                                       \'link\':\'%s&zoom_date_start=%s&zoom_level=%s\' % ( default_link_url,current_date,new_zoom_level)  })       \n
-      if current_date.month() == 12:\n
-        # need to go to the next year\n
-        current_date = DateTime(str(current_date.year() + 1) + \'/1/1\' )\n
-      else:\n
-        current_date = DateTime(str(current_date.year()) + \'/\' + str((current_date.month() +1)) + \'/1\')\n
-\n
-  return delimiter_list\n
-\n
-\n
-return [ ]\n
-
-
-]]></string> </value>
-        </item>
-        <item>
-            <key> <string>_code</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_filepath</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_owner</string> </key>
-            <value>
-              <none/>
-            </value>
-        </item>
-        <item>
-            <key> <string>_params</string> </key>
-            <value> <string>axis_start, axis_stop, delimiter_min_number, form_id=None, selection_name=None</string> </value>
-        </item>
-        <item>
-            <key> <string>errors</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_code</string> </key>
-            <value>
-              <object>
-                <klass>
-                  <global name="FuncCode" module="Shared.DC.Scripts.Signature"/>
-                </klass>
-                <tuple/>
-                <state>
-                  <dictionary>
-                    <item>
-                        <key> <string>co_argcount</string> </key>
-                        <value> <int>5</int> </value>
-                    </item>
-                    <item>
-                        <key> <string>co_varnames</string> </key>
-                        <value>
-                          <tuple>
-                            <string>axis_start</string>
-                            <string>axis_stop</string>
-                            <string>delimiter_min_number</string>
-                            <string>form_id</string>
-                            <string>selection_name</string>
-                            <string>Products.ERP5Type.Message</string>
-                            <string>Message</string>
-                            <string>_getattr_</string>
-                            <string>context</string>
-                            <string>current_zoom_level</string>
-                            <string>zoom_level_index_list</string>
-                            <string>_getitem_</string>
-                            <string>new_zoom_level</string>
-                            <string>isinstance</string>
-                            <string>DateTime</string>
-                            <string>_getiter_</string>
-                            <string>type_list</string>
-                            <string>default_link_url</string>
-                            <string>good_type</string>
-                            <string>date_type</string>
-                            <string>float</string>
-                            <string>date_order</string>
-                            <string>None</string>
-                            <string>AttributeError</string>
-                            <string>delimiter</string>
-                            <string>delimiter_list</string>
-                            <string>translated_Day</string>
-                            <string>int</string>
-                            <string>str</string>
-                            <string>current_date</string>
-                            <string>hours</string>
-                            <string>date_order_list</string>
-                            <string>i</string>
-                          </tuple>
-                        </value>
-                    </item>
-                  </dictionary>
-                </state>
-              </object>
-            </value>
-        </item>
-        <item>
-            <key> <string>func_defaults</string> </key>
-            <value>
-              <tuple>
-                <none/>
-                <none/>
-              </tuple>
-            </value>
-        </item>
-        <item>
-            <key> <string>id</string> </key>
-            <value> <string>Planning_generateDateZoomAxis</string> </value>
-        </item>
-        <item>
-            <key> <string>warnings</string> </key>
-            <value>
-              <tuple/>
-            </value>
-        </item>
-      </dictionary>
-    </pickle>
-  </record>
-</ZopeData>
diff --git a/product/ERP5/bootstrap/erp5_core/bt/revision b/product/ERP5/bootstrap/erp5_core/bt/revision
index c3282600a47c138af5401a9733cee2ed706d3023..e2756006dac243cc4d36ad71f5af3ed5c0211e94 100644
--- a/product/ERP5/bootstrap/erp5_core/bt/revision
+++ b/product/ERP5/bootstrap/erp5_core/bt/revision
@@ -1 +1 @@
-640
\ No newline at end of file
+644
\ No newline at end of file