77
88from copy import deepcopy
99
10- from flask import flash , request , session
10+ from flask import flash , request , session , jsonify , render_template
1111from markupsafe import Markup
1212from werkzeug .exceptions import Forbidden , NotFound
1313
1414from indico .core .db import db
1515from indico .modules .categories import Category
1616from indico .modules .categories .controllers .base import RHManageCategoryBase
1717from indico .modules .designer .forms import CloneTemplateForm
18+ from indico .modules .email_templates .dummy import get_dummy_registration
1819from indico .modules .email_templates .forms import CreateEmailTemplatesForm , EditEmailTemplatesForm
1920from indico .modules .email_templates .models .email_templates import EmailTemplate
2021from indico .modules .email_templates .util import get_inherited_templates , get_system_templates
@@ -123,19 +124,26 @@ def _process(self):
123124 return jsonify_form (form , disabled_until_change = False )
124125
125126
126- class RHViewEmailTemplate (AddEmailTemplateMixin , RHProtected ):
127+ class RHViewEmailTemplate (AddEmailTemplateMixin ):
127128 def _process_args (self ):
129+ super ()._process_args ()
128130 self .email_template_name = request .view_args ['email_template_name' ]
129131
130132 def _process (self ):
131- tpl = get_template_module (f'events/registration/emails/{ self .email_template_name } ' , registration = None ,
133+ title = self .email_template_name .replace ('_' , ' ' ).title ()
134+ filename = get_system_templates (self .email_template_name )
135+ dummy = get_dummy_registration ()
136+ tpl = get_template_module (f'events/registration/emails/{ filename } ' , registration = dummy ,
132137 attach_rejection_reason = '{rejection_reason}' , diff = None , old_price = None ,
133138 receipt = None )
134- form = EditEmailTemplatesForm ()
135- if form .validate_on_submit ():
136- flash (_ ("Added new email template '{}'" ).format (), 'success' )
137- return jsonify_data (html = _render_template_list (self .target , event = self .event_or_none ))
138- return jsonify_form (form , disabled_until_change = False )
139+ # email_body = replace_placeholders('accreditation-email', request.form['body'], accreditation=accreditation)
140+ # email_subject = replace_placeholders('accreditation-email', request.form['subject'],
141+ # accreditation=accreditation)
142+ # tpl = get_template_module('events/registration/emails/custom_email.html', email_subject=email_subject,
143+ # email_body=email_body)
144+ html = render_template ('email_templates/preview.html' , title = title , type = 'Registration' ,
145+ subject = tpl .get_subject (), body = tpl .get_body ())
146+ return jsonify (html = html )
139147
140148
141149class RHListEventEmailTemplates (EmailTemplateListMixin , RHManageEventBase ):
@@ -154,6 +162,14 @@ class RHAddCategoryEmailTemplate(AddEmailTemplateMixin, RHManageCategoryBase):
154162 pass
155163
156164
165+ class RHViewEventEmailTemplate (RHViewEmailTemplate , RHManageEventBase ):
166+ pass
167+
168+
169+ class RHViewCategoryEmailTemplate (RHViewEmailTemplate , RHManageCategoryBase ):
170+ pass
171+
172+
157173class RHModifyEmailTemplateBase (SpecificEmailTemplateMixin , RHProtected ):
158174 def _check_access (self ):
159175 RHProtected ._check_access (self )
@@ -187,7 +203,6 @@ def _check_access(self):
187203 elif isinstance (self .target , Event ):
188204 check_event_locked (self , self .target )
189205
190-
191206 def _process_args (self ):
192207 self .email_tpl = EmailTemplate .get_or_404 (request .view_args ['email_template_id' ])
193208 if self .target .is_deleted :
0 commit comments