def user_remove_committee_alert(committee_id): if current_user.is_authenticated() and request.method == 'POST': current_user.committee_alerts.remove(Committee.query.get(committee_id)) db.session.commit() ga_event('user', 'remove-alert', 'cte-alert-box') flash("We won't send you email alerts for this committee.", 'warning') return redirect(request.headers.get('referer', '/'))
def user_committee_alert(committee_id): if current_user.is_authenticated() and request.method == 'POST': current_user.committee_alerts.append(Committee.query.get(committee_id)) db.session.commit() ga_event('user', 'add-alert', 'cte-alert-box') flash("We'll send you email alerts for updates on this committee.", 'success') return redirect(request.values.get('next', '/'))
def user_add_committee_alert(committee_id): if current_user.is_authenticated() and request.method == 'POST': current_user.committee_alerts.append(Committee.query.get(committee_id)) db.session.commit() ga_event('user', 'add-alert', 'cte-alert-box') flash("We'll send you email alerts for updates on this committee.", 'success') return redirect(request.headers.get('referer', '/'))
def follow_committee(committee_id): committee = Committee.query.get(committee_id) if committee not in current_user.following: current_user.follow_committee(committee) if committee not in current_user.committee_alerts: current_user.committee_alerts.append(committee) db.session.commit() ga_event('user', 'follow-committee', 'cte-follow-committee')
def email_alerts(): """ Allow a user to manage their notification alerts. """ next_url = request.values.get('next', '') if current_user.is_authenticated() and request.method == 'POST': ids = request.form.getlist('committees') current_user.committee_alerts = Committee.query.filter( Committee.id.in_(ids)).all() current_user.subscribe_daily_schedule = bool( request.form.get('subscribe_daily_schedule')) db.session.commit() # register a google analytics event ga_event('user', 'change-alerts') if next_url: return redirect(next_url) return '' committees = load_from_api('v2/committees', return_everything=True, params={'monitored': True})['results'] if current_user.is_authenticated(): subscriptions = set(c.id for c in current_user.committee_alerts) else: subscriptions = set() provincial_committees = OrderedDict() for committee in committees: house = committee['house'] house_name = house['name'] if house['sphere'] == 'provincial': if house_name not in provincial_committees: provincial_committees[house_name] = [] provincial_committees[house_name].append(committee) saved_searches = defaultdict(list) if current_user.is_authenticated(): for ss in current_user.saved_searches: saved_searches[ss.search].append(ss) return render_template('user_management/email_alerts.html', committees=committees, after_signup=bool(next_url), subscriptions=subscriptions, next_url=next_url, saved_searches=saved_searches, provincial_committees=provincial_committees)
def email_alerts(): """ Allow a user to manage their notification alerts. """ next_url = request.values.get('next', '') if current_user.is_authenticated() and request.method == 'POST': ids = request.form.getlist('committees') current_user.committee_alerts = Committee.query.filter(Committee.id.in_(ids)).all() current_user.subscribe_daily_schedule = bool(request.form.get('subscribe_daily_schedule')) db.session.commit() # register a google analytics event ga_event('user', 'change-alerts') if next_url: return redirect(next_url) return '' committees = load_from_api( 'v2/committees', return_everything=True, params={'monitored': True})['results'] if current_user.is_authenticated(): subscriptions = set(c.id for c in current_user.committee_alerts) else: subscriptions = set() provincial_committees = OrderedDict() for committee in committees: house = committee['house'] house_name = house['name'] if house['sphere'] == 'provincial': if house_name not in provincial_committees: provincial_committees[house_name] = [] provincial_committees[house_name].append(committee) saved_searches = defaultdict(list) if current_user.is_authenticated(): for ss in current_user.saved_searches: saved_searches[ss.search].append(ss) return render_template( 'user_management/email_alerts.html', committees=committees, after_signup=bool(next_url), subscriptions=subscriptions, next_url=next_url, saved_searches=saved_searches, provincial_committees=provincial_committees )
def user_unfollow_committee(committee_id): if current_user.is_authenticated() and request.method == 'POST': committee = Committee.query.get(committee_id) if committee in current_user.following: current_user.unfollow_committee(committee) if committee in current_user.committee_alerts: current_user.committee_alerts.remove(committee) db.session.commit() ga_event('user', 'unfollow-committee', 'cte-follow-committee') return redirect(request.headers.get('referer', '/'))