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