provide generic 'create concept' actions based on qualifier setting or assigned subtypes

git-svn-id: svn://svn.cy55.de/Zope3/src/loops/trunk@4161 fd906abe-77d9-0310-91a1-e0d9ade77398
This commit is contained in:
helmutm 2011-02-10 07:06:03 +00:00
parent 629de87686
commit ba2ea67244
5 changed files with 62 additions and 7 deletions

View file

@ -19,7 +19,7 @@
""" """
Base classes (sort of views) for action portlet items. Base classes (sort of views) for action portlet items.
$Id: action.py 2313 2008-01-15 13:00:34Z helmutm $ $Id$
""" """
from urllib import urlencode from urllib import urlencode
@ -145,3 +145,23 @@ actions.register('edit_concept', 'portlet', DialogAction,
dialogName='edit', dialogName='edit',
prerequisites=['registerDojoEditor'], prerequisites=['registerDojoEditor'],
) )
actions.register('create_concept', 'portlet', DialogAction,
title=_(u'Create Concept...'),
description=_(u'Create a new concept.'),
viewName='create_concept.html',
dialogName='createConcept',
qualifier='create_concept',
#typeToken='.loops/concepts/topic',
#fixedType=True,
innerForm='inner_concept_form.html',
)
actions.register('create_subtype', 'portlet', DialogAction,
title=_(u'Create Concept...'),
description=_(u'Create a new concept.'),
viewName='create_concept.html',
dialogName='createConcept',
qualifier='subtype',
innerForm='inner_concept_form.html',
)

View file

@ -62,7 +62,7 @@ from loops.query import ConceptQuery, IQueryConcept
from loops.resource import Resource from loops.resource import Resource
from loops.schema.field import relation_macros from loops.schema.field import relation_macros
from loops.security.common import canAccessObject, canListObject, canWriteObject from loops.security.common import canAccessObject, canListObject, canWriteObject
from loops.type import ITypeConcept from loops.type import ITypeConcept, ConceptTypeInfo
from loops import util from loops import util
from loops.util import _ from loops.util import _
from loops.versioning.interfaces import IVersionable from loops.versioning.interfaces import IVersionable
@ -375,6 +375,23 @@ class CreateConceptForm(CreateObjectForm):
defaultTitle = u'Create Concept, Type = ' defaultTitle = u'Create Concept, Type = '
form_action = 'create_concept' form_action = 'create_concept'
@Lazy
def defaultTypeToken(self):
return None
def getTypesVocabulary(self, include=None):
types = []
if 'subtype' in include:
include = list(include)
include.remove('subtype')
parentType = self.target.conceptType
subtypePred = self.conceptManager['issubtype']
types = [dict(token=ConceptTypeInfo(t).token, title=t.title)
for t in parentType.getChildren([subtypePred])]
if include:
return util.KeywordVocabulary(types + self.listTypes(include, ('hidden',)))
return util.KeywordVocabulary(types)
@Lazy @Lazy
def dialog_name(self): def dialog_name(self):
return self.request.get('dialog', 'createConcept') return self.request.get('dialog', 'createConcept')

Binary file not shown.

View file

@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: $Id$\n" "Project-Id-Version: $Id$\n"
"POT-Creation-Date: 2007-05-22 12:00 CET\n" "POT-Creation-Date: 2007-05-22 12:00 CET\n"
"PO-Revision-Date: 2010-08-22 12:00 CET\n" "PO-Revision-Date: 2011-02-09 12:00 CET\n"
"Last-Translator: Helmut Merz <helmutm@cy55.de>\n" "Last-Translator: Helmut Merz <helmutm@cy55.de>\n"
"Language-Team: loops developers <helmutm@cy55.de>\n" "Language-Team: loops developers <helmutm@cy55.de>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -29,6 +29,12 @@ msgstr "Anlegen"
msgid "Edit Concept Map" msgid "Edit Concept Map"
msgstr "Concept Map bearbeiten" msgstr "Concept Map bearbeiten"
msgid "Create Concept..."
msgstr "Begriff anlegen..."
msgid "Create a new concept."
msgstr "Einen neuen Begriff erzeugen."
msgid "Create Resource..." msgid "Create Resource..."
msgstr "Ressource anlegen..." msgstr "Ressource anlegen..."
@ -44,6 +50,12 @@ msgstr "Ordner anlegen..."
msgid "Create a new folder." msgid "Create a new folder."
msgstr "Einen neuen Ordner anlegen" msgstr "Einen neuen Ordner anlegen"
msgid "Edit Concept..."
msgstr "Begriff bearbeiten..."
msgid "Modify concept."
msgstr "Begriff ändern."
msgid "Edit Folder..." msgid "Edit Folder..."
msgstr "Ordner bearbeiten..." msgstr "Ordner bearbeiten..."
@ -134,6 +146,9 @@ msgstr "Adresse bearbeiten..."
msgid "Modify address." msgid "Modify address."
msgstr "Adresse bearbeiten" msgstr "Adresse bearbeiten"
msgid "Create Concept, Type = "
msgstr "Begriff anlegen, Typ = "
msgid "Create Resource, Type = " msgid "Create Resource, Type = "
msgstr "Ressource anlegen, Typ = " msgstr "Ressource anlegen, Typ = "
@ -149,9 +164,6 @@ msgstr "Diese Ressource bearbeiten."
msgid "Edit Concept" msgid "Edit Concept"
msgstr "Begriff bearbeiten" msgstr "Begriff bearbeiten"
msgid "Edit Concept..."
msgstr "Begriff bearbeiten..."
msgid "Create Event..." msgid "Create Event..."
msgstr "Termin anlegen..." msgstr "Termin anlegen..."
@ -479,6 +491,12 @@ msgstr "Beginn"
msgid "End date" msgid "End date"
msgstr "Ende" msgstr "Ende"
msgid "Knowledge"
msgstr "Wissen"
msgid "The knowledge elements for this person."
msgstr "Die Wissenselemente für diese Person."
msgid "Create loops Note" msgid "Create loops Note"
msgstr "loops-Notiz anlegen" msgstr "loops-Notiz anlegen"

View file

@ -9,7 +9,7 @@
<!-- process/workflow management stuff --> <!-- process/workflow management stuff -->
<zope:adapter factory="loops.organize.process.definition.Process" <zope:adapter factory="loops.organize.process.definition.Process"
provides="cybertools.process.interfaces.IProcess" provides="loops.organize.process.interfaces.IProcess"
trusted="True" /> trusted="True" />
<zope:class class="loops.organize.process.definition.Process"> <zope:class class="loops.organize.process.definition.Process">
<require permission="zope.View" <require permission="zope.View"