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 confirm_with_recaptcha(token='', msg=None, umi=None, user=None): form = forms.RecaptchaForm(request.form, app_router_path(inspect.stack()[0][3], token=token)) context = { 'form': form } if form.validate_on_submit(): msg.free_link() process_inbound_message(user, umi, msg, send_email=True) context['legislators'] = umi.members_of_congress return render_template_wctx('pages/message_sent.html', context=context) return render_template_wctx('pages/confirm_with_recaptcha.html', context=context)
def login(self): form = forms.LoginForm(request.form, url_for_with_prefix('.login')) if request.method == 'POST': admin = form.validate_credentials() if admin: login_user(admin) return redirect(url_for_with_prefix('.index')) return render_template_wctx('pages/admin_login.html', context={'form': form})
def update_user_address(token='', msg=None, umi=None, user=None): form = forms.RegistrationForm(request.form, app_router_path(inspect.stack()[0][3], token=token)) context = { 'form': form, 'verification_token': token, 'msg_email': user.email, 'umi': umi, 'msg': msg } if request.method == 'POST': if form.validate_and_save_to_db(user, msg=msg): district = umi.determine_district(force=True) if district is None: context['district_error'] = True else: if msg is None: token = user.token.reset() emailer.NoReply.address_changed(user).send() else: emailer.NoReply.signup_success(user, msg).send() return redirect(url_for_with_prefix('app_router.confirm_reps', token=token)) return render_template_wctx("pages/update_user_address.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, '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 _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 legislator_index(**kwargs): context = { 'legislators': Legislator.query.all(), 'states': CODE_TO_STATE } return render_template_wctx('pages/legislator_index.html', context=context)
def render_without_request(template_name, **template_vars): """ Usage is the same as flask.render_template: render_without_request('my_template.html', var1='foo', var2='bar') """ from phantom_mask import create_app, config_ext with config_ext(create_app()).app_context(): return helpers.render_template_wctx(template_name, **template_vars)
def message_sent(token='', msg=None, umi=None, user=None): context = { 'umi': umi, 'legislators': umi.members_of_congress, 'msg_legislators': msg.get_legislators(), 'msg': msg } return render_template_wctx('pages/message_sent.html', context=context)
def district(state, district): legs = Legislator.members_for_state_and_district(state, district) context = { 'legislators': legs, 'humanized_district': Legislator.humanized_district(state, district), 'geojson_url': Legislator.get_district_geojson_url(state, district) } return render_template_wctx('pages/congressional_district.html', context=context)
def reset_token(): """ View to allow user to reset their token if it becomes compromised, they can't find the link in their email, or otherwise. """ form = forms.TokenResetForm(request.form, url_for_with_prefix('app_router.' + inspect.stack()[0][3])) context = { 'form': form } if form.validate_on_submit(): context['success'] = True user = User.query.filter_by(email=form.email.data).first() if user: user.create_tmp_token() emailer.NoReply.token_reset(user).send() return render_template_wctx('pages/reset_token.html', context=context)
def update_user_address(token='', msg=None, umi=None, user=None): form = forms.RegistrationForm(request.form, app_router_path(inspect.stack()[0][3], token=token)) context = { 'form': form, 'verification_token': token, 'msg_email': user.email } if request.method == 'POST': # get zip4 so user doesn't have to look it up form.autocomplete_address() form.resolve_zip4() if form.validate_and_save_to_db(user, msg=msg): district = umi.determine_district(force=True) if district is None: context['district_error'] = True else: if msg is None: emailer.NoReply.address_changed(user).send() return redirect(url_for_with_prefix('app_router.confirm_reps', token=token)) return render_template_wctx("pages/update_user_address.html", context=context)
def internal_server(error): app.logger.error('Server Error: %s', error) return render_template_wctx('500.html'), 500
def page_not_found(error): return render_template_wctx('404.html'), 404
def faq(): return render_template_wctx('pages/static/faq.html', context={})