work in progress: task indexing: add index for start date, include work item texts in text index entry

git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@3342 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2009-04-20 06:43:08 +00:00
parent 49cca0954f
commit 1cb8894abc
3 changed files with 29 additions and 5 deletions

View file

@ -1,5 +1,5 @@
#
# Copyright (c) 2006 Helmut Merz helmutm@cy55.de
# Copyright (c) 2009 Helmut Merz helmutm@cy55.de
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -22,10 +22,13 @@ Adapters for IConcept providing interfaces from the cybertools.organize package.
$Id$
"""
from time import mktime
from zope.component import adapts
from zope.interface import implements
from loops.organize.interfaces import ITask
from loops.interfaces import IConcept
from loops.interfaces import IIndexAttributes
from loops.common import AdapterBase
from loops.type import TypeInterfaceSourceList
@ -40,5 +43,23 @@ class Task(AdapterBase):
implements(ITask)
_adapterAttributes = ('context', '__parent__',)
_contextAttributes = list(ITask) # + list(IConcept)
_contextAttributes = list(ITask)
class IndexAttributes(object):
implements(IIndexAttributes)
adapts(ITask)
def __init__(self, context):
self.context = context
def text(self):
# TODO: collect text from work items
return ' '.join((self.title, self.description))
def date(self):
value = self.context.start
if value:
return int(mktime(value.utctimetuple))

View file

@ -1,5 +1,5 @@
#
# Copyright (c) 2007 Helmut Merz helmutm@cy55.de
# Copyright (c) 2009 Helmut Merz helmutm@cy55.de
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -64,7 +64,7 @@ def getInternalPrincipal(id, context=None, pau=None):
pau = component.getUtility(IAuthentication, context=context)
if not IPluggableAuthentication.providedBy(pau):
raise ValueError(u'There is no pluggable authentication '
'utility available.')
u'utility available.')
if not id.startswith(pau.prefix):
next = queryNextUtility(pau, IAuthentication)
if next is None:

View file

@ -26,8 +26,10 @@ from datetime import date
import time
from zope import component
from zope.app.security.interfaces import IAuthentication, PrincipalLookupError
from zope.cachedescriptors.property import Lazy
from zope.app.pagetemplate import ViewPageTemplateFile
from zope.cachedescriptors.property import Lazy
from zope.event import notify
from zope.lifecycleevent import ObjectModifiedEvent
from zope.traversing.browser import absoluteURL
from zope.traversing.api import getName
@ -395,6 +397,7 @@ class CreateWorkItem(EditObject, BaseTrackView):
else:
wi = workItems.add(util.getUidForObject(self.object), self.personId)
wi.doAction(action, self.personId, **data)
#notify(ObjectModifiedEvent(obj))
url = self.view.virtualTargetUrl
#url = self.request.URL
self.request.response.redirect(url)