provide selectable standard texts for work items via data table 'organize.work.texts'
This commit is contained in:
parent
9c71572be8
commit
c970507c85
3 changed files with 37 additions and 3 deletions
|
@ -989,6 +989,12 @@ class BaseView(GenericView, I18NView, SortableMixin):
|
||||||
jsCall = 'dojo.require("dojox.image.Lightbox");'
|
jsCall = 'dojo.require("dojox.image.Lightbox");'
|
||||||
self.controller.macros.register('js-execute', jsCall, jsCall=jsCall)
|
self.controller.macros.register('js-execute', jsCall, jsCall=jsCall)
|
||||||
|
|
||||||
|
def registerDojoComboBox(self):
|
||||||
|
self.registerDojo()
|
||||||
|
jsCall = ('dojo.require("dijit.form.ComboBox");')
|
||||||
|
self.controller.macros.register('js-execute',
|
||||||
|
'dojo.require.ComboBox', jsCall=jsCall)
|
||||||
|
|
||||||
def registerDojoFormAll(self):
|
def registerDojoFormAll(self):
|
||||||
self.registerDojo()
|
self.registerDojo()
|
||||||
self.registerDojoEditor()
|
self.registerDojoEditor()
|
||||||
|
|
|
@ -380,6 +380,10 @@ class CreateWorkItemForm(ObjectForm, BaseTrackView):
|
||||||
def checkPermissions(self):
|
def checkPermissions(self):
|
||||||
return canAccessObject(self.task or self.target)
|
return canAccessObject(self.task or self.target)
|
||||||
|
|
||||||
|
def setupView(self):
|
||||||
|
self.setupController()
|
||||||
|
self.registerDojoComboBox()
|
||||||
|
|
||||||
@Lazy
|
@Lazy
|
||||||
def macro(self):
|
def macro(self):
|
||||||
return self.template.macros['create_workitem']
|
return self.template.macros['create_workitem']
|
||||||
|
@ -404,6 +408,20 @@ class CreateWorkItemForm(ObjectForm, BaseTrackView):
|
||||||
track.workItemType = types[0].name
|
track.workItemType = types[0].name
|
||||||
return track
|
return track
|
||||||
|
|
||||||
|
@Lazy
|
||||||
|
def titleSelection(self):
|
||||||
|
result = []
|
||||||
|
dt = adapted(self.conceptManager.get('organize.work.texts'))
|
||||||
|
if dt is None or not dt.data:
|
||||||
|
return result
|
||||||
|
names = ([getName(self.target)] +
|
||||||
|
[getName(p.object)
|
||||||
|
for p in self.target.getAllParents(ignoreTypes=True)])
|
||||||
|
for name, text in dt.data.values():
|
||||||
|
if not name or name in names:
|
||||||
|
result.append(text)
|
||||||
|
return result
|
||||||
|
|
||||||
@Lazy
|
@Lazy
|
||||||
def title(self):
|
def title(self):
|
||||||
return self.track.title or u''
|
return self.track.title or u''
|
||||||
|
|
|
@ -70,7 +70,8 @@
|
||||||
<form method="post" id="addWorkitem_form" class="dialog"
|
<form method="post" id="addWorkitem_form" class="dialog"
|
||||||
xx_dojoType="dijit.form.Form"
|
xx_dojoType="dijit.form.Form"
|
||||||
tal:define="workItemTypes view/workItemTypes;
|
tal:define="workItemTypes view/workItemTypes;
|
||||||
workItemType view/workItemType">
|
workItemType view/workItemType;
|
||||||
|
dummy view/setupView">
|
||||||
<input type="hidden" name="form.action" value="create_workitem" />
|
<input type="hidden" name="form.action" value="create_workitem" />
|
||||||
<input type="hidden" name="id"
|
<input type="hidden" name="id"
|
||||||
tal:attributes="value request/form/id|nothing" />
|
tal:attributes="value request/form/id|nothing" />
|
||||||
|
@ -94,8 +95,17 @@
|
||||||
tal:attributes="value python:workItemTypes[0].name" />
|
tal:attributes="value python:workItemTypes[0].name" />
|
||||||
</tal:type>
|
</tal:type>
|
||||||
<label i18n:translate="" for="title">Title</label>
|
<label i18n:translate="" for="title">Title</label>
|
||||||
<div>
|
<div tal:define="titleSelection view/titleSelection">
|
||||||
<input name="title" id="title" style="width: 60em"
|
<select tal:condition="titleSelection"
|
||||||
|
data-dojo-type="dijit/form/ComboBox" required
|
||||||
|
name="title" id="title" style="width: 100%"
|
||||||
|
tal:attributes="value view/title" >
|
||||||
|
<option selected></option>
|
||||||
|
<option tal:repeat="text view/titleSelection"
|
||||||
|
tal:content="text"></option>
|
||||||
|
</select>
|
||||||
|
<input tal:condition="not:titleSelection"
|
||||||
|
name="title" id="title" style="width: 60em"
|
||||||
dojoType="dijit.form.ValidationTextBox" required
|
dojoType="dijit.form.ValidationTextBox" required
|
||||||
tal:attributes="value view/title" /></div>
|
tal:attributes="value view/title" /></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Add table
Reference in a new issue