Beispiel #1
0
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'})
Beispiel #2
0
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'})
Beispiel #3
0
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)
Beispiel #4
0
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)
Beispiel #5
0
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)