|
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