Merge branch 'master' into bbmaster
This commit is contained in:
commit
2ecf05e5e9
7 changed files with 130 additions and 21 deletions
|
@ -83,7 +83,7 @@ class ObjectForm(NodeView):
|
|||
def checkPermissions(self):
|
||||
obj = self.target
|
||||
if obj is None:
|
||||
obj = self.context
|
||||
obj = self.containerext
|
||||
return canWriteObject(obj)
|
||||
|
||||
@Lazy
|
||||
|
@ -289,7 +289,9 @@ class CreateObjectForm(ObjectForm):
|
|||
@Lazy
|
||||
def title(self):
|
||||
if self.fixedType:
|
||||
return _(u'Create %s') % self.typeConcept.title
|
||||
#return _(u'Create %s') % self.typeConcept.title
|
||||
return _(u'Create $type',
|
||||
mapping=dict(type=self.typeConcept.title))
|
||||
else:
|
||||
return _(self.defaultTitle)
|
||||
|
||||
|
|
|
@ -400,7 +400,7 @@ class ChildRelationSet(RelationSet):
|
|||
self.context.assignChild(related, self.predicate, order, relevance)
|
||||
|
||||
def remove(self, related):
|
||||
related = baseObject(related.context)
|
||||
related = baseObject(related)
|
||||
self.context.deassignChild(related, [self.predicate])
|
||||
|
||||
def __iter__(self):
|
||||
|
|
|
@ -115,6 +115,7 @@ class ResultsConceptView(ConceptView):
|
|||
"""
|
||||
|
||||
reportName = None # define in subclass if applicable
|
||||
reportType = None # set for using special report instance adapter
|
||||
|
||||
@Lazy
|
||||
def result_macros(self):
|
||||
|
@ -143,8 +144,9 @@ class ResultsConceptView(ConceptView):
|
|||
|
||||
@Lazy
|
||||
def reportInstance(self):
|
||||
reportType = self.reportType or self.report.reportType
|
||||
ri = component.getAdapter(self.report, IReportInstance,
|
||||
name=self.report.reportType)
|
||||
name=reportType)
|
||||
ri.view = self.nodeView
|
||||
return ri
|
||||
|
||||
|
|
Binary file not shown.
|
@ -3,7 +3,7 @@ msgstr ""
|
|||
|
||||
"Project-Id-Version: $Id$\n"
|
||||
"POT-Creation-Date: 2007-05-22 12:00 CET\n"
|
||||
"PO-Revision-Date: 2012-05-09 12:00 CET\n"
|
||||
"PO-Revision-Date: 2012-05-30 12:00 CET\n"
|
||||
"Last-Translator: Helmut Merz <helmutm@cy55.de>\n"
|
||||
"Language-Team: loops developers <helmutm@cy55.de>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
|
@ -47,6 +47,9 @@ msgstr "Ressource anlegen..."
|
|||
msgid "Create %s"
|
||||
msgstr "%s anlegen"
|
||||
|
||||
msgid "Create $type"
|
||||
msgstr "$type anlegen"
|
||||
|
||||
msgid "Create a new resource object."
|
||||
msgstr "Eine neue Ressource erzeugen"
|
||||
|
||||
|
@ -230,19 +233,34 @@ msgstr "Begriff bearbeiten"
|
|||
msgid "Create Event..."
|
||||
msgstr "Termin anlegen..."
|
||||
|
||||
msgid "Create a new event"
|
||||
msgid "Create a new event."
|
||||
msgstr "Einen neuen Termin anlegen."
|
||||
|
||||
msgid "Create Follow-up Event..."
|
||||
msgstr "Folgetermin anlegen..."
|
||||
|
||||
msgid "Create an event that is linked to this one."
|
||||
msgstr "Einen neuen Termin anlegen, der mit diesem verknüpft ist."
|
||||
|
||||
msgid "Edit Event..."
|
||||
msgstr "Termin bearbeiten..."
|
||||
|
||||
msgid "Modify event."
|
||||
msgstr "Termin bearbeiten"
|
||||
|
||||
msgid "Modify follow-up event."
|
||||
msgstr "Folgetermin bearbeiten"
|
||||
|
||||
msgid "Create Task..."
|
||||
msgstr "Aufgabe anlegen..."
|
||||
|
||||
msgid "Create a new task"
|
||||
msgid "Create a new task."
|
||||
msgstr "Eine neue Aufgabe anlegen."
|
||||
|
||||
msgid "Edit Task..."
|
||||
msgstr "Aufgabe bearbeiten..."
|
||||
|
||||
msgid "Modify task"
|
||||
msgid "Modify task."
|
||||
msgstr "Aufgabe bearbeiten"
|
||||
|
||||
msgid "Create Project..."
|
||||
|
|
|
@ -83,6 +83,32 @@
|
|||
class="loops.organize.browser.party.EditPersonForm"
|
||||
permission="zope.View" />
|
||||
|
||||
<browser:page
|
||||
name="create_followup_event.html"
|
||||
for="loops.interfaces.INode"
|
||||
class="loops.organize.browser.event.CreateFollowUpEventForm"
|
||||
permission="zope.View" />
|
||||
|
||||
<zope:adapter
|
||||
name="create_followup_event"
|
||||
for="loops.browser.node.NodeView
|
||||
zope.publisher.interfaces.browser.IBrowserRequest"
|
||||
factory="loops.organize.browser.event.CreateFollowUpEvent"
|
||||
permission="zope.View" />
|
||||
|
||||
<browser:page
|
||||
name="edit_followup_event.html"
|
||||
for="loops.interfaces.INode"
|
||||
class="loops.organize.browser.event.EditFollowUpEventForm"
|
||||
permission="zope.View" />
|
||||
|
||||
<zope:adapter
|
||||
name="edit_followup_event"
|
||||
for="loops.browser.node.NodeView
|
||||
zope.publisher.interfaces.browser.IBrowserRequest"
|
||||
factory="loops.organize.browser.event.EditFollowUpEvent"
|
||||
permission="zope.View" />
|
||||
|
||||
<!-- authentication -->
|
||||
|
||||
<browser:addform
|
||||
|
|
|
@ -27,9 +27,12 @@ from zope import interface, component
|
|||
from zope.app.pagetemplate import ViewPageTemplateFile
|
||||
from zope.cachedescriptors.property import Lazy
|
||||
|
||||
from cybertools.browser.action import actions
|
||||
from cybertools.meta.interfaces import IOptions
|
||||
from loops.browser.action import DialogAction
|
||||
from loops.browser.action import DialogAction, TargetAction
|
||||
from loops.browser.concept import ConceptView
|
||||
from loops.browser.form import CreateConceptPage, CreateConcept
|
||||
from loops.browser.form import EditConceptPage, EditConcept
|
||||
from loops.browser.node import NodeView
|
||||
from loops.common import adapted
|
||||
from loops.util import _
|
||||
|
@ -38,6 +41,39 @@ from loops.util import _
|
|||
organize_macros = ViewPageTemplateFile('view_macros.pt')
|
||||
|
||||
|
||||
actions.register('createEvent', 'portlet', DialogAction,
|
||||
title=_(u'Create Event...'),
|
||||
description=_(u'Create a new event.'),
|
||||
viewName='create_concept.html',
|
||||
dialogName='createEvent',
|
||||
typeToken='.loops/concepts/event',
|
||||
fixedType=True,
|
||||
prerequisites=['registerDojoDateWidget'],
|
||||
)
|
||||
|
||||
actions.register('editEvent', 'portlet', DialogAction,
|
||||
title=_(u'Edit Event...'),
|
||||
description=_(u'Modify event.'),
|
||||
viewName='edit_concept.html',
|
||||
dialogName='editEvent',
|
||||
prerequisites=['registerDojoDateWidget'],
|
||||
)
|
||||
|
||||
actions.register('createFollowUpEvent', 'portlet', TargetAction,
|
||||
title=_(u'Create Follow-up Event...'),
|
||||
description=_(u'Create an event that is linked to this one.'),
|
||||
viewName='create_followup_event.html',
|
||||
prerequisites=['registerDojoDateWidget'],
|
||||
)
|
||||
|
||||
actions.register('editFollowUpEvent', 'portlet', TargetAction,
|
||||
title=_(u'Edit Event...'),
|
||||
description=_(u'Modify follow-up event.'),
|
||||
viewName='edit_followup_event.html',
|
||||
prerequisites=['registerDojoDateWidget'],
|
||||
)
|
||||
|
||||
|
||||
class Events(ConceptView):
|
||||
|
||||
@Lazy
|
||||
|
@ -45,19 +81,11 @@ class Events(ConceptView):
|
|||
return organize_macros.macros['events']
|
||||
|
||||
def getActions(self, category='object', page=None, target=None):
|
||||
actions = []
|
||||
acts = super(Events, self).getActions(category, page, target)
|
||||
if category == 'portlet':
|
||||
actions.append(DialogAction(self, title=_(u'Create Event...'),
|
||||
description=_(u'Create a new event.'),
|
||||
viewName='create_concept.html',
|
||||
dialogName='createEvent',
|
||||
typeToken='.loops/concepts/event',
|
||||
fixedType=True,
|
||||
innerForm='inner_concept_form.html',
|
||||
page=page,
|
||||
target=target))
|
||||
self.registerDojoDateWidget()
|
||||
return actions
|
||||
acts.extend(actions.get(category, ['createEvent'],
|
||||
view=self, page=page, target=target))
|
||||
return acts
|
||||
|
||||
@Lazy
|
||||
def selectedDate(self):
|
||||
|
@ -215,3 +243,36 @@ class CalendarInfo(NodeView):
|
|||
def getEventTitles(self, day):
|
||||
events = self.events[day-1]
|
||||
return '; '.join(ev.title for ev in events)
|
||||
|
||||
|
||||
# special forms
|
||||
|
||||
class CreateFollowUpEventForm(CreateConceptPage):
|
||||
|
||||
fixedType = True
|
||||
typeToken = '.loops/concepts/event'
|
||||
form_action = 'create_followup_event'
|
||||
showAssignments = True
|
||||
|
||||
|
||||
class EditFollowUpEventForm(EditConceptPage, CreateFollowUpEventForm):
|
||||
|
||||
pass
|
||||
|
||||
|
||||
# form controllers
|
||||
|
||||
class BaseFollowUpController(object):
|
||||
|
||||
pass
|
||||
|
||||
|
||||
class CreateFollowUpEvent(CreateConcept, BaseFollowUpController):
|
||||
|
||||
defaultTypeToken = '.loops/concepts/event'
|
||||
|
||||
|
||||
class EditFollowUpEvent(EditConcept, BaseFollowUpController):
|
||||
|
||||
pass
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue