Пример #1
0
def add_contribution(event_id, contribution_id):
    user_id = flask_session['indico_user']
    if contribution_id:
        if db_contribution.get_favorites_contribution(user_id, event_id, contribution_id):
            print 'already in favorites'
        else:
            favorites_contribution = db_contribution.get_contribution(event_id, contribution_id)
            if favorites_contribution['slot']:
                session_id = favorites_contribution['slot']['sessionId']
                favorites_contributions = db_contribution.get_favorites_event_contributions(user_id, event_id, True)
                num_contrib_in_session_favorites = 0
                num_contrib_in_session_db = 0
                for contribution in favorites_contributions:
                    current_contribution = contribution['contribution']
                    if current_contribution['slot']:
                        if current_contribution['slot']['sessionId'] == session_id:
                            num_contrib_in_session_favorites += 1
                sessions_in_db = db_session.get_event_same_sessions(event_id, session_id)
                for session in sessions_in_db:
                    num_contrib_in_session_db += len(session['entries'])
                if num_contrib_in_session_db - num_contrib_in_session_favorites == 1:
                    add_session(event_id, session_id)
                else:
                    db_contribution.add_contribution_to_favorites(user_id, favorites_contribution)
            else:
                num_contrib_in_event = len(db_contribution.get_event_contributions(event_id, {'contributionId': {'$ne': None}}, False, False))
                num_contrib_in_favorites = db_contribution.get_num_favorites_event_contributions(user_id, event_id)
                if num_contrib_in_event - num_contrib_in_favorites == 1:
                    add_event(event_id)
                else:
                    db_contribution.add_contribution_to_favorites(user_id, favorites_contribution)
    return ''
Пример #2
0
def add_contribution(event_id, contribution_id):
    user_id = flask_session['indico_user']
    if contribution_id:
        if db_contribution.get_favorites_contribution(user_id, event_id,
                                                      contribution_id):
            print 'already in favorites'
        else:
            favorites_contribution = db_contribution.get_contribution(
                event_id, contribution_id)
            if favorites_contribution['slot']:
                session_id = favorites_contribution['slot']['sessionId']
                favorites_contributions = db_contribution.get_favorites_event_contributions(
                    user_id, event_id, True)
                num_contrib_in_session_favorites = 0
                num_contrib_in_session_db = 0
                for contribution in favorites_contributions:
                    current_contribution = contribution['contribution']
                    if current_contribution['slot']:
                        if current_contribution['slot'][
                                'sessionId'] == session_id:
                            num_contrib_in_session_favorites += 1
                sessions_in_db = db_session.get_event_same_sessions(
                    event_id, session_id)
                for session in sessions_in_db:
                    num_contrib_in_session_db += len(session['entries'])
                if num_contrib_in_session_db - num_contrib_in_session_favorites == 1:
                    add_session(event_id, session_id)
                else:
                    db_contribution.add_contribution_to_favorites(
                        user_id, favorites_contribution)
            else:
                num_contrib_in_event = len(
                    db_contribution.get_event_contributions(
                        event_id, {'contributionId': {
                            '$ne': None
                        }}, False, False))
                num_contrib_in_favorites = db_contribution.get_num_favorites_event_contributions(
                    user_id, event_id)
                if num_contrib_in_event - num_contrib_in_favorites == 1:
                    add_event(event_id)
                else:
                    db_contribution.add_contribution_to_favorites(
                        user_id, favorites_contribution)
    return ''
Пример #3
0
def remove_contribution(event_id, contribution_id):
    user_id = flask_session['indico_user']
    favorites_contribution = db_contribution.get_favorites_contribution(user_id, event_id, contribution_id)
    contribution_db = db_contribution.get_contribution(event_id, contribution_id)
    session_id = None
    if contribution_db['slot']:
        session_id = contribution_db['slot']['sessionId']
    if favorites_contribution:
        db_contribution.remove_contribution_from_favorites(user_id, event_id, contribution_id)
    elif db_event.get_favorites_event(user_id, event_id):
        db_event.remove_event_from_favorites(user_id, event_id)
        contributions = db_contribution.get_event_contributions(event_id, {'contributionId': {'$ne': contribution_id}})
        for contribution in contributions:
            add_contribution(event_id, contribution['contributionId'])
    elif session_id:
        if  db_contribution.get_favorites_contribution(user_id, event_id, session_id):
            contributions = db_contribution.get_event_contributions(event_id, {'slot':{'$ne': None}, 'contributionId': {'$ne': contribution_id}}, True)
            db_session.remove_session_from_favorites(user_id, event_id, session_id)
            for contribution in contributions:
                if contribution['slot']['sessionId'] == session_id:
                    add_contribution(event_id, contribution['contributionId'])
    return ''
Пример #4
0
def remove_contribution(event_id, contribution_id):
    user_id = flask_session['indico_user']
    favorites_contribution = db_contribution.get_favorites_contribution(
        user_id, event_id, contribution_id)
    contribution_db = db_contribution.get_contribution(event_id,
                                                       contribution_id)
    session_id = None
    if contribution_db['slot']:
        session_id = contribution_db['slot']['sessionId']
    if favorites_contribution:
        db_contribution.remove_contribution_from_favorites(
            user_id, event_id, contribution_id)
    elif db_event.get_favorites_event(user_id, event_id):
        db_event.remove_event_from_favorites(user_id, event_id)
        contributions = db_contribution.get_event_contributions(
            event_id, {'contributionId': {
                '$ne': contribution_id
            }})
        for contribution in contributions:
            add_contribution(event_id, contribution['contributionId'])
    elif session_id:
        if db_contribution.get_favorites_contribution(user_id, event_id,
                                                      session_id):
            contributions = db_contribution.get_event_contributions(
                event_id, {
                    'slot': {
                        '$ne': None
                    },
                    'contributionId': {
                        '$ne': contribution_id
                    }
                }, True)
            db_session.remove_session_from_favorites(user_id, event_id,
                                                     session_id)
            for contribution in contributions:
                if contribution['slot']['sessionId'] == session_id:
                    add_contribution(event_id, contribution['contributionId'])
    return ''
Пример #5
0
def get_event_contribution(event_id, contrib_id):
    return Response(json.dumps(db_contribution.get_contribution(event_id, contrib_id)), mimetype='application/json')
Пример #6
0
def get_event_contribution(event_id, contrib_id):
    return Response(json.dumps(
        db_contribution.get_contribution(event_id, contrib_id)),
                    mimetype='application/json')