1 | <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" |
---|
2 | lang="en" |
---|
3 | i18n:domain="plone" |
---|
4 | metal:use-macro="here/main_template/macros/master"> |
---|
5 | |
---|
6 | <head> |
---|
7 | <metal:block fill-slot="top_slot"> |
---|
8 | <tal:insert tal:replace="nothing" |
---|
9 | tal:define="dummy python:request.set('enable_border', 1)" /> |
---|
10 | </metal:block> |
---|
11 | </head> |
---|
12 | |
---|
13 | <body> |
---|
14 | |
---|
15 | <div metal:fill-slot="main"> |
---|
16 | <tal:protect tal:condition="python: not checkPermission('List folder contents', here)" tal:replace="here/raiseUnauthorized" /> |
---|
17 | <metal:main-macro define-macro="main"> |
---|
18 | <metal:contentsmacro define-macro="contents" |
---|
19 | tal:define="standalone python:1; |
---|
20 | contentTypes here/getAllowedTypes; |
---|
21 | contentFilter contentFilter|request/contentFilter|nothing; |
---|
22 | b_size b_size|request/b_size|python:100; |
---|
23 | view_title view_title|request/view_title|string:; |
---|
24 | contentsMethod python:test(here.portal_type=='Topic', here.queryCatalog, here.getFolderContents); |
---|
25 | items python:contentsMethod(contentFilter); |
---|
26 | full_view full_view|request/full_view|python:True;"> |
---|
27 | |
---|
28 | <form name="silo_listing_form" |
---|
29 | method="post" |
---|
30 | action="folder_object" |
---|
31 | tal:attributes="action string:${here/absolute_url}/${template/getId}"> |
---|
32 | |
---|
33 | <h1> |
---|
34 | <tal:block replace="structure python:getattr(here, here.getIcon(1))"/> |
---|
35 | <span tal:content="python: view_title and here.utranslate(view_title) or putils.pretty_title_or_id(here)" tal:omit-tag="">Directory Id</span> |
---|
36 | </h1> |
---|
37 | <tal:full_view condition="full_view"> |
---|
38 | <p tal:content="here/Description"> |
---|
39 | Description |
---|
40 | </p> |
---|
41 | </tal:full_view> |
---|
42 | |
---|
43 | <p class="discreet" |
---|
44 | tal:condition="not: items" |
---|
45 | i18n:translate="description_no_visible_items_add_paste"> |
---|
46 | This folder has no visible items. |
---|
47 | </p> |
---|
48 | <metal:listing define-macro="folder_listing" |
---|
49 | tal:define="items_dict here/getSiloNavigationDictionary|nothing; |
---|
50 | contentFilter contentFilter|python:{'path':'/'}; |
---|
51 | use_folder_contents site_properties/typesLinkToFolderContentsInFC|nothing; |
---|
52 | use_view_action site_properties/typesUseViewActionInListings|python:(); |
---|
53 | query_path python:path('contentFilter/path|nothing') or request.get('path',None); |
---|
54 | orderable_iface string:OFS.IOrderSupport.IOrderedContainer; |
---|
55 | preSorted python:query_path or ((contentFilter and contentFilter.get('sort_on', 'getObjPositionInParent')!='getObjPositionInParent') or (not contentFilter and request.get('sort_on', 'getObjPositionInParent')!='getObjPositionInParent')); |
---|
56 | isOrderable python:ifacetool.objectImplements(here, orderable_iface); |
---|
57 | nosortclass python:test(isOrderable, 'nosort', ''); |
---|
58 | canModifyFolderContent is_editable;"> |
---|
59 | |
---|
60 | <div class="visualClear"><!-- --></div> |
---|
61 | |
---|
62 | <table id="sortable" |
---|
63 | class="listing" |
---|
64 | summary="Content listing" |
---|
65 | i18n:attributes="summary summary_content_listing;"> |
---|
66 | <thead> |
---|
67 | <metal:block tal:condition="items|not:standalone|nothing"> |
---|
68 | <tr> |
---|
69 | <th class="nosort"> |
---|
70 | <input class="noborder" |
---|
71 | type="checkbox" |
---|
72 | src="select_all_icon.gif" |
---|
73 | name="selectButton" |
---|
74 | title="Select all items" |
---|
75 | onClick="toggleSelect(this,'menu_ids:list');" |
---|
76 | tal:attributes="src string:$portal_url/select_all_icon.gif" |
---|
77 | alt="Select all items" |
---|
78 | i18n:attributes="title label_select_all_items; alt label_select_all_items;" |
---|
79 | /> |
---|
80 | </th> |
---|
81 | <th tal:attributes="class python:nosortclass" |
---|
82 | > <tal:title i18n:translate="listingheader_title" |
---|
83 | >Title</tal:title> </th> |
---|
84 | <metal:header_slot metal:define-slot="listingheader"> |
---|
85 | <th tal:attributes="class python:nosortclass" |
---|
86 | > <tal:state i18n:translate="listingheader_menu_title" |
---|
87 | >Menu title</tal:state> </th> |
---|
88 | </metal:header_slot> |
---|
89 | </tr> |
---|
90 | </metal:block> |
---|
91 | </thead> |
---|
92 | |
---|
93 | <metal:block tal:condition="items|not:standalone|nothing"> |
---|
94 | <tbody tal:define="arrowUp portal/arrowUp.gif; |
---|
95 | arrowDown portal/arrowDown.gif; |
---|
96 | getRelativeContentURL nocall:utool/getRelativeContentURL |
---|
97 | "> |
---|
98 | <tal:items tal:repeat="item items"> |
---|
99 | <tr tal:define="oddrow repeat/item/odd; |
---|
100 | item_url item/getURL|item/absolute_url; |
---|
101 | item_id item/getId; |
---|
102 | item_title_or_id item/pretty_title_or_id; |
---|
103 | isEditable python:item_id in items_dict.keys(); |
---|
104 | item_nav_title python: isEditable and items_dict[item_id]['title'] or request.get(item_id+'_title','');" |
---|
105 | tal:attributes="class python:test(oddrow, 'even', 'odd')" > |
---|
106 | <td> |
---|
107 | <input type="checkbox" |
---|
108 | class="noborder" |
---|
109 | name="menu_ids:list" id="#" |
---|
110 | value="#" |
---|
111 | tal:define="isChecked python:isEditable or item_id in request.get('menu_ids',[])" |
---|
112 | tal:attributes="value item_id; |
---|
113 | id string:cb_$item_id; |
---|
114 | checked isChecked; |
---|
115 | alt string:Select $item_title_or_id; |
---|
116 | title string:Select $item_title_or_id" /> |
---|
117 | </td> |
---|
118 | <td> |
---|
119 | <strong> |
---|
120 | <span tal:content="item_title_or_id"> |
---|
121 | Item Title |
---|
122 | </span> |
---|
123 | </strong> |
---|
124 | </td> |
---|
125 | |
---|
126 | <td> |
---|
127 | <input type="text" size="50" |
---|
128 | tal:define="item_title python:item_nav_title or item_title_or_id" |
---|
129 | tal:attributes="name string:${item_id}_title; |
---|
130 | value item_title"/> |
---|
131 | </td> |
---|
132 | </tr> |
---|
133 | </tal:items> |
---|
134 | </tbody> |
---|
135 | </metal:block> |
---|
136 | </table> |
---|
137 | |
---|
138 | </metal:listing> |
---|
139 | |
---|
140 | <metal:buttons define-macro="folder_buttons"> |
---|
141 | <input type="hidden" name="orig_template" |
---|
142 | tal:attributes="value template_id"/> |
---|
143 | <input class="context" |
---|
144 | type="submit" |
---|
145 | name="form.button.Save" |
---|
146 | value="Save" |
---|
147 | tabindex="" |
---|
148 | i18n:attributes="value" |
---|
149 | tal:attributes="tabindex tabindex/next;" /> |
---|
150 | </metal:buttons> |
---|
151 | <input type="hidden" name="form.submitted" value="1" /> |
---|
152 | </form> |
---|
153 | |
---|
154 | </metal:contentsmacro> |
---|
155 | </metal:main-macro> |
---|
156 | </div> |
---|
157 | |
---|
158 | |
---|
159 | </body> |
---|
160 | </html> |
---|