def template_edit(request, template_id, form_class=TemplateForm, template_name='campaign_monitor/templates/edit.html'): template = get_object_or_404(Template, template_id=template_id) if not has_perm(request.user,'campaign_monitor.change_template', template): raise Http403 if request.method == "POST": form = form_class(request.POST, request.FILES, instance=template) if form.is_valid(): #save template to generate urls template = form.save() #set up urls site_url = get_setting('site', 'global', 'siteurl') if hasattr(settings, 'USE_S3_STORAGE') and settings.USE_S3_STORAGE: html_url = template.html_file.url else: html_url = str("%s%s" % (site_url, template.get_html_url())) if template.zip_file: if hasattr(settings, 'USE_S3_STORAGE') and settings.USE_S3_STORAGE: zip_url = template.get_zip_url() else: zip_url = "%s%s" % (site_url, template.get_zip_url()) else: zip_url = "" #sync with campaign monitor try: t = CST(auth=auth, template_id = form.instance.template_id) t.update(str(template.name), html_url, zip_url) except BadRequest, e: msg_string = 'Bad Request %s: %s' % (e.data.Code, e.data.Message) messages.add_message(request, messages.ERROR, _(msg_string)) return render_to_response(template_name, {'form':form}, context_instance=RequestContext(request)) except Exception, e: msg_string = 'Error: %s' % e messages.add_message(request, messages.ERROR, _(msg_string)) return render_to_response(template_name, {'form':form}, context_instance=RequestContext(request)) #get campaign monitor details t = t.details() template.name = t.Name template.cm_preview_url = t.PreviewURL template.cm_screenshot_url = t.ScreenshotURL template.save() #extract and serve files in zip extract_files(template) msg_string = 'Successfully updated Template : %s' % template.template_id messages.add_message(request, messages.SUCCESS, _(msg_string)) return redirect(template)
def template_add(request, form_class=TemplateForm, template_name='campaign_monitor/templates/add.html'): if not has_perm(request.user,'campaign_monitor.add_template'): raise Http403 if request.method == "POST": form = form_class(request.POST, request.FILES) if form.is_valid(): #save template to generate urls template = form.save(commit=False) template.template_id = temporary_id() template.save() #set up urls site_url = get_setting('site', 'global', 'siteurl') if template.zip_file: if hasattr(settings, 'USE_S3_STORAGE') and settings.USE_S3_STORAGE: zip_url = template.get_zip_url() html_url = template.html_file.url else: zip_url = "%s%s" % (site_url, template.get_zip_url()) html_url = "%s%s" % (site_url, template.get_html_url()) else: zip_url = "" #sync with campaign monitor try: t_id = CST(auth=auth).create( client_id, template.name, html_url, zip_url ) except BadRequest, e: messages.add_message(request, messages.ERROR, 'Bad Request %s: %s' % (e.data.Code, e.data.Message)) template.delete() return render_to_response(template_name, {'form':form}, context_instance=RequestContext(request)) except Exception, e: messages.add_message(request, messages.ERROR, 'Error: %s' % e) template.delete() return render_to_response(template_name, {'form':form}, context_instance=RequestContext(request)) #get campaign monitor details t = CST(auth=auth, template_id=t_id).details() template.template_id = t_id template.name = t.Name template.cm_preview_url = t.PreviewURL template.cm_screenshot_url = t.ScreenshotURL template.save() #extract and serve files in zip extract_files(template) messages.add_message(request, messages.SUCCESS, 'Successfully created Template : %s' % t_id) return redirect(template)
def template_edit(request, template_id, form_class=TemplateForm, template_name='campaign_monitor/templates/edit.html'): template = get_object_or_404(Template, template_id=template_id) if not has_perm(request.user, 'campaign_monitor.change_template', template): raise Http403 if request.method == "POST": form = form_class(request.POST, request.FILES, instance=template) if form.is_valid(): #save template to generate urls template = form.save() #set up urls site_url = get_setting('site', 'global', 'siteurl') if hasattr(settings, 'USE_S3_STORAGE') and settings.USE_S3_STORAGE: html_url = template.html_file.url else: html_url = str("%s%s" % (site_url, template.get_html_url())) if template.zip_file: if hasattr(settings, 'USE_S3_STORAGE') and settings.USE_S3_STORAGE: zip_url = template.get_zip_url() else: zip_url = "%s%s" % (site_url, template.get_zip_url()) else: zip_url = "" #sync with campaign monitor try: t = CST(auth=auth, template_id=form.instance.template_id) t.update(str(template.name), html_url, zip_url) except BadRequest, e: msg_string = 'Bad Request %s: %s' % (e.data.Code, e.data.Message) messages.add_message(request, messages.ERROR, _(msg_string)) return render_to_response( template_name, {'form': form}, context_instance=RequestContext(request)) except Exception, e: msg_string = 'Error: %s' % e messages.add_message(request, messages.ERROR, _(msg_string)) return render_to_response( template_name, {'form': form}, context_instance=RequestContext(request)) #get campaign monitor details t = t.details() template.name = t.Name template.cm_preview_url = t.PreviewURL template.cm_screenshot_url = t.ScreenshotURL template.save() #extract and serve files in zip extract_files(template) msg_string = 'Successfully updated Template : %s' % template.template_id messages.add_message(request, messages.SUCCESS, _(msg_string)) return redirect(template)
def template_add(request, form_class=TemplateForm, template_name='campaign_monitor/templates/add.html'): if not has_perm(request.user, 'campaign_monitor.add_template'): raise Http403 if request.method == "POST": form = form_class(request.POST, request.FILES) if form.is_valid(): #save template to generate urls template = form.save(commit=False) template.template_id = temporary_id() template.save() #set up urls site_url = get_setting('site', 'global', 'siteurl') if template.zip_file: if hasattr(settings, 'USE_S3_STORAGE') and settings.USE_S3_STORAGE: zip_url = template.get_zip_url() html_url = template.html_file.url else: zip_url = "%s%s" % (site_url, template.get_zip_url()) html_url = "%s%s" % (site_url, template.get_html_url()) else: zip_url = "" #sync with campaign monitor try: t_id = CST(auth=auth).create(client_id, template.name, html_url, zip_url) except BadRequest, e: messages.add_message( request, messages.ERROR, 'Bad Request %s: %s' % (e.data.Code, e.data.Message)) template.delete() return render_to_response( template_name, {'form': form}, context_instance=RequestContext(request)) except Exception, e: messages.add_message(request, messages.ERROR, 'Error: %s' % e) template.delete() return render_to_response( template_name, {'form': form}, context_instance=RequestContext(request)) #get campaign monitor details t = CST(auth=auth, template_id=t_id).details() template.template_id = t_id template.name = t.Name template.cm_preview_url = t.PreviewURL template.cm_screenshot_url = t.ScreenshotURL template.save() #extract and serve files in zip extract_files(template) messages.add_message(request, messages.SUCCESS, 'Successfully created Template : %s' % t_id) return redirect(template)