Changeset 1123


Ignore:
Timestamp:
23.07.2010 23:00:24 (19 months ago)
Author:
zmsdev
Message:

Added support for access-nodes to actions.

Location:
ZMS/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • ZMS/trunk/_metacmdmanager.py

    r898 r1123  
    3737# ------------- 
    3838 
    39 dtmlMethodExampleCode = \ 
     39dtmlMethodWithExecExampleCode = \ 
    4040  '<dtml-comment>\n' + \ 
    4141  '# Example code:\n' + \ 
     
    4444  '<dtml-call expr="REQUEST.set(\'message\',\'This is %s\'%meta_type)">\n' + \ 
    4545  '<dtml-return message>\n' + \ 
     46  '' 
     47 
     48dtmlMethodWithoutExecExampleCode = \ 
     49  '<dtml-comment>\n' + \ 
     50  '# Example code:\n' + \ 
     51  '</dtml-comment>\n' + \ 
     52  '\n' + \ 
     53  '<dtml-var manage_page_header>\n' + \ 
     54  '<head>\n' + \ 
     55  ' <title>$$NAME$$</title>\n' + \ 
     56  '</head>\n' + \ 
     57  '<dtml-var "manage_tabs(_,_,my_manage_options=[{\'label\':\'$$NAME$$\',\'action\':\'\'}])">\n' + \ 
     58  '<dtml-var f_bo_area>\n' + \ 
     59  '<dtml-var f_bo_area>\n' + \ 
     60  '<dtml-var manage_page_header>\n' + \ 
    4661  '' 
    4762 
     
    107122    newMetaTypes = item['meta_types'] 
    108123    newRoles = item['roles'] 
     124    newNodes = item.get('nodes','{$}') 
    109125    newData = item['data'] 
    110126 
    111127    # Return with new id. 
    112     return setMetacmd(self, None, newId, newAcquired, newName, newMethod, newData, newExec, newDescription, \ 
    113                newMetaTypes, newRoles, zms_system) 
     128    return setMetacmd(self, None, newId, newAcquired, newName, newMethod, \ 
     129      newData, newExec, newDescription, newMetaTypes, newRoles, newNodes, \ 
     130      zms_system) 
    114131 
    115132 
     
    159176def setMetacmd(self, id, newId, newAcquired, newName='', newMethod=None, \ 
    160177      newData=None, newExec=0, newDescription='', newMetaTypes=[], \ 
    161       newRoles=['ZMSAdministrator'], zms_system=0): 
     178      newRoles=['ZMSAdministrator'], newNodes='{$}', zms_system=0): 
    162179  obs = copy.deepcopy(getRawMetacmds(self)) 
    163180 
     
    175192  new['meta_types'] = newMetaTypes 
    176193  new['roles'] = newRoles 
     194  new['nodes'] = newNodes 
    177195  new['exec'] = newExec 
    178196  new['zms_system'] = zms_system 
     
    190208    if newMethod == 'DTML Method': 
    191209      self.manage_addDTMLMethod(newId,'*** DO NOT DELETE OR MODIFY ***') 
    192       if newData is None: newData = dtmlMethodExampleCode 
     210      if newData is None: 
     211        if newExec: 
     212          newData = dtmlMethodWithExecExampleCode 
     213        else: 
     214          newData = dtmlMethodWithoutExecExampleCode 
     215        newData = newData.replace('$$NAME$$',newName) 
    193216    elif newMethod == 'DTML Document': 
    194217      self.manage_addDTMLDocument(newId,'*** DO NOT DELETE OR MODIFY ***') 
     
    349372          newMetaTypes = REQUEST.get('el_meta_types',[]) 
    350373          newRoles = REQUEST.get('el_roles',[]) 
     374          newNodes = REQUEST.get('el_nodes','') 
    351375          id = setMetacmd(self, id, newId, newAcquired, newName, newMethod, newData, newExec, newDescription, \ 
    352             newMetaTypes, newRoles) 
     376            newMetaTypes, newRoles, newNodes) 
    353377          message = self.getZMILangStr('MSG_CHANGED') 
    354378         
  • ZMS/trunk/dtml/metacmd/manage_customizeform.dtml

    r898 r1123  
    8080  <table cellspacing="1" cellpadding="0" border="0" class="zmiNeutralColorStrong0"> 
    8181  <colgroup> 
    82    <col width="20" /> 
    83    <col /> 
    84    <col /> 
    85    <col /> 
    86    <col /> 
    87    <col width="15%" /> 
     82   <col /> 
     83   <col /> 
     84   <col /> 
     85   <col /> 
     86   <col /> 
    8887   <col width="20" /> 
    8988  </colgroup> 
    9089 
    91   <dtml-in "getMetaCmdIds()"> 
     90  <dtml-in "getMetaCmdIds()" sort> 
    9291  <dtml-let metaCmdId=sequence-item metaCmd="getMetaCmd(metaCmdId)" ob="_.getattr(this(),metaCmd['id'])"> 
    9392 
     
    104103  <dtml-if sequence-start> 
    105104  <tr> 
    106    <td colspan="7"><dtml-var "f_headline(_,_,headline=getZMILangStr('TAB_EDIT'),extra='<a href='+QUOT+'javascript:exportBtnClick()'+QUOT+'><img src='+QUOT+MISC_ZMS+'mime_type.text_xml.gif'+QUOT+' title='+QUOT+getZMILangStr('BTN_EXPORT')+' (XML)'+QUOT+' border='+QUOT+'1'+QUOT+' align='+QUOT+'absmiddle'+QUOT+'/></a>')"></td> 
    107   </tr> 
    108   <!-- Headline --> 
    109   <dtml-if "REQUEST.get('id','')!=''"> 
     105   <td colspan="6"><dtml-var "f_headline(_,_,headline=getZMILangStr('TAB_EDIT'),extra='<a href='+QUOT+'javascript:exportBtnClick()'+QUOT+'><img src='+QUOT+MISC_ZMS+'mime_type.text_xml.gif'+QUOT+' title='+QUOT+getZMILangStr('BTN_EXPORT')+' (XML)'+QUOT+' border='+QUOT+'1'+QUOT+' align='+QUOT+'absmiddle'+QUOT+'/></a>')"></td> 
     106  </tr> 
     107  </dtml-if> 
     108 
     109  <dtml-if "REQUEST['id']==metaCmd['id']"> 
     110   <!-- Headline --> 
    110111   <tr class="zmiNeutralColorStrong0"> 
    111     <td><input class="form-element" type="radio" name="id" value="" <dtml-if "REQUEST.get('id','')==''">checked="checked"</dtml-if> onclick="radioOnClick(this,'<dtml-var URL0>');"></td> 
    112112    <td><div class="form-label"><dtml-var "getZMILangStr('ATTR_ID')"></div></td> 
    113113    <td><div class="form-label"><dtml-var "getZMILangStr('ATTR_DISPLAY')"></div></td> 
    114     <td><div class="form-label"><dtml-var "getZMILangStr('ATTR_TYPE')"></div></td> 
    115114    <td><div class="form-label" align="center">Exec.</div></td> 
     115    <td><div class="form-label"><dtml-var "getZMILangStr('ATTR_DESCRIPTION')"></div></td> 
    116116    <td colspan="2">&nbsp;</td> 
    117117   </tr> 
    118   </dtml-if> 
    119   </dtml-if> 
    120  
    121   <dtml-if "REQUEST['id']==metaCmd['id']"> 
    122118  <dtml-if "metaCmd.get('acquired',0) == 1"> 
    123119 
    124120  <!-- Acquired Action --> 
    125121  <tr valign="top" class="zmiNeutralColorMedium0"> 
    126    <td rowspan="2"><input class="form-element" type="radio" name="id" value="<dtml-var "metaCmd['id']">" onclick="radioOnClick(this,'<dtml-var URL0>');" checked="checked"></td> 
    127122   <td class="form-text"> 
     123    <input type="hidden" name="id" value="<dtml-var "metaCmd['id']">"/> 
    128124    <img src="<dtml-var "ob.icon">" title="<dtml-var "ob.meta_type">" border="0" align="absmiddle" 
    129125    ><dtml-if "metaCmd.get('zms_system',0) == 1"><img src="<dtml-var MISC_ZMS>ico_default.gif" title="default / unmodified" style="margin-right:2" align="absmiddle"/></dtml-if 
     
    133129   </td> 
    134130   <td><div class="form-text"><dtml-var "string_maxlen(metaCmd['name'],20)"></div></td> 
    135    <td><div class="form-text"><i>(<dtml-var "_.getattr(this(),metaCmd['id']).meta_type">)</i></div></td> 
    136131   <td align="center"><dtml-var "getCheckbox(fmName='form0',elName='el_exec:int',value=metaCmd['exec'],enabled=False,REQUEST=REQUEST)"></td> 
     132   <td><div class="form-small"><dtml-var "metaCmd['description']"></div></td> 
    137133   <td valign="top" nowrap="nowrap"> 
    138134    <input class="form-submit" name="btn" type="submit" value="<dtml-var "getZMILangStr('BTN_COPY')" html_quote>" onclick="btnClick(this);"> 
    139135    <dtml-unless has_acquisition><input class="form-submit" name="btn" type="submit" value="<dtml-var "getZMILangStr('BTN_DELETE')" html_quote>" onclick="btnClick(this);"></dtml-unless> 
    140136   </td> 
    141    <td rowspan="2"><input type="checkbox" disabled="disabled"/></td> 
    142   </tr> 
    143   <!-- Acquired Action-Properties --> 
    144   <tr class="zmiNeutralColorMedium0"> 
    145    <td colspan="5"> 
    146     <table cellspacing="0" cellpadding="5" border="0" width="80%"> 
    147     <tr> 
    148      <td> 
    149       <table cellspacing="1" cellpadding="1" border="0" class="zmiNeutralColorStrong0"> 
    150       <tr valign="top"> 
    151        <td><div class="form-small"><b><dtml-var "getZMILangStr('ATTR_DESCRIPTION')"></b></div></td> 
    152        <td><div class="form-small"><b><dtml-var "getZMILangStr('ATTR_ROLES')"></b></div></td> 
    153        <td><div class="form-small"><b><dtml-var "getZMILangStr('ATTR_OBJECTS')"></b></div></td> 
    154       </tr> 
    155       <tr valign="top" class="zmiNeutralColorLight0"> 
    156        <td><div class="form-small"><dtml-var "metaCmd['description']" newline_to_br></div></td> 
    157        <td><div class="form-small"> 
    158         <dtml-in "metaCmd['roles']"> 
    159          <dtml-let role=sequence-item  
    160                    role_str="'ROLE_%s'%role.upper()" 
    161                    role_lang_str="getZMILangStr(role_str)" 
    162            ><dtml-if "role_str==role_lang_str" 
    163             ><dtml-var role 
    164            ><dtml-else 
    165             ><dtml-var role_lang_str 
    166            ></dtml-if 
    167          ></dtml-let> 
    168         <br/> 
    169         </dtml-in> 
    170        </div></td> 
    171        <td><div class="form-small"> 
    172         <dtml-in "metaCmd['meta_types']"> 
    173          <dtml-var "display_type(REQUEST,_['sequence-item'])"><br /> 
    174         </dtml-in> 
    175        </div></td> 
    176       </tr> 
    177       </table> 
    178      </td> 
    179     </tr> 
    180     </table> 
    181    </td> 
     137   <td>&nbsp;</td> 
    182138  </tr> 
    183139 
     
    186142  <!-- Action --> 
    187143  <tr valign="top" class="zmiNeutralColorMedium0"> 
    188    <td rowspan="3"><input class="form-element" type="radio" name="id" value="<dtml-var "metaCmd['id']">" onclick="radioOnClick(this,'<dtml-var URL0>');" checked="checked"></td> 
    189144   <td class="form-element" nowrap="nowrap"> 
     145    <input type="hidden" name="id" value="<dtml-var "metaCmd['id']">"/> 
    190146    <img src="<dtml-var "ob.icon">" title="<dtml-var "ob.meta_type">" border="0" align="absmiddle" 
    191147    ><dtml-if "metaCmd.get('zms_system',0) == 1"><img src="<dtml-var MISC_ZMS>ico_default.gif" title="default / unmodified" style="margin-right:2" align="absmiddle"/></dtml-if 
     
    195151   </td> 
    196152   <td><dtml-var "getTextInput('form0','el_name',15,metaCmd['name'])"></td> 
    197    <td class="form-element" nowrap="nowrap"><i>(<dtml-var "_.getattr(this(),metaCmd['id']).meta_type">)</i></td> 
    198153   <td class="form-element" align="center"><dtml-var "getCheckbox(fmName='form0',elName='el_exec:int',value=metaCmd['exec'],enabled=1,hidden=1,REQUEST=REQUEST)"></td> 
     154   <td class="form-small"> 
     155    <textarea class="form-small" name="el_description" cols="80" rows="1" wrap="virtual" style="width:200px;height:20px;background-color:white;"><dtml-var "metaCmd['description']" html_quote></textarea> 
     156    <a href="manage_editorForm?came_from=<dtml-var "URL+'?'+QUERY_STRING" url_quote>&lang=<dtml-var lang>&fmName=form0&elName=el_description&headline=<dtml-var "getZMILangStr('ATTR_DESCRIPTION')" url_quote>" onclick="javascript:return confirmChanges(this);"><img src="<dtml-var MISC_ZMS>table_cell_edit.gif" border="0" align="bottom" /></a> 
     157   </td> 
    199158   <td nowrap="nowrap"> 
    200159    <input class="form-submit" name="btn" type="submit" value="<dtml-var "getZMILangStr('BTN_SAVE')" html_quote>" onclick="btnClick(this);"> 
     
    204163  </tr> 
    205164  <tr class="zmiNeutralColorMedium0"> 
    206    <td colspan="6"> 
    207     <table cellspacing="0" cellpadding="5" border="0" width="80%"> 
    208     <!-- DTML Method / DTML Document / Script (Python) --> 
    209     <tr> 
    210      <td> 
    211       <table cellspacing="0" cellpadding="1" border="0" width="100%"> 
    212       <tr class="zmiNeutralColorStrong0" valign="middle"> 
    213        <td class="form-small"> 
    214         <img src="<dtml-var "ob.icon">" title="<dtml-var "ob.meta_type">" border="0" align="absmiddle"/> 
    215         <b>&nbsp;<dtml-var "ob.meta_type">&nbsp;</b> 
    216        </td> 
    217       </tr> 
    218       </table> 
     165   <td colspan="6" style="padding:4px;"> 
     166 
    219167      <div class="form-element"> 
    220168       <dtml-if "ob.meta_type in ['DTML Method','DTML Document']"> 
    221         <dtml-var "getTextArea(fmName='form0',elName='el_data:text',cols=50,rows=20,value=ob.raw,enabled=1,REQUEST=REQUEST,css='form-fixed',wrap='off')"> 
     169        <dtml-var "getTextArea(fmName='form0',elName='el_data:text',cols=80,rows=20,value=ob.raw,enabled=1,REQUEST=REQUEST,css='form-fixed',wrap='off',extra=' style=\042width:100%;\042')"> 
    222170       <dtml-elif "ob.meta_type=='Script (Python)'"> 
    223171        <table cellspacing="1" cellpadding="1" border="0"> 
     
    242190       </dtml-if> 
    243191      </div> 
    244      </td> 
    245     </tr> 
    246     <!-- Action-Properties --> 
    247     <tr> 
    248      <td> 
    249       <table cellspacing="1" cellpadding="2" border="0" class="zmiNeutralColorStrong0"> 
    250       <tr valign="middle"> 
    251        <td class="form-small" colspan="3"><b>&nbsp;<dtml-var "getZMILangStr('TAB_PROPERTIES')">&nbsp;</b></td> 
     192 
     193      <table cellspacing="1" cellpadding="2" border="0" width="100%"> 
     194      <tr class="zmiNeutralColorStrong0"> 
     195       <td><div class="form-small"><b><dtml-var "getZMILangStr('TAB_ACCESS')"></b></div></td> 
     196       <td class="form-small"><dtml-var "getZMILangStr('ATTR_NODE')"></td> 
     197       <td class="form-small"><dtml-var "getZMILangStr('ATTR_ROLES')"></td> 
     198       <td class="form-small"><dtml-var "getZMILangStr('ATTR_OBJECTS')"></td> 
    252199      </tr> 
    253       <tr valign="top" class="zmiNeutralColorMedium0"> 
    254        <td class="form-small"> 
    255         <div class="form-small"><b><dtml-var "getZMILangStr('ATTR_DESCRIPTION')"></b></div> 
    256         <dtml-var "getTextArea(fmName='form0',elName='el_description:text',cols=20,rows=5,value=metaCmd['description'],enabled=1,REQUEST=REQUEST,css='form-small',wrap='virtual')"> 
     200      <tr valign="top" class="zmiTableRowEven"> 
     201       <td class="form-small"><b><dtml-var "getZMILangStr('BTN_EXECUTE')"></b></td> 
     202       <td> 
     203        <textarea class="form-small" name="el_nodes" cols="80" rows="1" wrap="virtual" style="width:200px;height:20px;background-color:white;"><dtml-var "metaCmd.get('nodes','{$}')" html_quote></textarea> 
     204        <a href="manage_editorForm?came_from=<dtml-var "URL+'?'+QUERY_STRING" url_quote>&lang=<dtml-var lang>&fmName=form0&elName=el_nodes&headline=<dtml-var "'%s - %s'%(getZMILangStr('TAB_ACCESS'),getZMILangStr('ATTR_NODE'))" url_quote>" onclick="javascript:return confirmChanges(this);"><img src="<dtml-var MISC_ZMS>table_cell_edit.gif" border="0" align="bottom" /></a> 
    257205       </td> 
    258        <td class="form-small"> 
    259         <div class="form-small"><b><dtml-var "getZMILangStr('ATTR_ROLES')"></b></div> 
     206       <td> 
    260207        <select class="form-small" name="el_roles:list" multiple="multiple" size="<dtml-var "_.min(10,len(userdefined_roles()))">"> 
    261208         <dtml-in userdefined_roles> 
    262           <dtml-let role=sequence-item  
    263                     role_str="'ROLE_%s'%role.upper()" 
    264                     role_lang_str="getZMILangStr(role_str)"> 
     209          <dtml-let role=sequence-item role_str="'ROLE_%s'%role.upper()" role_lang_str="getZMILangStr(role_str)"> 
    265210           <option value="<dtml-var role>" <dtml-if "role in metaCmd['roles']">selected="selected"</dtml-if> 
    266211            ><dtml-if "role_str==role_lang_str" 
     
    274219        </select> 
    275220       </td> 
    276        <td class="form-small"> 
    277         <div class="form-small"><b><dtml-var "getZMILangStr('ATTR_OBJECTS')"></b></div> 
     221       <td> 
    278222        <select class="form-small" name="el_meta_types:list" size="10" multiple="multiple"> 
    279223        <dtml-in "getMetaobjIds()"> 
     
    286230      </tr> 
    287231      </table> 
    288      </td> 
    289     </tr> 
    290     </table> 
     232 
    291233   </td> 
    292234  </tr> 
     
    295237  <dtml-else> 
    296238   <dtml-if "REQUEST.get('id','')==''"> 
    297     <tr valign="top" class="neutralColorWhite"> 
    298      <td><input class="form-element" type="radio" name="id" value="<dtml-var "metaCmd['id']">" onclick="radioOnClick(this,'<dtml-var URL0>');"></td> 
     239    <tr class="neutralColorWhite"> 
    299240     <td colspan="5"> 
    300       <div class="form-text"> 
     241      <div class="form-small"> 
     242       <a href="?lang=<dtml-var lang>&id=<dtml-var "metaCmd['id']">" class="zmi"> 
    301243       <img src="<dtml-var "ob.icon">" title="<dtml-var "ob.meta_type">" border="0" align="absmiddle" 
    302244       ><dtml-if "metaCmd.get('zms_system',0) == 1"><img src="<dtml-var MISC_ZMS>ico_default.gif" title="default / unmodified" style="margin-right:2" align="absmiddle"/></dtml-if 
     
    304246       ><dtml-if has_acquisition><img src="<dtml-var MISC_ZMS>ico_has_acquisition.gif" title="has acquisitions: <dtml-var has_acquisition>" border="0" align="absmiddle"/></dtml-if> 
    305247       <b><dtml-var "metaCmd['id']"></b> 
     248       </a> 
    306249       <i>(<dtml-var "metaCmd['name']">)</i> 
    307250      </div> 
     
    317260  <dtml-if "REQUEST.get('id','')==''"> 
    318261  <tr> 
    319    <td colspan="7"><dtml-var "f_headline(_,_,headline=getZMILangStr('BTN_INSERT'))"></td> 
    320   </tr> 
    321   <tr valign="top" class="zmiNeutralColorLight0"> 
    322    <td>&nbsp;</td> 
    323    <td class="form-element"> 
    324     <dtml-var "getTextInput('form0','_id',10,'')"> 
    325     <div align="right" class="form-small"><dtml-var "getZMILangStr('ATTR_ID')"></div> 
    326    </td> 
    327    <td class="form-element"> 
    328     <dtml-var "getTextInput('form0','_name',15,'')"> 
    329     <div align="right" class="form-small"><dtml-var "getZMILangStr('ATTR_DISPLAY')"></div> 
    330    </td> 
    331    <td class="form-element"> 
    332     <select class="form-element" name="_type"> 
    333      <option value="DTML Method">DTML Method</option> 
    334      <option value="DTML Document">DTML Document</option> 
    335      <option value="Script (Python)">Script (Python)</option> 
    336     </select> 
    337     <div align="right" class="form-small"><dtml-var "getZMILangStr('ATTR_TYPE')"></div> 
    338    </td> 
    339    <td align="center" class="form-element"> 
    340     <dtml-var "getCheckbox(fmName='form0',elName='_exec:int',value=1,enabled=True,REQUEST=REQUEST)"> 
    341     <div class="form-small">Exec</div> 
    342    </td> 
    343    <td class="form-element" colspan="2"> 
    344     <input class="form-submit" name="btn" type="submit" value="<dtml-var "getZMILangStr('BTN_INSERT')" html_quote>" onclick="btnClick(this);"> 
    345    </td> 
     262   <td colspan="6"><dtml-var "f_headline(_,_,headline=getZMILangStr('BTN_INSERT'))"></td> 
     263  </tr> 
     264  <tr class="zmiNeutralColorLight0"> 
     265   <td colspan="6"> 
     266    <table> 
     267    <tr valign="top"> 
     268     <td class="form-element"> 
     269      <dtml-var "getTextInput('form0','_id',10,'')"> 
     270      <div align="right" class="form-small"><dtml-var "getZMILangStr('ATTR_ID')"></div> 
     271     </td> 
     272     <td class="form-element"> 
     273      <dtml-var "getTextInput('form0','_name',15,'')"> 
     274      <div align="right" class="form-small"><dtml-var "getZMILangStr('ATTR_DISPLAY')"></div> 
     275     </td> 
     276     <td class="form-element"> 
     277      <select class="form-element" name="_type"> 
     278       <option value="DTML Method">DTML Method</option> 
     279       <option value="DTML Document">DTML Document</option> 
     280       <option value="Script (Python)">Script (Python)</option> 
     281      </select> 
     282      <div align="right" class="form-small"><dtml-var "getZMILangStr('ATTR_TYPE')"></div> 
     283     </td> 
     284     <td align="center" class="form-element"> 
     285      <dtml-var "getCheckbox(fmName='form0',elName='_exec:int',value=1,enabled=True,REQUEST=REQUEST)"> 
     286      <div class="form-small">Exec</div> 
     287     </td> 
     288     <td><input class="form-submit" name="btn" type="submit" value="<dtml-var "getZMILangStr('BTN_INSERT')" html_quote>" onclick="btnClick(this);"></td> 
     289    </tr> 
     290    </table> 
    346291  </tr> 
    347292  </dtml-if> 
     
    356301      <dtml-unless count> 
    357302       <tr> 
    358         <td colspan="7"><dtml-var "f_headline(_,_,headline='%s: %s'%(getZMILangStr('BTN_ACQUIRE'),portalMaster.getHome().id))"></td> 
     303        <td colspan="6"><dtml-var "f_headline(_,_,headline='%s: %s'%(getZMILangStr('BTN_ACQUIRE'),portalMaster.getHome().id))"></td> 
    359304       </tr> 
    360305       <tr class="zmiNeutralColorLight0"> 
    361         <td>&nbsp;</td> 
    362306        <td colspan="6" class="form-element"> 
    363307         <table cellspacing="0" cellpadding="0" border="0"> 
     
    388332  <dtml-if "REQUEST.get('id','')==''"> 
    389333  <tr> 
    390    <td colspan="7"><dtml-var "f_headline(_,_,headline='<img src=%smime_type.text_xml.gif alt=XML border=0 align=absmiddle>&nbsp;%s'%(MISC_ZMS,getZMILangStr('BTN_IMPORT')))"></td> 
     334   <td colspan="6"><dtml-var "f_headline(_,_,headline='<img src=%smime_type.text_xml.gif alt=XML border=0 align=absmiddle>&nbsp;%s'%(MISC_ZMS,getZMILangStr('BTN_IMPORT')))"></td> 
    391335  </tr> 
    392336  <tr class="zmiNeutralColorLight0"> 
    393    <td colspan="7"> 
     337   <td colspan="6"> 
    394338    <table cellspacing="0" cellpadding="2" border="0"> 
    395339    <tr valign="middle"> 
     
    399343    <tr> 
    400344     <td align="right"><div class="form-label"><dtml-var "getZMILangStr('OR').lower()"></div></td> 
    401      <td colspan="7"> 
     345     <td> 
    402346      <select class="form-element" id="init" name="init" onfocus="zmiExpandConfFiles(this,'.metacmd.')" onmouseover="zmiExpandConfFiles(this,'.metacmd.')"> 
    403347       <option value="">--- <dtml-var "getZMILangStr('BTN_INIT')">... ---</option> 
  • ZMS/trunk/zmsobject.py

    r1122 r1123  
    960960      actions = [] 
    961961      auth_user = REQUEST['AUTHENTICATED_USER'] 
     962      absolute_url = '/'.join(list(self.getPhysicalPath())+['']) 
    962963       
    963964      #-- Commands. 
     
    970971          hasRole = hasRole or len(self.intersection_list(self.getUserRoles(auth_user),metaCmd['roles'])) > 0 
    971972          hasRole = hasRole or auth_user.has_role('Manager') 
    972           if hasMetaType and hasRole: 
     973          nodes = self.string_list(metaCmd.get('nodes','{$}')) 
     974          sl = [] 
     975          sl.extend(map( lambda x: (self.getHome().id+'/content/'+x[2:-1]+'/').replace('//','/'),filter(lambda x: x.find('@')<0,nodes))) 
     976          sl.extend(map( lambda x: (x[2:-1].replace('@','/content/')+'/').replace('//','/'),filter(lambda x: x.find('@')>0,nodes))) 
     977          hasNode = len( filter( lambda x: absolute_url.find(x)>=0, sl)) > 0 
     978          if hasMetaType and hasRole and hasNode: 
    973979            actions.append((metaCmd['name'],path+'manage_executeMetacmd')) 
    974980       
Note: See TracChangeset for help on using the changeset viewer.