diff --git a/browser/concept_macros.pt b/browser/concept_macros.pt index 0ca0c19..7215597 100644 --- a/browser/concept_macros.pt +++ b/browser/concept_macros.pt @@ -21,7 +21,7 @@
diff --git a/configure.zcml b/configure.zcml index f09221f..3c7faa0 100644 --- a/configure.zcml +++ b/configure.zcml @@ -314,6 +314,8 @@ name="email" /> + diff --git a/knowledge/browser.py b/knowledge/browser.py index ea06e5c..5da1369 100644 --- a/knowledge/browser.py +++ b/knowledge/browser.py @@ -37,8 +37,7 @@ from loops.browser.common import BaseView from loops.browser.concept import ConceptView from loops.knowledge.interfaces import IPerson, ITask from loops.organize.party import getPersonForUser - -_ = MessageFactory('zope') +from loops.util import _ actions.register('createTopic', 'portlet', DialogAction, diff --git a/organize/browser/__init__.py b/organize/browser/__init__.py index 38314f3..fdc9083 100644 --- a/organize/browser/__init__.py +++ b/organize/browser/__init__.py @@ -1,3 +1,6 @@ """ $Id$ """ + +# make sure actions get registered +import party diff --git a/organize/browser/party.py b/organize/browser/party.py new file mode 100644 index 0000000..6de3662 --- /dev/null +++ b/organize/browser/party.py @@ -0,0 +1,68 @@ +# +# Copyright (c) 2008 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 +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# + +""" +Definition of view classes and other browser related stuff (e.g. actions) for +loops.organize.party. + +$Id$ +""" + +from zope import interface, component +from zope.cachedescriptors.property import Lazy + +from cybertools.browser.action import actions +from loops.browser.action import DialogAction +from loops.util import _ + + +actions.register('createPerson', 'portlet', DialogAction, + title=_(u'Create Person...'), + description=_(u'Create a new person.'), + viewName='create_concept.html', + dialogName='createPerson', + typeToken='.loops/concepts/person', + fixedType=True, + innerForm='inner_concept_form.html', + prerequisites=['registerDojoDateWidget'], +) + +actions.register('editPerson', 'portlet', DialogAction, + title=_(u'Edit Person...'), + description=_(u'Modify person.'), + viewName='edit_concept.html', + dialogName='editPerson', + prerequisites=['registerDojoDateWidget'], +) + +actions.register('createAddress', 'portlet', DialogAction, + title=_(u'Create Address...'), + description=_(u'Create a new address.'), + viewName='create_concept.html', + dialogName='createAddress', + typeToken='.loops/concepts/address', + fixedType=True, + innerForm='inner_concept_form.html', +) + +actions.register('editAddress', 'portlet', DialogAction, + title=_(u'Edit Address...'), + description=_(u'Modify address.'), + viewName='edit_concept.html', + dialogName='editAddress', +) diff --git a/organize/schema.py b/organize/schema.py index a0a63cc..626ecc1 100644 --- a/organize/schema.py +++ b/organize/schema.py @@ -37,8 +37,8 @@ class PersonSchemaFactory(SchemaFactory): def __call__(self, interface, **kw): schema = super(PersonSchemaFactory, self).__call__(interface, **kw) - if 'phoneNumbers' in schema.fields.keys(): - schema.fields.phoneNumbers.instance_name ='simplelist' + #if 'phoneNumbers' in schema.fields.keys(): + # schema.fields.phoneNumbers.instance_name ='simplelist' if 'birthDate' in schema.fields.keys(): schema.fields.birthDate.display_format = ('date', 'long') return schema diff --git a/tests/setup.py b/tests/setup.py index a5eca5a..55aad35 100644 --- a/tests/setup.py +++ b/tests/setup.py @@ -32,7 +32,7 @@ from cybertools.catalog.keyword import KeywordIndex from cybertools.composer.schema.factory import SchemaFactory from cybertools.composer.schema.field import FieldInstance, NumberFieldInstance from cybertools.composer.schema.field import DateFieldInstance, BooleanFieldInstance -from cybertools.composer.schema.field import EmailFieldInstance +from cybertools.composer.schema.field import EmailFieldInstance, ListFieldInstance from cybertools.composer.schema.instance import Instance, Editor from cybertools.relation.tests import IntIdsStub from cybertools.relation.registry import RelationRegistry @@ -131,6 +131,7 @@ class TestSite(object): component.provideAdapter(DateFieldInstance, name='date') component.provideAdapter(EmailFieldInstance, name='email') component.provideAdapter(BooleanFieldInstance, name='boolean') + component.provideAdapter(ListFieldInstance, name='list') component.provideAdapter(SchemaFactory) component.provideAdapter(ResourceSchemaFactory) component.provideAdapter(FileSchemaFactory)