AnsweredAssumed Answered

Problems with packageitems.ftl

Question asked by rodrigoa on Jan 23, 2012
Latest reply on Apr 3, 2015 by evoci
Good morning all,

I am sorry if I will not be so clear, but I will really try, and I will appreciate very much If someone could help me.

I am having some problem to manipulate the packageitems.ftl. In my project I should modify a button to do another action, but I can not find where I should do the modifications, let me try to be more clear. Here is the packageitems.ftl:

<#include "/org/alfresco/components/form/controls/association.ftl" />

<#macro setPackageItemOptions field>

   <#local documentLinkResolver>function(item){ return Alfresco.util.siteURL("document-details?nodeRef=" + item.nodeRef, { site: }); }</#local>
   <#local allowAddAction = false>
   <#local allowRemoveAllAction = false>
   <#local allowRemoveAction = false>
   <#local actions = []>

   <#if['prop_bpm_packageActionGroup']?? &&['prop_bpm_packageActionGroup']?is_string &&['prop_bpm_packageActionGroup']?length &gt; 0>
      <#local allowAddAction = true>

   <#if['prop_bpm_packageItemActionGroup']?? &&['prop_bpm_packageItemActionGroup']?is_string &&['prop_bpm_packageItemActionGroup']?length &gt; 0>
      <#local packageItemActionGroup =['prop_bpm_packageItemActionGroup']>
      <#local viewMoreAction = { "name": "view_more_actions", "label": "form.control.object-picker.workflow.view_more_actions", "link": documentLinkResolver }>
      <#if packageItemActionGroup == "read_package_item_actions" || packageItemActionGroup == "edit_package_item_actions">
         <#local actions = actions + [viewMoreAction]>
      <#elseif packageItemActionGroup == "remove_package_item_actions" || packageItemActionGroup == "start_package_item_actions" || packageItemActionGroup == "edit_and_remove_package_item_actions">
         <#local actions = actions + [viewMoreAction]>
         <#local allowRemoveAllAction = true>
         <#local allowRemoveAction = true>
      <#elseif packageItemActionGroup >
         <#local actions = actions + [viewMoreAction]>     

   <#– Additional item actions –>

   <script type="text/javascript">//<![CDATA[
      <#– Modify the properties on the object finder created by association control–>
      var picker = Alfresco.util.ComponentManager.get("${controlId}");
         showLinkToTarget: true,
         targetLinkTemplate: ${documentLinkResolver},        
         <#if form.mode == "create" && form.destination?? && form.destination?length &gt; 0>
         startLocation: "${form.destination?js_string}",
         itemType: "cm:content",
         displayMode: "${field.control.params.displayMode!"list"}",
         listItemActions: [
         <#list actions as action>
            name: "${}",
            link: ${},
            <#elseif action.event>
            event: "${action.event}",
            label: "${action.label}"
         }<#if action_has_next>,</#if>
         allowRemoveAction: ${allowRemoveAction?string},
         allowRemoveAllAction: ${allowRemoveAllAction?string},
         allowSelectAction: ${allowAddAction?string},
         selectActionLabel: "${field.control.params.selectActionLabel!msg("button.add")}"


<@setPackageItemOptions field />

I saw that the variable "allowSelectAction" is also in the object-finder.js. Thus, I tried to modify the part below:

               if (this.options.allowSelectAction)
                  var addButtonEl = document.createElement("button");
                  this.widgets.addButton = Alfresco.util.createYUIButton(this, null, this.onAddButtonClick,
                     label: this.options.selectActionLabel,
                     disabled: true
                  }, addButtonEl);

I have created a function called onModifierEnLigneButtonClick, to replace "this.onAddButtonClick", but did not work. Apparently, this object-finder.js is nothing to do with the packegeitens.ftl. Actually, I am not sure about this, but I erased all the code and all the system continues to work like always.

Thanks in advance,

Rodrigo Araujo