def confirm_reps(token='', msg=None, umi=None, user=None): """ Confirm members of congress and submit message (if message present) @param token: token to identify the user / message @type token: string @return: @rtype: """ form = forms.MessageForm(request.form, append_get_params(url_for_with_prefix('app_router.' + inspect.stack()[0][3], token=token))) moc = umi.members_of_congress context = { 'form': form, 'msg': msg, 'user': user, 'umi': umi, 'legislators': moc } if msg is not None and request.method == 'POST' and form.validate() and request.form.getlist('legislator_choices[]'): if not request.form.get('donotsend', False): legs = [moc[int(i)] for i in request.form.getlist('legislator_choices[]')] msg.queue_to_send(legs) emailer.NoReply.message_queued(user, legs, msg).send() return redirect(url_for_with_prefix('app_router.message_sent', token=token)) else: if msg is not None: form.populate_data_from_message(msg) context['legs_buckets'] = Legislator.get_leg_buckets_from_emails(umi.members_of_congress, json.loads(msg.to_originally)) return render_template_wctx('pages/confirm_reps.html', context=context)
def confirm_reps(token='', msg=None, umi=None, user=None): """ Confirm members of congress and submit message (if message present) @param token: token to identify the user / message @type token: string @return: @rtype: """ form = forms.MessageForm(request.form, append_get_params(url_for_with_prefix('app_router.' + inspect.stack()[0][3], token=token))) moc = umi.members_of_congress context = { 'form': form, 'message': msg, 'user': user, 'umi': umi, 'legislators': moc } if msg is not None and request.method == 'POST' and form.validate(): msg.queue_to_send([moc[i] for i in [v for v in range(0, len(moc)) if request.form.get('legislator_' + str(v))]]) return render_template_wctx('pages/message_sent.html', context=context) else: if msg is not None: form.populate_data_from_message(msg) context['legs_buckets'] = Legislator.get_leg_buckets_from_emails(umi.members_of_congress, json.loads(msg.to_originally)) return render_template_wctx('pages/confirm_reps.html', context=context)
def _sent_formatter(view, context, model, name): if not model.sent: ctx = {'msgleg-id': str(model.id)} get_paramss = {'url': view.url, 'id': ctx['msgleg-id']} ctx['post_url'] = append_get_params(view.url + '/' + name + '/', **get_paramss) return Markup(render_template_wctx('admin/resend_button.html', context=ctx)) else: return model.sent
def token_or_redirect(**kwargs): msg, umi, user = convert_token(kwargs.get('token', '')) if user is None: return redirect(url_for_with_prefix('app_router.reset_token')) elif msg is not None and msg.needs_captcha_to_send() and viewfunc.__name__ is not 'confirm_with_recaptcha': return redirect(append_get_params(url_for_with_prefix('app_router.confirm_with_recaptcha', **kwargs))) else: kwargs.update({'msg': msg, 'umi': umi, 'user': user}) return viewfunc(**kwargs)