def request_coordinator_privileges(): """ Submits a request for coordinator privileges. :return: """ _user_id = int(current_user.get_id()) message = request.form['message'] experiment = request.form['experiment'] existing_requests = get_pending_request() if len(existing_requests) > 0: return jsonify({ 'message': 'Pending coordinator requests already exist for this user.', 'status': 'error' }) try: coordinator_request = CoordinatorRequest(user=_user_id, message=str(message), collaboration=experiment) db.session.add(coordinator_request) db.session.commit() send_coordinator_request_mail(coordinator_request) except Exception as e: db.session.rollback() return jsonify({"status": "error", "message": e.__str__()}) return jsonify({'message': 'Request sent successfully.', 'status': 'ok'})
def request_coordinator_privileges(): """ Submits a request for coordinator privileges. :return: """ _user_id = int(current_user.get_id()) message = request.form['message'] experiment = request.form['experiment'] existing_requests = get_pending_request() if len(existing_requests) > 0: return jsonify({'message': 'Pending coordinator requests already exist for this user.', 'status': 'error'}) try: coordinator_request = CoordinatorRequest(user=_user_id, message=str(message), collaboration=experiment) db.session.add(coordinator_request) db.session.commit() send_coordinator_request_mail(coordinator_request) except Exception as e: db.session.rollback() return jsonify({"status": "error", "message": e.__str__()}) return jsonify({'message': 'Request sent successfully.', 'status': 'ok'})
def dashboard(): """ Depending on the user that is logged in, they will get a dashboard that reflects the current status of all submissions of which they are part. """ submissions = prepare_submissions(current_user) submission_meta = [] submission_stats = [] for record_id in submissions: stats = [] for key in submissions[record_id]["stats"].keys(): stats.append({ "name": key, "count": submissions[record_id]["stats"][key] }) submission_stats.append({"recid": record_id, "stats": stats}) review_flag = "todo" if submissions[record_id]["stats"]["attention"] == 0 and \ submissions[record_id]["stats"]["todo"] == 0 and \ submissions[record_id]["stats"]["passed"] == 0: review_flag = "todo" elif submissions[record_id]["stats"]["attention"] > 0 or \ submissions[record_id]["stats"]["todo"] > 0: review_flag = "attention" elif submissions[record_id]["stats"]["attention"] == 0 and \ submissions[record_id]["stats"]["todo"] == 0: review_flag = "passed" if submissions[record_id]["status"] == 'finished': review_flag = "finished" submissions[record_id]["metadata"]["submission_status"] = \ submissions[record_id]["status"] submissions[record_id]["metadata"]["review_flag"] = review_flag submission_meta.append(submissions[record_id]["metadata"]) user_profile = current_userprofile.query.filter_by( user_id=current_user.get_id()).first() ctx = { 'user_is_admin': has_role(current_user, 'admin'), 'submissions': submission_meta, 'user_profile': user_profile, 'user_has_coordinator_request': get_pending_request(), 'pending_coordinator_requests': get_pending_coordinator_requests(), 'submission_stats': json.dumps(submission_stats), 'pending_invites': get_pending_invitations_for_user(current_user) } return render_template('hepdata_dashboard/dashboard.html', ctx=ctx)
def dashboard(): """ Depending on the user that is logged in, they will get a dashboard that reflects the current status of all submissions of which they are part. """ submissions = prepare_submissions(current_user) submission_meta = [] submission_stats = [] for record_id in submissions: stats = [] for key in submissions[record_id]["stats"].keys(): stats.append( {"name": key, "count": submissions[record_id]["stats"][key]}) submission_stats.append({"recid": record_id, "stats": stats}) review_flag = "todo" if submissions[record_id]["stats"]["attention"] == 0 and \ submissions[record_id]["stats"]["todo"] == 0 and \ submissions[record_id]["stats"]["passed"] == 0: review_flag = "todo" elif submissions[record_id]["stats"]["attention"] > 0 or \ submissions[record_id]["stats"]["todo"] > 0: review_flag = "attention" elif submissions[record_id]["stats"]["attention"] == 0 and \ submissions[record_id]["stats"]["todo"] == 0: review_flag = "passed" if submissions[record_id]["status"] == 'finished': review_flag = "finished" submissions[record_id]["metadata"]["submission_status"] = \ submissions[record_id]["status"] submissions[record_id]["metadata"]["review_flag"] = review_flag submission_meta.append(submissions[record_id]["metadata"]) user_profile = current_userprofile.query.filter_by(user_id=current_user.get_id()).first() ctx = {'user_is_admin': has_role(current_user, 'admin'), 'submissions': submission_meta, 'user_profile': user_profile, 'user_has_coordinator_request': get_pending_request(), 'pending_coordinator_requests': get_pending_coordinator_requests(), 'submission_stats': json.dumps(submission_stats), 'pending_invites': get_pending_invitations_for_user(current_user)} return render_template('hepdata_dashboard/dashboard.html', ctx=ctx)
def dashboard(): """ Depending on the user that is logged in, they will get a dashboard that reflects the current status of all submissions of which they are a participant. """ user_profile = current_userprofile.query.filter_by( user_id=current_user.get_id()).first() ctx = { 'user_is_admin': has_role(current_user, 'admin'), 'user_profile': user_profile, 'user_has_coordinator_request': get_pending_request(), 'pending_coordinator_requests': get_pending_coordinator_requests(), 'pending_invites': get_pending_invitations_for_user(current_user) } return render_template('hepdata_dashboard/dashboard.html', ctx=ctx)