source: ZMS/trunk/import/manage_pushMetadata.metacmd.xml @ 1605

Revision 1605, 4.7 KB checked in by zmsdev, 10 months ago (diff)

added support for push-metadata-action

Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<dictionary>
3  <item key="custom"/>
4  <item key="data"><![CDATA[<dtml-comment>
5################################################################################
6# Execute
7################################################################################
8</dtml-comment>
9<dtml-if process>
10
11 <!-- # Init counter: -->
12 <dtml-unless count>
13  <dtml-call expr="REQUEST.set('count',0)">
14 </dtml-unless>
15
16 <!-- # Search and replace: -->
17 <dtml-in "REQUEST.form.get('ids',[])">
18  <dtml-let key=sequence-item>
19   <dtml-if "key in getObjAttrs().keys()">
20    <dtml-call "setObjStateModified(REQUEST)">
21    <dtml-call "setReqProperty(key,REQUEST)">
22    <dtml-call "onChangeObj(REQUEST)">
23    <dtml-call "REQUEST.set('count',REQUEST['count']+1)">
24   </dtml-if>
25  </dtml-let>
26 </dtml-in>
27
28 <!-- # Recurse child-objects: -->
29 <dtml-in "getChildNodes(REQUEST)">
30  <dtml-call manage_pushMetadata>
31 </dtml-in>
32
33 <!-- # Return with message: -->
34 <dtml-call expr="REQUEST.set('message','Pushed metadata to %i objects.'%REQUEST['count'])">
35 <dtml-return message>
36
37<dtml-comment>
38################################################################################
39# Process execution
40################################################################################
41</dtml-comment>
42<dtml-elif "REQUEST.get('btn','') == 'Push'">
43
44 <dtml-var manage_page_header>
45 </head>
46 <dtml-var "manage_tabs(_,_,my_manage_options=[{'label':'Push metadata...','action':''}])">
47
48  <div class="form-text">
49    <dtml-var "manage_pushMetadata(_,_,process=1)"> (<dtml-var "','.join(REQUEST.get('ids',[]))">)<br/><br/>
50    [<a href="<dtml-var absolute_url>/manage_main?lang=<dtml-var lang>"><dtml-var "getZMILangStr('BACK')">...</a>]
51  </div>
52
53 <dtml-var manage_page_footer>
54
55<dtml-comment>
56################################################################################
57# Process cancellation
58################################################################################
59</dtml-comment>
60<dtml-elif "REQUEST.get('btn','') == getZMILangStr('BTN_CANCEL')">
61
62 <dtml-call "RESPONSE.redirect('%s/manage_main?lang=%s'%(absolute_url(),lang))">
63
64<dtml-comment>
65################################################################################
66# Form
67################################################################################
68</dtml-comment>
69<dtml-else>
70
71 <dtml-var manage_page_header>
72 </head>
73 <dtml-var "manage_tabs(_,_,my_manage_options=[{'label':'Push metadata...','action':''}])">
74
75  <div class="form-text">You can push meta-attributes to the descendant objects.</div>
76  <form name="form0">
77   <input type="hidden" name="preview" value="preview">
78   <input type="hidden" name="lang" value="<dtml-var lang>">
79   <table cellspacing="1" cellpadding="1" border="0" width="100%">
80   <colgroup>
81    <col width="20"/>
82    <col width="20%"/>
83    <col width="80%"/>
84   </colgroup>
85
86  <dtml-in "metaobj_manager.getMetadictAttrs()"
87   ><dtml-let metadictAttrId=sequence-item metadictAttr="metaobj_manager.getMetadictAttr(metadictAttrId)"
88    ><dtml-if metadictAttr
89    ><dtml-if "metadictAttrId in getObjAttrs().keys() and metadictAttrId not in ['title','titlealt'] and metadictAttr['type'] not in ['image','file']"
90     ><tr valign="top"
91      ><td><input class="form-element" type="checkbox" name="ids:list" value="<dtml-var metadictAttrId>"/></td
92      ><td class="form-label"><dtml-var "getZMILangStr(metadictAttr['name'])"></td
93      ><td class="form-element"><dtml-var "getObjInput(metadictAttrId,REQUEST)"></td
94     ></tr
95    ></dtml-if
96    ></dtml-if
97   ></dtml-let
98  ></dtml-in>
99
100   <tr>
101    <td></td>
102    <td></td>
103    <td>
104     <input class="ui-button ui-state-default ui-corner-all" type="submit" name="btn" value="Push">
105     <input class="ui-button ui-state-default ui-corner-all" type="submit" name="btn" value="<dtml-var "getZMILangStr('BTN_CANCEL')">">
106    </td>
107   </tr>
108   </table>
109  </form>
110
111 <dtml-var manage_page_footer>
112
113<dtml-comment>
114################################################################################
115</dtml-comment>
116
117</dtml-if>]]>
118  </item>
119  <item key="description"/>
120  <item key="exec" type="int">0</item>
121  <item key="id"><![CDATA[manage_pushMetadata]]></item>
122  <item key="meta_type"><![CDATA[DTML Method]]></item>
123  <item key="meta_types" type="list">
124    <list>
125      <item><![CDATA[ZMSDocument]]></item>
126      <item><![CDATA[ZMSFolder]]></item>
127      <item><![CDATA[ZMS]]></item>
128    </list>
129  </item>
130  <item key="name"><![CDATA[Push metadata...]]></item>
131  <item key="roles" type="list">
132    <list>
133      <item><![CDATA[ZMSAdministrator]]></item>
134      <item><![CDATA[ZMSAuthor]]></item>
135      <item><![CDATA[ZMSEditor]]></item>
136    </list>
137  </item>
138</dictionary>
Note: See TracBrowser for help on using the repository browser.