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");'
|
||||
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):
|
||||
self.registerDojo()
|
||||
self.registerDojoEditor()
|
||||
|
|
|
@ -380,6 +380,10 @@ class CreateWorkItemForm(ObjectForm, BaseTrackView):
|
|||
def checkPermissions(self):
|
||||
return canAccessObject(self.task or self.target)
|
||||
|
||||
def setupView(self):
|
||||
self.setupController()
|
||||
self.registerDojoComboBox()
|
||||
|
||||
@Lazy
|
||||
def macro(self):
|
||||
return self.template.macros['create_workitem']
|
||||
|
@ -404,6 +408,20 @@ class CreateWorkItemForm(ObjectForm, BaseTrackView):
|
|||
track.workItemType = types[0].name
|
||||
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
|
||||
def title(self):
|
||||
return self.track.title or u''
|
||||
|
|
|
@ -70,7 +70,8 @@
|
|||
<form method="post" id="addWorkitem_form" class="dialog"
|
||||
xx_dojoType="dijit.form.Form"
|
||||
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="id"
|
||||
tal:attributes="value request/form/id|nothing" />
|
||||
|
@ -94,8 +95,17 @@
|
|||
tal:attributes="value python:workItemTypes[0].name" />
|
||||
</tal:type>
|
||||
<label i18n:translate="" for="title">Title</label>
|
||||
<div>
|
||||
<input name="title" id="title" style="width: 60em"
|
||||
<div tal:define="titleSelection view/titleSelection">
|
||||
<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
|
||||
tal:attributes="value view/title" /></div>
|
||||
</div>
|
||||
|
|
Loading…
Add table
Reference in a new issue