Changeset 1123
- Timestamp:
- 23.07.2010 23:00:24 (19 months ago)
- Location:
- ZMS/trunk
- Files:
-
- 3 edited
-
_metacmdmanager.py (modified) (7 diffs)
-
dtml/metacmd/manage_customizeform.dtml (modified) (15 diffs)
-
zmsobject.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
ZMS/trunk/_metacmdmanager.py
r898 r1123 37 37 # ------------- 38 38 39 dtmlMethod ExampleCode = \39 dtmlMethodWithExecExampleCode = \ 40 40 '<dtml-comment>\n' + \ 41 41 '# Example code:\n' + \ … … 44 44 '<dtml-call expr="REQUEST.set(\'message\',\'This is %s\'%meta_type)">\n' + \ 45 45 '<dtml-return message>\n' + \ 46 '' 47 48 dtmlMethodWithoutExecExampleCode = \ 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' + \ 46 61 '' 47 62 … … 107 122 newMetaTypes = item['meta_types'] 108 123 newRoles = item['roles'] 124 newNodes = item.get('nodes','{$}') 109 125 newData = item['data'] 110 126 111 127 # 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) 114 131 115 132 … … 159 176 def setMetacmd(self, id, newId, newAcquired, newName='', newMethod=None, \ 160 177 newData=None, newExec=0, newDescription='', newMetaTypes=[], \ 161 newRoles=['ZMSAdministrator'], zms_system=0):178 newRoles=['ZMSAdministrator'], newNodes='{$}', zms_system=0): 162 179 obs = copy.deepcopy(getRawMetacmds(self)) 163 180 … … 175 192 new['meta_types'] = newMetaTypes 176 193 new['roles'] = newRoles 194 new['nodes'] = newNodes 177 195 new['exec'] = newExec 178 196 new['zms_system'] = zms_system … … 190 208 if newMethod == 'DTML Method': 191 209 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) 193 216 elif newMethod == 'DTML Document': 194 217 self.manage_addDTMLDocument(newId,'*** DO NOT DELETE OR MODIFY ***') … … 349 372 newMetaTypes = REQUEST.get('el_meta_types',[]) 350 373 newRoles = REQUEST.get('el_roles',[]) 374 newNodes = REQUEST.get('el_nodes','') 351 375 id = setMetacmd(self, id, newId, newAcquired, newName, newMethod, newData, newExec, newDescription, \ 352 newMetaTypes, newRoles )376 newMetaTypes, newRoles, newNodes) 353 377 message = self.getZMILangStr('MSG_CHANGED') 354 378 -
ZMS/trunk/dtml/metacmd/manage_customizeform.dtml
r898 r1123 80 80 <table cellspacing="1" cellpadding="0" border="0" class="zmiNeutralColorStrong0"> 81 81 <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 /> 88 87 <col width="20" /> 89 88 </colgroup> 90 89 91 <dtml-in "getMetaCmdIds()" >90 <dtml-in "getMetaCmdIds()" sort> 92 91 <dtml-let metaCmdId=sequence-item metaCmd="getMetaCmd(metaCmdId)" ob="_.getattr(this(),metaCmd['id'])"> 93 92 … … 104 103 <dtml-if sequence-start> 105 104 <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 --> 110 111 <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>112 112 <td><div class="form-label"><dtml-var "getZMILangStr('ATTR_ID')"></div></td> 113 113 <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>115 114 <td><div class="form-label" align="center">Exec.</div></td> 115 <td><div class="form-label"><dtml-var "getZMILangStr('ATTR_DESCRIPTION')"></div></td> 116 116 <td colspan="2"> </td> 117 117 </tr> 118 </dtml-if>119 </dtml-if>120 121 <dtml-if "REQUEST['id']==metaCmd['id']">122 118 <dtml-if "metaCmd.get('acquired',0) == 1"> 123 119 124 120 <!-- Acquired Action --> 125 121 <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>127 122 <td class="form-text"> 123 <input type="hidden" name="id" value="<dtml-var "metaCmd['id']">"/> 128 124 <img src="<dtml-var "ob.icon">" title="<dtml-var "ob.meta_type">" border="0" align="absmiddle" 129 125 ><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 … … 133 129 </td> 134 130 <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>136 131 <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> 137 133 <td valign="top" nowrap="nowrap"> 138 134 <input class="form-submit" name="btn" type="submit" value="<dtml-var "getZMILangStr('BTN_COPY')" html_quote>" onclick="btnClick(this);"> 139 135 <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> 140 136 </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> </td> 182 138 </tr> 183 139 … … 186 142 <!-- Action --> 187 143 <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>189 144 <td class="form-element" nowrap="nowrap"> 145 <input type="hidden" name="id" value="<dtml-var "metaCmd['id']">"/> 190 146 <img src="<dtml-var "ob.icon">" title="<dtml-var "ob.meta_type">" border="0" align="absmiddle" 191 147 ><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 … … 195 151 </td> 196 152 <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>198 153 <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> 199 158 <td nowrap="nowrap"> 200 159 <input class="form-submit" name="btn" type="submit" value="<dtml-var "getZMILangStr('BTN_SAVE')" html_quote>" onclick="btnClick(this);"> … … 204 163 </tr> 205 164 <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> <dtml-var "ob.meta_type"> </b> 216 </td> 217 </tr> 218 </table> 165 <td colspan="6" style="padding:4px;"> 166 219 167 <div class="form-element"> 220 168 <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')"> 222 170 <dtml-elif "ob.meta_type=='Script (Python)'"> 223 171 <table cellspacing="1" cellpadding="1" border="0"> … … 242 190 </dtml-if> 243 191 </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> <dtml-var "getZMILangStr('TAB_PROPERTIES')"> </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> 252 199 </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> 257 205 </td> 258 <td class="form-small"> 259 <div class="form-small"><b><dtml-var "getZMILangStr('ATTR_ROLES')"></b></div> 206 <td> 260 207 <select class="form-small" name="el_roles:list" multiple="multiple" size="<dtml-var "_.min(10,len(userdefined_roles()))">"> 261 208 <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)"> 265 210 <option value="<dtml-var role>" <dtml-if "role in metaCmd['roles']">selected="selected"</dtml-if> 266 211 ><dtml-if "role_str==role_lang_str" … … 274 219 </select> 275 220 </td> 276 <td class="form-small"> 277 <div class="form-small"><b><dtml-var "getZMILangStr('ATTR_OBJECTS')"></b></div> 221 <td> 278 222 <select class="form-small" name="el_meta_types:list" size="10" multiple="multiple"> 279 223 <dtml-in "getMetaobjIds()"> … … 286 230 </tr> 287 231 </table> 288 </td> 289 </tr> 290 </table> 232 291 233 </td> 292 234 </tr> … … 295 237 <dtml-else> 296 238 <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"> 299 240 <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"> 301 243 <img src="<dtml-var "ob.icon">" title="<dtml-var "ob.meta_type">" border="0" align="absmiddle" 302 244 ><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 … … 304 246 ><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> 305 247 <b><dtml-var "metaCmd['id']"></b> 248 </a> 306 249 <i>(<dtml-var "metaCmd['name']">)</i> 307 250 </div> … … 317 260 <dtml-if "REQUEST.get('id','')==''"> 318 261 <tr> 319 <td colspan="7"><dtml-var "f_headline(_,_,headline=getZMILangStr('BTN_INSERT'))"></td> 320 </tr> 321 <tr valign="top" class="zmiNeutralColorLight0"> 322 <td> </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> 346 291 </tr> 347 292 </dtml-if> … … 356 301 <dtml-unless count> 357 302 <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> 359 304 </tr> 360 305 <tr class="zmiNeutralColorLight0"> 361 <td> </td>362 306 <td colspan="6" class="form-element"> 363 307 <table cellspacing="0" cellpadding="0" border="0"> … … 388 332 <dtml-if "REQUEST.get('id','')==''"> 389 333 <tr> 390 <td colspan=" 7"><dtml-var "f_headline(_,_,headline='<img src=%smime_type.text_xml.gif alt=XML border=0 align=absmiddle> %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> %s'%(MISC_ZMS,getZMILangStr('BTN_IMPORT')))"></td> 391 335 </tr> 392 336 <tr class="zmiNeutralColorLight0"> 393 <td colspan=" 7">337 <td colspan="6"> 394 338 <table cellspacing="0" cellpadding="2" border="0"> 395 339 <tr valign="middle"> … … 399 343 <tr> 400 344 <td align="right"><div class="form-label"><dtml-var "getZMILangStr('OR').lower()"></div></td> 401 <td colspan="7">345 <td> 402 346 <select class="form-element" id="init" name="init" onfocus="zmiExpandConfFiles(this,'.metacmd.')" onmouseover="zmiExpandConfFiles(this,'.metacmd.')"> 403 347 <option value="">--- <dtml-var "getZMILangStr('BTN_INIT')">... ---</option> -
ZMS/trunk/zmsobject.py
r1122 r1123 960 960 actions = [] 961 961 auth_user = REQUEST['AUTHENTICATED_USER'] 962 absolute_url = '/'.join(list(self.getPhysicalPath())+['']) 962 963 963 964 #-- Commands. … … 970 971 hasRole = hasRole or len(self.intersection_list(self.getUserRoles(auth_user),metaCmd['roles'])) > 0 971 972 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: 973 979 actions.append((metaCmd['name'],path+'manage_executeMetacmd')) 974 980
Note: See TracChangeset
for help on using the changeset viewer.
