1 | <html xmlns="http://www.w3.org/1999/xhtml" |
---|
2 | xml:lang="en" |
---|
3 | lang="en" |
---|
4 | i18n:domain="quintagroup.plonecomments" |
---|
5 | metal:use-macro="here/prefs_main_template/macros/master"> |
---|
6 | <!-- metal:use-macro="here/main_template/macros/master" --> |
---|
7 | <body> |
---|
8 | |
---|
9 | <div metal:fill-slot="prefs_configlet_content" |
---|
10 | tal:define="here_url context/@@plone_context_state/object_url; |
---|
11 | Iterator python:modules['Products.CMFPlone'].IndexIterator; |
---|
12 | tabindex python:Iterator(mainSlot=False); |
---|
13 | errors python:request.get('controller_state', None).getErrors();"> |
---|
14 | |
---|
15 | <div metal:define-macro="main"> |
---|
16 | <div class="documentEditable"> |
---|
17 | |
---|
18 | <!-- simulating views on the configure/comments pages until we have real objects. --> |
---|
19 | <div id="edit-bar"> |
---|
20 | <ul id="content-views" class="contentViews"> |
---|
21 | <li class="selected"> |
---|
22 | <a href="" |
---|
23 | tal:attributes="href string:${template/id}" |
---|
24 | i18n:translate="label_configure">Configure qPloneComments</a> |
---|
25 | </li> |
---|
26 | |
---|
27 | <li class="" |
---|
28 | tal:condition="python:checkPermission('Moderate Discussion', here)"> |
---|
29 | <a href="" |
---|
30 | tal:attributes="href string:prefs_recent_comments_form" |
---|
31 | i18n:translate="label_comments">Recent comments moderation</a> |
---|
32 | </li> |
---|
33 | </ul> |
---|
34 | |
---|
35 | <div class="contentActions"> |
---|
36 | |
---|
37 | </div> |
---|
38 | </div> |
---|
39 | <!-- End of tabs --> |
---|
40 | |
---|
41 | <div id="content" class="documentContent" metal:define-slot="prefs_content"> |
---|
42 | <h1 i18n:translate="heading_comments_setup">Plone Comments Setup</h1> |
---|
43 | |
---|
44 | <a href="" |
---|
45 | class="link-parent" |
---|
46 | tal:attributes="href string: $portal_url/plone_control_panel" |
---|
47 | i18n:translate="label_up_to_plone_setup" |
---|
48 | i18n:domain="plone"> |
---|
49 | Up to Plone Setup |
---|
50 | </a> |
---|
51 | |
---|
52 | <form name="edit_form" |
---|
53 | action="href" |
---|
54 | method="post" |
---|
55 | enctype="multipart/form-data" |
---|
56 | tal:define ="pp here/portal_properties; |
---|
57 | props_sheet python:getattr(pp, 'qPloneComments');" |
---|
58 | tal:attributes="action string:${here_url}/${template/getId}"> |
---|
59 | |
---|
60 | <fieldset> |
---|
61 | <legend i18n:translate="legend_setup_options">qPloneComments setup options</legend> |
---|
62 | |
---|
63 | <div class="field" |
---|
64 | tal:define="property_id string:enable_moderation; |
---|
65 | isEnabledModeration python:props_sheet.getProperty(property_id, False);" |
---|
66 | tal:condition="python:props_sheet.hasProperty(property_id)"> |
---|
67 | |
---|
68 | <input type="checkbox" |
---|
69 | class="noborder" |
---|
70 | name="isEnabledModeration" |
---|
71 | id="isEnabledModeration" |
---|
72 | tabindex ="" |
---|
73 | tal:attributes="name property_id; |
---|
74 | value isEnabledModeration; |
---|
75 | checked python:test(isEnabledModeration, 'True', ''); |
---|
76 | tabindex tabindex/next;"/> |
---|
77 | |
---|
78 | <label i18n:translate="label_enable_moderation" |
---|
79 | for="isEnabledModeration">Enable comment moderation</label> |
---|
80 | |
---|
81 | </div> |
---|
82 | |
---|
83 | <div class="field" |
---|
84 | tal:define="property_id string:require_email; |
---|
85 | requireEmail python:props_sheet.getProperty(property_id, False);" |
---|
86 | tal:condition="python:props_sheet.hasProperty(property_id)"> |
---|
87 | |
---|
88 | <input type="checkbox" |
---|
89 | class="noborder" |
---|
90 | name="requireEmail" |
---|
91 | id="requireEmail" |
---|
92 | tabindex ="" |
---|
93 | tal:attributes="name property_id; |
---|
94 | value requireEmail; |
---|
95 | checked python:test(requireEmail, 'True', ''); |
---|
96 | tabindex tabindex/next;"/> |
---|
97 | |
---|
98 | <label i18n:translate="label_require_anonym_email" |
---|
99 | for="requireEmail">Require email from Anonymous commenters</label> |
---|
100 | |
---|
101 | </div> |
---|
102 | |
---|
103 | <div class="field" |
---|
104 | tal:define="property_id string:enable_anonymous_commenting; |
---|
105 | isEnabledAnonymousCommenting python:props_sheet.getProperty(property_id, False);" |
---|
106 | tal:condition="python:props_sheet.hasProperty(property_id)"> |
---|
107 | |
---|
108 | <input type="checkbox" |
---|
109 | class="noborder" |
---|
110 | name="isEnabledAnonymousCommenting" |
---|
111 | id="isEnabledAnonymousCommenting" |
---|
112 | tabindex ="" |
---|
113 | tal:attributes="name property_id; |
---|
114 | value isEnabledAnonymousCommenting; |
---|
115 | checked python:test(isEnabledAnonymousCommenting, 'True', ''); |
---|
116 | tabindex tabindex/next;"/> |
---|
117 | |
---|
118 | <label i18n:translate="label_anonymous_commenting" |
---|
119 | for="isEnabledAnonymousCommenting">Allow comments from Anonymous users</label> |
---|
120 | </div> |
---|
121 | |
---|
122 | <div class="field" |
---|
123 | tal:define="property_id string:enable_authenticated_report_abuse; |
---|
124 | isEnabledReportAbuse python:props_sheet.getProperty(property_id, False);" |
---|
125 | tal:condition="python:props_sheet.hasProperty(property_id)"> |
---|
126 | |
---|
127 | <input type="checkbox" |
---|
128 | class="noborder" |
---|
129 | name="isEnabledReportAbuse" |
---|
130 | id="isEnabledReportAbuse" |
---|
131 | tabindex ="" |
---|
132 | tal:attributes="name property_id; |
---|
133 | value isEnabledReportAbuse; |
---|
134 | checked python:test(isEnabledReportAbuse, 'True', ''); |
---|
135 | tabindex tabindex/next;"/> |
---|
136 | |
---|
137 | <label i18n:translate="label_enable_report_abuse" |
---|
138 | for="isEnabledReportAbuse">Enable authenticated users to report abusive comments</label> |
---|
139 | </div> |
---|
140 | |
---|
141 | <div class="field" |
---|
142 | tal:define="property_id string:enable_anonymous_report_abuse; |
---|
143 | isEnabledAnonymousReportAbuse python:props_sheet.getProperty(property_id, False);" |
---|
144 | tal:condition="python:props_sheet.hasProperty(property_id)"> |
---|
145 | |
---|
146 | <input type="checkbox" |
---|
147 | class="noborder" |
---|
148 | name="isEnabledAnonymousReportAbuse" |
---|
149 | id="isEnabledAnonymousReportAbuse" |
---|
150 | tabindex ="" |
---|
151 | tal:attributes="name property_id; |
---|
152 | value isEnabledAnonymousReportAbuse; |
---|
153 | checked python:test(isEnabledAnonymousReportAbuse, 'True', ''); |
---|
154 | tabindex tabindex/next;"/> |
---|
155 | |
---|
156 | <label i18n:translate="label_enable_anonymous_report_abuse" |
---|
157 | for="isEnabledAnonymousReportAbuse">Enable anonymous users to report abusive comments</label> |
---|
158 | |
---|
159 | <div class="formHelp" id="anonymous_report_abuse_help" |
---|
160 | i18n:translate="help_enable_anonymous_report_abuse"> |
---|
161 | This setting will allow ALL users, including non logged in users to report abusive comments. |
---|
162 | </div> |
---|
163 | </div> |
---|
164 | |
---|
165 | <div class="field" |
---|
166 | tal:define="property_id string:enable_ajax_report_abuse; |
---|
167 | isEnabledAjaxReportAbuse python:props_sheet.getProperty(property_id, False);" |
---|
168 | tal:condition="python:props_sheet.hasProperty(property_id)"> |
---|
169 | |
---|
170 | <input type="checkbox" |
---|
171 | class="noborder" |
---|
172 | name="isEnabledAjaxReportAbuse" |
---|
173 | id="isEnabledAjaxReportAbuse" |
---|
174 | tabindex ="" |
---|
175 | tal:attributes="name property_id; |
---|
176 | value isEnabledAjaxReportAbuse; |
---|
177 | checked python:test(isEnabledAjaxReportAbuse, 'True', ''); |
---|
178 | tabindex tabindex/next;"/> |
---|
179 | |
---|
180 | <label i18n:translate="label_enable_ajax_report_abuse" |
---|
181 | for="isEnabledAjaxReportAbuse">Enable AJAX powered abuse reports</label> |
---|
182 | |
---|
183 | <div class="formHelp" id="ajax_report_abuse_help" |
---|
184 | i18n:translate="help_enable_ajax_report_abuse"> |
---|
185 | This setting will only take effect if abuse reports are enabled. |
---|
186 | </div> |
---|
187 | </div> |
---|
188 | |
---|
189 | <div class="field" |
---|
190 | tal:define="isEnabledManagerModeration python:checkPermission('Moderate Discussion', here);"> |
---|
191 | |
---|
192 | <input type="checkbox" |
---|
193 | class="noborder" |
---|
194 | name="EnableManagerModeration" |
---|
195 | id="EnableManagerModeration" |
---|
196 | tabindex ="" |
---|
197 | tal:attributes="value isEnabledManagerModeration; |
---|
198 | checked python:test(isEnabledManagerModeration, 'True', ''); |
---|
199 | tabindex tabindex/next;"/> |
---|
200 | |
---|
201 | <label i18n:translate="enable_manager_moderation" |
---|
202 | for="isEnableApproveNotification">Enable Manager moderation</label> |
---|
203 | </div> |
---|
204 | |
---|
205 | <div class="field" |
---|
206 | tal:define="property_id string:email_discussion_manager; |
---|
207 | email python:props_sheet.getProperty(property_id, ''); |
---|
208 | error python:test(errors.has_key(property_id), errors.get(property_id), None);" |
---|
209 | tal:attributes="class python:test(error, 'field error', 'field')" |
---|
210 | tal:condition="python:props_sheet.hasProperty(property_id)"> |
---|
211 | |
---|
212 | <label i18n:translate="label_discussion-manager_email">Send comments notification emails to:</label> |
---|
213 | |
---|
214 | <div class="formHelp" id="smtp_server_help" |
---|
215 | i18n:translate="help_discussion-manager_email"> |
---|
216 | The email address where comment notifications will be sent |
---|
217 | </div> |
---|
218 | |
---|
219 | <div tal:content="error">Validation error output</div> |
---|
220 | |
---|
221 | <input name="email_discussion-manager" |
---|
222 | value="" |
---|
223 | size="40" |
---|
224 | tabindex="" |
---|
225 | tal:attributes="name property_id; |
---|
226 | value email; |
---|
227 | tabindex tabindex/next;" /> |
---|
228 | </div> |
---|
229 | |
---|
230 | <div class="field" |
---|
231 | tal:define="property_id string:email_subject_prefix; |
---|
232 | organization_name python:props_sheet.getProperty(property_id, '');" |
---|
233 | tal:condition="python:props_sheet.hasProperty(property_id)"> |
---|
234 | |
---|
235 | <label i18n:translate="label_organization_name">Email subject prefix (organization name)</label> |
---|
236 | |
---|
237 | <div class="formHelp" id="organization_name_help" |
---|
238 | i18n:translate="help_organization_name"> |
---|
239 | You can change notification message templates by customizing 'approve_comment_template' and 'published_comment_template' in the qplonecomments skin. |
---|
240 | </div> |
---|
241 | |
---|
242 | <input name="organization_name" |
---|
243 | value="" |
---|
244 | size="40" |
---|
245 | tabindex="" |
---|
246 | tal:attributes="name property_id; |
---|
247 | value organization_name; |
---|
248 | tabindex tabindex/next;" /> |
---|
249 | </div> |
---|
250 | |
---|
251 | </fieldset> |
---|
252 | |
---|
253 | |
---|
254 | |
---|
255 | |
---|
256 | <fieldset> |
---|
257 | <legend i18n:translate="legend_qpc_notification_legend">Email Notification Options</legend> |
---|
258 | |
---|
259 | <div class="field" |
---|
260 | tal:define="property_id string:enable_published_notification; |
---|
261 | isEnabledPublishedNotification python:props_sheet.getProperty(property_id, False);" |
---|
262 | tal:condition="python:props_sheet.hasProperty(property_id)"> |
---|
263 | |
---|
264 | <input type="checkbox" |
---|
265 | class="noborder" |
---|
266 | name="isEnabledPublishedNotification" |
---|
267 | id="isEnabledPublishedNotification" |
---|
268 | tabindex ="" |
---|
269 | tal:attributes="name property_id; |
---|
270 | value isEnabledPublishedNotification; |
---|
271 | checked python:test(isEnabledPublishedNotification, 'True', ''); |
---|
272 | tabindex tabindex/next;"/> |
---|
273 | |
---|
274 | <label i18n:translate="label_enable_published_notification" |
---|
275 | for="isEnabledPublishedNotification">Notify Document Owner of new comments on their documents.</label> |
---|
276 | </div> |
---|
277 | |
---|
278 | <div class="field" |
---|
279 | tal:define="property_id string:enable_approve_notification; |
---|
280 | isEnableApproveNotification python:props_sheet.getProperty(property_id, False);" |
---|
281 | tal:condition="python:props_sheet.hasProperty(property_id)"> |
---|
282 | |
---|
283 | <input type="checkbox" |
---|
284 | class="noborder" |
---|
285 | name="isEnableApproveNotification" |
---|
286 | id="isEnableApproveNotification" |
---|
287 | tabindex ="" |
---|
288 | tal:attributes="name property_id; |
---|
289 | value isEnableApproveNotification; |
---|
290 | checked python:test(isEnableApproveNotification, 'True', ''); |
---|
291 | tabindex tabindex/next;"/> |
---|
292 | |
---|
293 | <label i18n:translate="label_enable_approve_notification" |
---|
294 | for="isEnableApproveNotification">Notify Discussion Manager of new comments.</label> |
---|
295 | </div> |
---|
296 | |
---|
297 | <div class="field" |
---|
298 | tal:define="property_id string:enable_approve_user_notification; |
---|
299 | isEnableApproveUserNotification python:props_sheet.getProperty(property_id, False);" |
---|
300 | tal:condition="python:props_sheet.hasProperty(property_id)"> |
---|
301 | |
---|
302 | <input type="checkbox" |
---|
303 | class="noborder" |
---|
304 | name="isEnableApproveUserNotification" |
---|
305 | id="isEnableApproveUserNotification" |
---|
306 | tabindex ="" |
---|
307 | tal:attributes="name property_id; |
---|
308 | value isEnableApproveUserNotification; |
---|
309 | checked python:test(isEnableApproveUserNotification, 'True', ''); |
---|
310 | tabindex tabindex/next;"/> |
---|
311 | |
---|
312 | <label i18n:translate="label_enable_approve_user_notification" |
---|
313 | for="isEnableApproveUserNotification">Notify Commenter when comment is published.</label> |
---|
314 | </div> |
---|
315 | |
---|
316 | <div class="field" |
---|
317 | tal:define="property_id string:enable_rejected_user_notification; |
---|
318 | isRejectionNotificationEnabled python:props_sheet.getProperty(property_id, False);" |
---|
319 | tal:condition="python:props_sheet.hasProperty(property_id)"> |
---|
320 | |
---|
321 | <input type="checkbox" |
---|
322 | class="noborder" |
---|
323 | name="isRejectionNotificationEnabled" |
---|
324 | id="isRejectionNotificationEnabled" |
---|
325 | tabindex ="" |
---|
326 | tal:attributes="name property_id; |
---|
327 | value isRejectionNotificationEnabled; |
---|
328 | checked python:test(isRejectionNotificationEnabled, 'True', ''); |
---|
329 | tabindex tabindex/next;"/> |
---|
330 | |
---|
331 | <label i18n:translate="label_enable_reject_notification" |
---|
332 | for="isRejectionNotificationEnabled">Enable Commentator notification on comment was rejected.</label> |
---|
333 | </div> |
---|
334 | |
---|
335 | |
---|
336 | <div class="field" |
---|
337 | tal:define="property_id string:enable_reply_user_notification; |
---|
338 | isReplyNotificationEnabled python:props_sheet.getProperty(property_id, False);" |
---|
339 | tal:condition="python:props_sheet.hasProperty(property_id)"> |
---|
340 | |
---|
341 | <input type="checkbox" |
---|
342 | class="noborder" |
---|
343 | name="isReplyNotificationEnabled" |
---|
344 | id="isReplyNotificationEnabled" |
---|
345 | tabindex ="" |
---|
346 | tal:attributes="name property_id; |
---|
347 | value isReplyNotificationEnabled; |
---|
348 | checked python:test(isReplyNotificationEnabled, 'True', ''); |
---|
349 | tabindex tabindex/next;"/> |
---|
350 | |
---|
351 | <label i18n:translate="label_enable_reply_notification" |
---|
352 | for="isReplyNotificationEnabled">Notify Commenter when their comment receives a reply</label> |
---|
353 | </div> |
---|
354 | </fieldset> |
---|
355 | |
---|
356 | <div class="formControls"> |
---|
357 | <input type="hidden" name="form.submitted" value="1" /> |
---|
358 | <input class="context" |
---|
359 | tabindex="" |
---|
360 | type="submit" |
---|
361 | name="form.button.form_submit" |
---|
362 | value="Save" |
---|
363 | i18n:domain="plone" |
---|
364 | i18n:attributes="value" |
---|
365 | tal:attributes="tabindex tabindex/next;"/> |
---|
366 | </div> |
---|
367 | </form> |
---|
368 | </div> |
---|
369 | </div> |
---|
370 | </div> |
---|
371 | </div> |
---|
372 | </body> |
---|
373 | </html> |
---|