Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Alerts for job posts based on filtersets [WIP] #435

Open
wants to merge 23 commits into
base: main
Choose a base branch
from
Open
Changes from 1 commit
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
23519c0
subscriptions [wip]
shreyas-satish Apr 5, 2018
620d045
working backend for job alerts
shreyas-satish Apr 9, 2018
3c457f0
simplify and cleanup
shreyas-satish Apr 9, 2018
df699d7
Using StateManager for JobApplication model (#432)
Apr 11, 2018
7e87088
turn off autocomplete for the filters form
shreyas-satish Apr 11, 2018
3681656
changed background job to 10 minutes, custom __init__ for Filterset, …
shreyas-satish Apr 11, 2018
75c8976
added user association. added timing for alerts. cleanup
shreyas-satish Apr 11, 2018
3583eb3
Merge branch 'job-alerts' into jobalerts
shreyas-satish Apr 12, 2018
661d6c7
added time check for alert sending. cleanup. set sitemap
shreyas-satish Apr 12, 2018
9903e76
Merge branch 'master' into jobalerts
shreyas-satish Apr 16, 2018
c085782
removed fail logging. versioned api endpoints. added cascade for jobp…
shreyas-satish Apr 17, 2018
dfe052e
make title and name in filterset nullable
shreyas-satish Apr 17, 2018
ed3a605
changed function name
shreyas-satish Apr 17, 2018
0f9e3ac
Merge branch 'master' into jobalerts
shreyas-satish Apr 17, 2018
9d0432d
user or anon_user
shreyas-satish Apr 17, 2018
20512a2
added frequency to subscription init
shreyas-satish Apr 17, 2018
da775ca
Add form to subscribe to email alerts for job posts.
vidya-ram Apr 19, 2018
30993bd
Sync with latest.
vidya-ram Apr 19, 2018
27c2104
use form for email_frequency
shreyas-satish Apr 21, 2018
0623088
Update UI of job alerts form.
vidya-ram Apr 23, 2018
1219f55
Update text of subscribe form. Remove the border.
vidya-ram Apr 23, 2018
7a818d0
Update alert mailer template.
vidya-ram Apr 26, 2018
f82ee05
Merge branch 'master' into jobalerts
vidya-ram Apr 26, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
added time check for alert sending. cleanup. set sitemap
shreyas-satish committed Apr 12, 2018
commit 661d6c78f2c3575a8f3000d7b2843734c8a79ede
3 changes: 3 additions & 0 deletions hasjob/jobs/job_alerts.py
Original file line number Diff line number Diff line change
@@ -24,6 +24,9 @@ def send_email_alerts():
# Alert was sent recently, break out of loop
break

if not subscription.is_right_time_to_send_alert():
break

unseen_posts = get_unseen_posts(subscription)
if not unseen_posts:
# Nothing new to see, break out of loop
2 changes: 1 addition & 1 deletion hasjob/views/admin_filterset.py
Original file line number Diff line number Diff line change
@@ -26,7 +26,7 @@ def new(self):

form = FiltersetForm(parent=g.board)
if form.validate_on_submit():
filterset = Filterset(board=g.board, title=form.title.data)
filterset = Filterset(board=g.board, title=form.title.data, sitemap=True)
form.populate_obj(filterset)
try:
db.session.add(filterset)
16 changes: 8 additions & 8 deletions hasjob/views/job_alerts.py
Original file line number Diff line number Diff line change
@@ -65,12 +65,12 @@ def subscribe_to_job_alerts():
@app.route('/confirm_subscription_to_job_alerts', subdomain='<subdomain>')
@app.route('/confirm_subscription_to_job_alerts')
def confirm_subscription_to_job_alerts():
sub = JobPostSubscription.query.filter_by(email_verify_key=request.args.get('token')).one_or_none()
if not sub:
subscription = JobPostSubscription.query.filter_by(email_verify_key=request.args.get('token')).one_or_none()
if not subscription:
abort(404)
if sub.email_verified_at:
if subscription.email_verified_at:
abort(400)
sub.verify_email()
subscription.verify_email()
db.session.commit()
flash(_(u"You've just subscribed to receive alerts from us! We'll keep you posted."), 'success')
return redirect(url_for('index'), code=302)
@@ -79,12 +79,12 @@ def confirm_subscription_to_job_alerts():
@app.route('/unsubscribe_from_job_alerts', subdomain='<subdomain>')
@app.route('/unsubscribe_from_job_alerts')
def unsubscribe_from_job_alerts():
sub = JobPostSubscription.query.filter_by(unsubscribe_key=request.args.get('token')).one_or_none()
if not sub:
subscription = JobPostSubscription.query.filter_by(unsubscribe_key=request.args.get('token')).one_or_none()
if not subscription:
abort(404)
if not sub.email_verified_at:
if not subscription.email_verified_at:
abort(400)
sub.unsubscribe()
subscription.unsubscribe()
db.session.commit()
flash(_(u"You've just unsubscribed from receiving alerts! Hope they were useful."), 'success')
return redirect(url_for('index'), code=302)