def oauth2_step2(): code = request.args.get('code') url = 'https://slack.com/api/oauth.access?client_id=%s&client_secret=%s&code=%s&redirect_uri=%s' % ( CLIENT_ID, CLIENT_SECRET, code, REDIRECT_URI) r = requests.get(url) response = json.loads(r.text) s = session() team = Team(name=response['team_name'], token=response['access_token'], id=response['team_id'], bot_id=response['bot']['bot_user_id'], bot_token=response['bot']['bot_access_token']) s.add(team) sc = SlackClient(response['access_token']) """ user_im_ids = {} im_list = sc.api_call('im.list') return str(im_list) for im in im_list['ims']: pass #user_im_ids[im['user']] = im['id'] """ user_list = sc.api_call("users.list")['members'] for user_object in user_list: if user_object['deleted'] or not user_object['is_bot']: continue user_id = user_object['id'] user_profile = user_object['profile'] #im_id = user_im_ids[user_id] #user = User(id=user_id, team=team, im_id=im_id) user = User(id=user_id, team=team) s.add(user) s.commit() os.system("nohup python bot/rtmbot.py %s &" % response['bot']['bot_access_token']) return jsonify(r.json())
def dashboard(): ad_matches = db.ad_matches() #./dashboard #---------------OPERATIONS-------------------------------- if request.method == 'POST': if request.form.get('operation') == 'schedule_match': team1 = request.form.get('team1_id') team2 = request.form.get('team2_id') date = request.form.get('date') match = Match(team1_id=team1, team2_id=team2, date=date) db.addMatch(match) return redirect(url_for('dashboard')) elif request.form.get('operation') == 'delete_match': match_id = request.form.get('match_id') match = Match(match_id=match_id) db.deleteMatch(match) return redirect(url_for('dashboard')) elif request.form.get('operation') == 'add_team': name = request.form.get('team_name') captain = request.form.get('captain_name') team = Team(name=name, captain=captain) db.addTeam(team) return redirect(url_for('dashboard')) elif request.form.get('operation') == 'delete_team': id = request.form.get('team_id') team = Team(id=id) db.deleteTeam(team) return redirect(url_for('dashboard')) elif request.form.get('operation') == 'add_player': name = request.form.get('player_name') team_id = request.form.get('team_id') player = Player(name=name, team_id=team_id) db.addPlayer(player) return redirect(url_for('dashboard')) elif request.form.get('operation') == 'delete_player': id = request.form.get('player_id') team_id = request.form.get('team_id') player = Player(id=id, team_id=team_id) db.deletePlayer(player) return redirect(url_for('dashboard')) return render_template("./admin/dashboard.html",title="Dash Board", matches=ad_matches)