Allow additional parameters for newsletter preview

This commit is contained in:
JonnyWong16 2018-03-21 13:05:46 -07:00
parent a9a08a959c
commit 1f10668838
3 changed files with 11 additions and 9 deletions

View file

@ -536,7 +536,7 @@
function previewNewsletter() { function previewNewsletter() {
showMsg('<i class="fa fa-check"></i>&nbsp; Check pop-up blocker if no response.', false, true, 2000); showMsg('<i class="fa fa-check"></i>&nbsp; Check pop-up blocker if no response.', false, true, 2000);
window.open('newsletter?newsletter_id=' + $('#newsletter_id').val()); window.open('newsletter_preview?newsletter_id=' + $('#newsletter_id').val());
} }
function sendTestNewsletter() { function sendTestNewsletter() {

View file

@ -1,4 +1,7 @@
<!doctype html> <%
import urllib
%>
<!doctype html>
<html lang="en"> <html lang="en">
<head> <head>
@ -58,7 +61,7 @@
<script> <script>
$(document).ready(function () { $(document).ready(function () {
var frame = $('<iframe></iframe>', { var frame = $('<iframe></iframe>', {
src: '${http_root}real_newsletter?newsletter_id=${newsletter_id}&preview=true', src: '${http_root}real_newsletter?${urllib.urlencode(kwargs)}',
frameborder: '0', frameborder: '0',
style: 'display: none; height: 100vh; width: 100vw;' style: 'display: none; height: 100vh; width: 100vw;'
}); });

View file

@ -5617,14 +5617,13 @@ class WebInterface(object):
newsletter = newsletter_handler.get_newsletter(newsletter_uuid=newsletter_uuid) newsletter = newsletter_handler.get_newsletter(newsletter_uuid=newsletter_uuid)
return newsletter return newsletter
return self._newsletter(**kwargs)
@cherrypy.expose @cherrypy.expose
@requireAuth(member_of("admin")) @requireAuth(member_of("admin"))
def _newsletter(self, newsletter_id=None, **kwargs): def newsletter_preview(self, **kwargs):
kwargs['preview'] = 'true'
return serve_template(templatename="newsletter_preview.html", return serve_template(templatename="newsletter_preview.html",
title="Newsletter", title="Newsletter",
newsletter_id=newsletter_id) kwargs=kwargs)
@cherrypy.expose @cherrypy.expose
@requireAuth(member_of("admin")) @requireAuth(member_of("admin"))
@ -5649,7 +5648,7 @@ class WebInterface(object):
return newsletter_agent.generate_newsletter(preview=preview, master=master) return newsletter_agent.generate_newsletter(preview=preview, master=master)
logger.error(u"Failed to retrieve newsletter: Invalid newsletter_id %s" % newsletter_id) logger.error(u"Failed to retrieve newsletter: Invalid newsletter_id %s" % newsletter_id)
return "Failed to retrieve newsletter" return "Failed to retrieve newsletter: invalid newsletter_id parameter"
logger.error(u"Failed to retrieve newsletter: Missing newsletter_id parameter.") logger.error(u"Failed to retrieve newsletter: Missing newsletter_id parameter.")
return "Failed to retrieve newsletter" return "Failed to retrieve newsletter: missing newsletter_id parameter"