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