|
1 | | -import structlog |
| 1 | +import json |
| 2 | +import requests |
2 | 3 |
|
3 | | -from flask import Blueprint, request, jsonify, redirect |
| 4 | +from flask import Blueprint |
| 5 | +from flask import request |
| 6 | +from flask import jsonify |
| 7 | +from flask import redirect |
4 | 8 |
|
5 | 9 | from sqlalchemy import desc |
6 | 10 |
|
| 11 | +import structlog |
| 12 | + |
| 13 | +from conditional.util.context_processors import get_member_name |
| 14 | + |
7 | 15 | from conditional.models.models import MajorProject |
8 | 16 |
|
9 | 17 | from conditional.util.ldap import ldap_is_eval_director |
10 | 18 | from conditional.util.ldap import ldap_get_member |
11 | 19 | from conditional.util.flask import render_template |
12 | 20 |
|
13 | | -from conditional import db, start_of_year, get_user, auth |
| 21 | +from conditional import db, start_of_year, get_user, auth, app |
14 | 22 |
|
15 | 23 | logger = structlog.get_logger() |
16 | 24 |
|
@@ -61,6 +69,9 @@ def submit_major_project(user_dict=None): |
61 | 69 | return jsonify({"success": False}), 400 |
62 | 70 | project = MajorProject(user_dict['username'], name, description) |
63 | 71 |
|
| 72 | + username = user_dict['username'] |
| 73 | + send_slack_ping({"text":f"<!subteam^S5XENJJAH> *{get_member_name(username)}* ({username})" |
| 74 | + f" submitted their major project, *{name}*!"}) |
64 | 75 | db.session.add(project) |
65 | 76 | db.session.commit() |
66 | 77 | return jsonify({"success": True}), 200 |
@@ -114,3 +125,6 @@ def major_project_delete(pid, user_dict=None): |
114 | 125 | return jsonify({"success": True}), 200 |
115 | 126 |
|
116 | 127 | return "Must be project owner to delete!", 401 |
| 128 | + |
| 129 | +def send_slack_ping(payload): |
| 130 | + requests.post(app.config['WEBHOOK_URL'], json.dumps(payload)) |
0 commit comments