From ab55482b41d0ea4b4b769a6f125667db68a143d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Messiant?= Date: Mon, 29 Jul 2013 16:03:42 +0200 Subject: [PATCH] Information has no longer deadline field --- src/collective/task/content/opinion.py | 4 ++-- src/collective/task/content/task.py | 4 ++-- src/collective/task/content/validation.py | 4 ++-- src/collective/task/interfaces.py | 19 +++++++++++++++---- src/collective/task/tests/test_content.py | 1 + 5 files changed, 22 insertions(+), 10 deletions(-) diff --git a/src/collective/task/content/opinion.py b/src/collective/task/content/opinion.py index 44cfb04..cea49d6 100644 --- a/src/collective/task/content/opinion.py +++ b/src/collective/task/content/opinion.py @@ -2,10 +2,10 @@ from zope.interface import implements from plone.dexterity.content import Item -from collective.task.interfaces import IBaseTask +from collective.task.interfaces import IBaseTask, IDeadline -class IOpinion(IBaseTask): +class IOpinion(IBaseTask, IDeadline): """Schema for opinion""" pass diff --git a/src/collective/task/content/task.py b/src/collective/task/content/task.py index 4240b24..d98cd6f 100644 --- a/src/collective/task/content/task.py +++ b/src/collective/task/content/task.py @@ -2,10 +2,10 @@ from zope.interface import implements from plone.dexterity.content import Container -from collective.task.interfaces import IBaseTask +from collective.task.interfaces import IBaseTask, IDeadline -class ITask(IBaseTask): +class ITask(IBaseTask, IDeadline): """Schema for task""" pass diff --git a/src/collective/task/content/validation.py b/src/collective/task/content/validation.py index 240ba00..1c5b076 100644 --- a/src/collective/task/content/validation.py +++ b/src/collective/task/content/validation.py @@ -2,10 +2,10 @@ from zope.interface import implements from plone.dexterity.content import Item -from collective.task.interfaces import IBaseTask +from collective.task.interfaces import IBaseTask, IDeadline -class IValidation(IBaseTask): +class IValidation(IBaseTask, IDeadline): """Schema for validation""" pass diff --git a/src/collective/task/interfaces.py b/src/collective/task/interfaces.py index d2ae464..a6f2851 100644 --- a/src/collective/task/interfaces.py +++ b/src/collective/task/interfaces.py @@ -40,10 +40,6 @@ class IBaseTask(model.Schema): title = schema.TextLine(title=_(u'Title')) note = schema.Text(title=_(u'Note'), required=False) - deadline = schema.Datetime(title=_(u'Deadline'), - defaultFactory=deadlineDefaultValue, - required=False) - form.widget(deadline=DatetimeFieldWidget) enquirer = LocalRolesToPrincipals( title=_(u"Enquirer"), @@ -71,3 +67,18 @@ class IBaseTask(model.Schema): form.widget(responsible=AjaxChosenMultiFieldWidget) form.order_after(note='responsible') + + +class IDeadline(model.Schema): + deadline = schema.Datetime(title=_(u'Deadline'), + defaultFactory=deadlineDefaultValue, + required=False) + form.widget(deadline=DatetimeFieldWidget) + + +@default_value(field=IDeadline['deadline']) +def deadlineDefaultValue(data): + """Default value for deadline field today+3 days at 18:00""" + date = datetime.datetime.today() + datetime.timedelta(days=3) + hour = datetime.time(18, 0) + return datetime.datetime.combine(date, hour) diff --git a/src/collective/task/tests/test_content.py b/src/collective/task/tests/test_content.py index 8dc5aec..a113c6b 100644 --- a/src/collective/task/tests/test_content.py +++ b/src/collective/task/tests/test_content.py @@ -51,6 +51,7 @@ class TestContentTypes(IntegrationTestCase, BaseTest): id="my-info", title="My information", responsible=['bigboss']) self.assertIn('my-info', folder) + self.assertNotIn('deadline', info) def test_add_opinion(self): folder = self.folder