Exemplo n.º 1
0
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)
Exemplo n.º 2
0
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)
Exemplo n.º 3
0
 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
Exemplo n.º 4
0
 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)