Add upgrade step to migrate reception dates to datetimes

This commit is contained in:
Cédric Messiant 2013-05-30 11:49:04 +02:00
parent c8da05e9e6
commit a53cd50acc
4 changed files with 32 additions and 0 deletions

View File

@ -9,6 +9,7 @@
<include file="permissions.zcml" />
<include package="five.grok" />
<include package=".upgrades" />
<grok:grok package="." />

View File

@ -0,0 +1,16 @@
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
i18n_domain="collective.dms.mailcontent">
<include package="ecreall.helpers.upgrade" />
<genericsetup:upgradeStep
title="Migration profile for collective.dms.mailcontent to 2"
description="Upgrade from 1 to 2"
source="1"
destination="2"
handler=".upgrades.v2"
profile="collective.dms.mailcontent:default" />
</configure>

View File

@ -0,0 +1,15 @@
# -*- coding: utf-8 -*-
from datetime import date, datetime, time
from plone import api
def v2(context):
default_time = time(18, 0)
catalog = api.portal.get_tool('portal_catalog')
brains = catalog.searchResults({'portal_type': 'dmsincomingmail'})
for brain in brains:
obj = brain.getObject()
reception_date = obj.reception_date
if isinstance(reception_date, date):
obj.reception_date = datetime.combine(reception_date, default_time)