source: products/qPloneSkinDump/trunk/skins/qploneskindump/qploneskindump_config.cpt @ 1

Last change on this file since 1 was 1, checked in by myroslav, 19 years ago

Building directory structure

File size: 23.6 KB
Line 
1<html xmlns="http://www.w3.org/1999/xhtml"
2      xml:lang="en"
3      lang="en"
4      i18n:domain="qploneskindump"
5      metal:use-macro="here/prefs_main_template/macros/master">
6<body>
7<div metal:fill-slot="prefs_configlet_main">
8
9    <div metal:define-macro="main"
10         tal:define="errors options/state/getErrors | nothing;">
11        <h1 class="QSDFirstHeading">
12            <img tal:replace="structure here/product_icon.gif" />
13            <span tal:replace="here/title_or_id">Title or id</span>
14        </h1>
15
16        <div metal:use-macro="here/document_actions/macros/document_actions">
17            Document actions (print, sendto etc)
18        </div>
19
20        <a href=""
21           class="link-parent"
22           i18n:translate="label_up_to_product_page"
23           tal:define="parent_url python:here.navigationParent(here, template.getId())"
24           tal:condition="parent_url"
25           tal:attributes="href parent_url">
26            Up to Product page
27        </a>
28
29        <h2 i18n:translate="heading_portalactions_lists">
30            qPloneSkinDump input FORM
31        </h2>
32        <form name="edit_form"
33              action="href"
34              method="post"
35              enctype="multipart/form-data"
36              tal:attributes="action string:$here_url/$template_id">
37            <fieldset tal:define="error_zmiSN python:errors.get('ZMISkinName');
38                                  error_zmiBSN python:errors.get('ZMIBaseSkinName')">
39                <legend>
40                  <label style="font-size: 110%" i18n:translate="legend_ZMI"> ZMI:</label>
41                </legend>
42                <div class="ZMISkinName"
43                     tal:attributes="class python: test(error_zmiSN, 'ZMISkinName error', 'ZMISkinName');">
44                <!-- folder in ZMI .../portal_skins, from which will be copyed content -->
45                    <label class="ZMISkinName_title"
46                           i18n:translate="label_ZMISkinName">Source ZMI skin folder</label>
47                    <span class="fieldRequired"
48                           title="Required"
49                           i18n:translate="label_required"
50                           i18n:attributes="title title_required;">
51                                (Required)
52                    </span>
53                    <div i18n:translate="help_ZMISkinName"
54                         class="formHelp">
55                        Select folder from portal_skins, which content should by copyed to FS product.
56                    </div>
57                    <div tal:condition="error_zmiSN"
58                         tal:content="error_zmiSN" i18n:translate="">Validation Error</div>
59
60                    <select class="ZMISkinName_input" id="ZMISkinName"
61                            size="1" name="ZMISkinName"
62                            tal:define="value request/ZMISkinName|string:custom;
63                                        p_skins_ids python:portal.portal_skins.objectIds(spec='Folder')"
64                            tal:attributes="value value;
65                                            tabindex tabindex/next;">
66                        <option selected=""
67                                value="#"
68                                tal:repeat="ps_folder p_skins_ids"
69                                tal:attributes="value nocall:ps_folder;
70                                                selected python:test(ps_folder==value, 'selected', None);"
71                                tal:content="ps_folder"/>
72                       
73                    </select>
74                </div>
75                <p/>
76                <div class="ZMIBaseSkinName"
77                     tal:attributes="class python: test(error_zmiBSN, 'ZMIBaseSkinName error', 'ZMIBaseSkinName');">
78                <!-- base for building layers list -->
79                    <label class="ZMIBaseSkinName_title"
80                           i18n:translate="label_ZMIBaseSkinName">ZMI base skin name</label>
81                    <span class="fieldRequired"
82                           title="Required"
83                           i18n:translate="label_required"
84                           i18n:attributes="title title_required;">
85                                (Required)
86                    </span>
87                    <div i18n:translate="help_ZMIBaseSkinName"
88                         class="formHelp">
89                        Select Skin name, which layers list will be used for creating new skin.
90                    </div>
91                    <div tal:condition="error_zmiBSN"
92                         tal:content="error_zmiBSN" i18n:translate="">Validation Error</div>
93
94                    <select tal:define="value request/ZMIBaseSkinName|string:Plone Tableless;
95                                        skin_names portal/portal_skins/getSkinSelections"
96                            tal:attributes="value value;
97                                            name string:ZMIBaseSkinName;
98                                            id string:ZMIBaseSkinName;
99                                            size string:1;
100                                            tabindex tabindex/next;">
101                        <option selected=""
102                                value="#"
103                                tal:repeat="skin_name skin_names"
104                                tal:attributes="value nocall:skin_name;
105                                                selected python:test(skin_name==value, 'selected', None);"
106                                tal:content="skin_name"/>
107                       
108                    </select>
109                </div>
110                <p/>
111                <div class="EraseFromSkin">
112                <!-- erase content of folder in ZMI .../portal_skins after copying -->
113                    <div i18n:translate="help_Erase"
114                         class="formHelp">
115                        Select for erase content of skin's source folder.
116                    </div>
117
118                    <input class="EraseFromSkin_input"
119                           type="checkbox"
120                           name="EraseFromSkin"
121                           value="0"
122                           tal:attributes="checked python:test(request.has_key('EraseFromSkin'), 'checked', nothing)"
123                           />
124                    <label class="EraseFromSkin_title"
125                          i18n:translate="label_Erace">Erace </label>
126                </div>
127            </fieldset>
128
129            <fieldset tal:define="error_fsSkinDir python:errors.get('FSSkinDirectory');
130                                  error_fsProdName python:errors.get('FSProductName')">
131                <legend>
132                  <label style="font-size: 110%" i18n:translate="label_FS"> File system:</label>
133                </legend>
134                <div class="FSSkinDirectory"
135                     tal:attributes="class python: test(error_fsSkinDir, 'FSSkinDirectory error', 'FSSkinDirectory');">
136                    <label class="FSSkinDirectory_title"
137                          i18n:translate="label_FSSkinDirectory">Skin's name for new prodct</label>
138                    <span class="fieldRequired"
139                           title="Required"
140                           i18n:translate="label_required"
141                           i18n:attributes="title title_required;">
142                                (Required)
143                    </span>
144                    <div i18n:translate="help_FSSkinDirectory"
145                         class="formHelp">
146                         Input skin's name for new prodct. <br/>
147                         This name in lower case will be used as skin's folder name and as layer name too.<br/>
148                         The name must begin with alphabetical character, following with an alphanumeric combination, also underscore accepts, but not on boundaries.<br/>
149                    </div>
150                    <div tal:condition="error_fsSkinDir"
151                         tal:content="error_fsSkinDir" i18n:translate="">Validation Error</div>
152
153                    <input class="FSSkinDirectory_input"
154                           type="text"
155                           name="FSSkinDirectory"
156                           value=""
157                           size="50"
158                           tal:attributes="value request/FSSkinDirectory|nothing" />
159                </div>
160                <p/>
161                <div class="FSProductName"
162                     tal:attributes="class python: test(error_fsProdName, 'FSProductName error', 'FSProductName');">
163                    <label class="FSProductName_title"
164                          i18n:translate="label_FSProductName">Product name</label>
165                    <span class="fieldRequired"
166                           title="Required"
167                           i18n:translate="label_required"
168                           i18n:attributes="title title_required;">
169                                (Required)
170                    </span>
171                    <div i18n:translate="help_FSProductName"
172                         class="formHelp">
173                         Input name of new product.  <br/>
174                         This name can't be identical with other, presenting in your Products directory of Plone's instance. <br/>
175                         The name must begin with alphabetical character, following with an alphanumeric combination, also underscore accepts, but not on boundaries.
176                    </div>
177                    <div tal:condition="error_fsProdName"
178                         tal:content="error_fsProdName" i18n:translate="">Validation Error</div>
179
180                    <input class="FSProductName_input"
181                           type="text"
182                           name="FSProductName"
183                           value="qPloneSkinTemplate"
184                           size="50"
185                           tal:attributes="value request/FSProductName|nothing" />
186                </div>
187            </fieldset>
188
189            <fieldset>
190                <legend class="DoesCustomizeSlots">
191                    <input class="noborder"
192                           type="checkbox"
193                           name="DoesCustomizeSlots"
194                           id="DoesCustomizeSlots"
195                           value="DOCustomizeSlots"
196                           tal:attributes="checked python:test(request.has_key('DoesCustomizeSlots'),'checked', nothing)"/>
197                    <label for="DoesCustomizeSlots"
198                           style="font-size: 110%"
199                           i18n:translate="label_Slots">Customize portal slots in new product</label>
200                </legend>
201                <div class="formHelp"
202                     i18n:translate="help_DoesCustomizeSlots">
203                  Customization portal slots in New Skin Product.
204                </div>
205
206                <p/>
207                <div class="SlotsCustomizing">
208                    <label class="SlotsCustomizing_title"
209                          i18n:translate="label_SlotsCustomizing">Portal slots</label>
210
211                    <div i18n:translate="help_SlotsCustomizing"
212                         class="formHelp">
213                         BE VERY ACCURACY! 
214                         Leave in the left and right slot lists only those portlets, which relate <br/>
215                         to your skin product and either bring with new product or is standard for Plone.
216                    </div>
217                    <div class="LeftSlotsCustomizing_title">
218                        <label class="LeftSlotsCustomizing_title"
219                              i18n:translate="label_LeftsSlotCustomizing">Left portal slots customizing</label>
220                        <textarea class="LeftSlotsCustomizing_lines"
221                               rows="6"
222                               cols="35"
223                               name="left_slots:lines"
224                               value=""
225                               tal:define="value python:'\n'.join(request.get('left_slots', portal.left_slots))"
226                               tal:attributes="value value"
227                               tal:content="value" ></textarea>
228                    </div>
229                    <p/>
230                    <div class="RightSlotsCustomizing_title">
231                        <label class="RightSlotsCustomizing_title"
232                              i18n:translate="label_RightSlotsCustomizing">Right portal slots customizing</label>
233                        <textarea class="RightSlotsCustomizing_lines"
234                               rows="6"
235                               cols="35"
236                               name="right_slots:lines"
237                               value=""
238                               tal:define="value python:'\n'.join(request.get('right_slots', portal.right_slots))"
239                               tal:attributes="value value"
240                               tal:content="value"></textarea>
241                    </div>
242
243                </div>
244                <p/>
245                <div class="ColumnSlotsForming"
246                     tal:define="formers python:modules['Products.qPloneSkinDump.qPloneSkinDump'].getSlotsFormingList();
247                                 value request/slot_forming|formers/default">
248                    <label i18n:translate="label_ColumnSlotsForming">Slot's list forming</label>
249                    <div i18n:translate="help_ColumnSlotsForming"
250                         class="formHelp">
251                         Choose procedure of forming slots lists.<br/>
252                         Blend with skin - to SKIN PRODUCT's slots list added unknown slots from SITE.<br/>
253                         Blend with site - to SITE's slots list added unknown slots from SKIN PRODUCT.<br/>
254                         Replace - in left and right site's columns placed ONLY SKIN PRODUCT's slots.
255                    </div>
256                    <tal:loop tal:omit-tag=""
257                              tal:repeat="former formers/data">
258                        <div>
259                            <input type="radio"
260                                   name="slot_forming"
261                                   value="#"
262                                   tal:attributes="value python:former[0];
263                                                   checked python:test(former[0]==value,'checked', nothing)" />
264                            <label class="ColumnSlotsForming_title"
265                                   i18n:translate=""
266                                   tal:content="python:former[1]"></label>
267                        </div>
268                    </tal:loop>
269                </div>
270                <p/>
271                <div class="FavourColumn"
272                     tal:define="favour_columns python:modules['Products.qPloneSkinDump.qPloneSkinDump'].getMainColumnList();
273                                 value request/main_column|favour_columns/default">
274                    <label  i18n:translate="label_FavourColumn">Main column</label>
275                    <div i18n:translate="help_FavourColumn"
276                         class="formHelp">
277                         Choose favour column for slots forming procedure. IMPORTANT only for 'Blend with...' formers.<br/>
278                         Left/Right - if find same slots in left and right columns - than slots move accordingly to left/right column.<br/>
279                         Both - if find same slots in left and right columns - than slots positionings as in Master's slots lists
280                         (from SKIN PRODUCT's slots for 'Blend with skin' procedure and SITE's slots for 'Blend with site').
281                    </div>
282                    <tal:loop tal:omit-tag=""
283                              tal:repeat="favour favour_columns/data">
284                        <div>
285                            <input type="radio"
286                                   name="main_column"
287                                   value="#"
288                                   tal:attributes="value python:favour[0];
289                                                   checked python:test(favour[0]==value,'checked', nothing)" />
290                            <label class="FavourColumn_title"
291                                   i18n:translate=""
292                                   tal:content="python:favour[1]"></label>
293                        </div>
294                    </tal:loop>
295                </div>
296
297            </fieldset>
298
299            <fieldset tal:define="exp_data python:modules['Products.qPloneSkinDump.qPloneSkinDump'].getExportingData(here);">
300                <legend class="DoesExportObjects">
301                    <input class="noborder"
302                           type="checkbox"
303                           name="DoesExportObjects"
304                           id="DoesExportObjects"
305                           value="DoesExportObjects"
306                           tal:attributes="checked python:test(request.has_key('DoesExportObjects'), 'checked', nothing)" />
307                    <label for="DoesExportObjects"
308                           style="font-size: 110%"
309                           i18n:translate="label_DoesExportObjects">Exporting objects from portal root</label>
310                </legend>
311                <div class="formHelp"
312                     i18n:translate="help_DoesExportObjects">
313                  Selected below objects will be exported to New Skin Product. Then on installation generated Skin Product
314                  they will be imported to portal root, based on choosed policy.
315                </div>
316
317                <p/>
318                <div class="ImportPolicy"
319                     tal:define="value python:request.get('import_policy', exp_data['default_import_policy'])">
320                    <label  i18n:translate="label_ImportPolicy">Import Policy</label>
321                    <div i18n:translate="help_ImportPolicy"
322                         class="formHelp">
323                         Choose *Import policy* for generated Skin Product. *Import policy* define behavior in case
324                         of meeting same id object in portal root with imported one. "only_new" - imported
325                         objects with ids, identical to portal root objects ids Not imported.
326                         "backup" - for portal root objects with same ids creates back_[date] directory and
327                         they moved there. All imported objects - importing to portal root.
328                         "overwrite" - all objects in portal root with same id overwrited with imported one.
329                    </div>
330                    <tal:loop tal:omit-tag=""
331                              tal:repeat="i_policy_value exp_data/import_policy_list/keys">
332                        <div tal:define="i_policy_name python:exp_data['import_policy_list'][i_policy_value];">
333                            <input type="radio"
334                                   name="import_policy"
335                                   value="#"
336                                   tal:attributes="value i_policy_value;
337                                                   checked python:test(i_policy_value==value, 'checked', nothing)" />
338                            <label class="default_import_policy"
339                                   i18n:translate=""
340                                   tal:content="i_policy_name"></label>
341                        </div>
342                    </tal:loop>
343                </div>
344                <p/>
345                <div class="ExportingOjects">
346                    <label class="ExportingOjects_title"
347                          i18n:translate="label_ExportingOjects">Exporting objects</label>
348                    <div i18n:translate="help_ExportingOjects"
349                         class="formHelp">
350                         Exporting object ids list. All selected objects will be exported to "&lt;Skin Product&gt;/import"
351                         directory and WILL BE IMPORTED to portal root on SkinProduct installation.
352                    </div>
353                    <select multiple="multiple"
354                            tal:define="value request/exporting_objects|python:[]"
355                            tal:condition="exp_data/export_object_id_list"
356                            tal:attributes="name string:exporting_objects:list;
357                                            id string:ExportingOjects_list;
358                                            size string:6;
359                                            tabindex tabindex/next;">
360                        <option selected=""
361                                value="#"
362                                tal:repeat="item exp_data/export_object_id_list"
363                                tal:attributes="value nocall:item;
364                                                selected python:test(item in value, 'selected', None);"
365                                tal:content="item"/>
366                       
367                    </select>
368                </div>
369            </fieldset>
370
371            <fieldset tal:define="isFirst python:not request.get('dump_registries', None);
372                                  checked_css python:test(isFirst, 'checked', test(request.has_key('DumpCSSRegistry'), 'checked', nothing));
373                                  checked_js python:test(isFirst, 'checked', test(request.has_key('DumpJSRegistry'), 'checked', nothing));">
374                <legend class="DoesExportResources">
375                    <label for="DoesExportResources"
376                           style="font-size: 110%"
377                           i18n:translate="label_DoesExportResources">Exporting portal resources</label>
378                </legend>
379                <div class="formHelp"
380                     i18n:translate="help_DoesExportResources">
381                  Checked Portal Resources with current property sets will be exported from corresponding portal registries to New Skin Product.
382                  Then on generated Skin Product installation, appropriate portal registry will be made identical to yours. This guarantee look and
383                  behavior of generated Skin Product in desired way. You can make corrections of exported resources in config.py module of New
384                  Skin Product. This feature work only when generated Skin Product install on Plone v2.1+.
385                </div>
386                <input type="hidden" name="dump_registries" value="1" />
387                <p/>
388                <div class="DumpCSSRegistry">
389                <!-- Dump portal_CSS registry resources -->
390                    <input class="DumpCSSRegistry_input"
391                           type="checkbox"
392                           name="DumpCSSRegistry"
393                           value="0"
394                           tal:attributes="checked checked_css"
395                           />
396                    <label class="DumpCSSRegistry_title"
397                          i18n:translate="label_DumpCSSRegistry">Dump portal_css registry.</label>
398                </div>
399                <p/>
400                <div class="DumpJSRegistry">
401                <!-- Dump portal_javascripts registry resources -->
402                    <input class="DumpJSRegistry_input"
403                           type="checkbox"
404                           name="DumpJSRegistry"
405                           value="0"
406                           tal:attributes="checked checked_js"
407                           />
408                    <label class="DumpJSRegistry_title"
409                          i18n:translate="label_DumpJSRegistry">Dump portal_javascripts registry.</label>
410                </div>
411                <p/>
412            </fieldset>
413
414            <!-- fields for Controller Page Template -->
415            <input type="hidden" name="form.submitted" value="1" />
416            <div class="submitButton">
417                <div class="field">
418                    <input class="context"
419                        type="submit"
420                        name="form.button.form_submit"
421                        value="Generate"
422                        i18n:attributes="value"/>
423                </div>
424            </div>
425        </form>
426
427    </div>
428
429</div>
430</body>
431</html>
Note: See TracBrowser for help on using the repository browser.