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() {
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() {

View file

@ -1,4 +1,7 @@
<!doctype html>
<%
import urllib
%>
<!doctype html>
<html lang="en">
<head>
@ -58,7 +61,7 @@
<script>
$(document).ready(function () {
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',
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)
return newsletter
return self._newsletter(**kwargs)
@cherrypy.expose
@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",
title="Newsletter",
newsletter_id=newsletter_id)
kwargs=kwargs)
@cherrypy.expose
@requireAuth(member_of("admin"))
@ -5649,7 +5648,7 @@ class WebInterface(object):
return newsletter_agent.generate_newsletter(preview=preview, master=master)
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.")
return "Failed to retrieve newsletter"
return "Failed to retrieve newsletter: missing newsletter_id parameter"