Esempio n. 1
0
def accreds_list_json(request):
    """Display the list of accreds, json call for the list"""

    # Update current unit
    update_current_unit(request, request.GET.get('upk'))

    unit = get_current_unit(request)

    # Check unit access
    if not Accreditation.static_rights_can('LIST', request.user, unit):
        raise Http404

    # Filter by unit
    filter_ = lambda x: x.filter(unit=unit)

    # Si pas le droit de créer, filtrage des accreds invisibles
    if not Accreditation.static_rights_can('CREATE', request.user, get_current_unit(request)):
        filter__ = lambda x: x.filter(hidden_in_truffe=False)
    else:
        filter__ = lambda x: x

    # Filter old accreds, if needed
    if request.GET.get('h', '0') == '0':
        filter2 = lambda x: filter_(filter__(x)).filter(end_date=None)
    else:
        filter2 = lambda x: filter_(filter__(x))

    return generic_list_json(request, Accreditation, ['pk', 'user', 'get_role_or_display_name', 'start_date', 'no_epfl_sync', 'hidden_in_epfl', 'hidden_in_truffe', 'renewal_date', 'pk'], 'units/accreds/list_json.html', filter_fields=['user__first_name', 'user__last_name', 'role__name'], bonus_filter_function=filter2, columns_mapping={'get_role_or_display_name': 'role__order', 'user': '******'})
Esempio n. 2
0
def accreds_list_json(request):
    """Display the list of accreds, json call for the list"""

    # Update current unit
    update_current_unit(request, request.GET.get('upk'))

    unit = get_current_unit(request)

    # Check unit access
    if not Accreditation.static_rights_can('LIST', request.user, unit):
        raise Http404

    # Filter by unit
    filter_ = lambda x: x.filter(unit=unit)

    # Si pas le droit de créer, filtrage des accreds invisibles
    if not Accreditation.static_rights_can('CREATE', request.user, get_current_unit(request)):
        filter__ = lambda x: x.filter(hidden_in_truffe=False)
    else:
        filter__ = lambda x: x

    # Filter old accreds, if needed
    if request.GET.get('h', '0') == '0':
        filter2 = lambda x: filter_(filter__(x)).filter(end_date=None)
    else:
        filter2 = lambda x: filter_(filter__(x))

    return generic_list_json(request, Accreditation, ['pk', 'user', 'get_role_or_display_name', 'start_date', 'no_epfl_sync', 'hidden_in_epfl', 'hidden_in_truffe', 'renewal_date', 'pk'], 'units/accreds/list_json.html', filter_fields=['user__first_name', 'user__last_name', 'role__name'], bonus_filter_function=filter2, columns_mapping={'get_role_or_display_name': 'role__order', 'user': '******'})
Esempio n. 3
0
def users_list_json(request):
    """Json for user list"""

    return generic_list_json(
        request, TruffeUser,
        ['username', 'first_name', 'last_name', 'pk', 'pk'],
        'users/users/list_json.html')
Esempio n. 4
0
def notification_json(request):
    """Json for notifications"""

    current_type = request.GET.get('current_type')

    if current_type:
        bonus_filter = lambda x: x.filter(key=current_type, user=request.user)
    else:
        bonus_filter = lambda x: x.filter(user=request.user)

    return generic_list_json(request, Notification, ['creation_date', 'key', 'linked_object', 'pk', 'pk'], 'notifications/center/json.html', bonus_filter_function=bonus_filter)
Esempio n. 5
0
def users_myunit_list_json(request):
    """Json for user list in the current unit"""
    from units.models import Accreditation

    update_current_unit(request, request.GET.get('upk'))

    current_unit = get_current_unit(request)

    if not current_unit or not current_unit.is_user_in_groupe(request.user):
        raise Http404

    filter = lambda x: x.filter(Q(unit=current_unit) & Q(end_date=None)).distinct()

    return generic_list_json(request, Accreditation, ['user__username', 'user__first_name', 'user__last_name', 'user__pk', 'role__order'], 'users/users/myunit_list_json.html', bonus_filter_function=filter)
Esempio n. 6
0
def users_myunit_list_json(request):
    """Json for user list in the current unit"""
    from units.models import Accreditation

    update_current_unit(request, request.GET.get('upk'))

    current_unit = get_current_unit(request)

    if not current_unit or not current_unit.is_user_in_groupe(request.user):
        raise Http404

    filter = lambda x: x.filter(Q(unit=current_unit) & Q(end_date=None)).distinct()

    return generic_list_json(request, Accreditation, ['user__username', 'user__first_name', 'user__last_name', 'user__pk', 'role__order'], 'users/users/myunit_list_json.html', bonus_filter_function=filter)
Esempio n. 7
0
def membership_list_json(request, pk):
    """Display the list of members, json call for the list"""
    from members.models import MemberSet, Membership

    # Get the MemberSet
    memberset = get_object_or_404(MemberSet, pk=pk)

    # Check user access
    if not memberset.rights_can('SHOW', request.user):
        raise Http404

    # Filter by group and check they are still in the group
    filter2 = lambda x: x.filter(group=memberset, end_date=None)

    return generic_list_json(request, Membership, ['user', 'start_date', 'payed_fees', 'group', 'pk'], 'members/membership/list_json.html', bonus_data={'handle_fees': memberset.handle_fees}, filter_fields=['user__first_name', 'user__last_name', 'user__username'], bonus_filter_function=filter2, columns_mapping={'user': '******'})
Esempio n. 8
0
def notification_json(request):
    """Json for notifications"""

    current_type = request.GET.get('current_type')

    if current_type:
        bonus_filter = lambda x: x.filter(key__startswith=current_type,
                                          user=request.user)
    else:
        bonus_filter = lambda x: x.filter(user=request.user)

    return generic_list_json(
        request,
        Notification, ['creation_date', 'key', 'linked_object', 'pk', 'pk'],
        'notifications/center/json.html',
        bonus_filter_function=bonus_filter)
Esempio n. 9
0
def accreds_list_json(request):
    """Display the list of accreds, json call for the list"""

    # Update current unit
    update_current_unit(request, request.GET.get("upk"))

    unit = get_current_unit(request)

    # Check unit access
    if not Accreditation.static_rights_can("LIST", request.user, unit):
        raise Http404

    # Filter by unit
    filter_ = lambda x: x.filter(unit=unit)

    # Si pas le droit de créer, filtrage des accreds invisibles
    if not Accreditation.static_rights_can("CREATE", request.user, get_current_unit(request)):
        filter__ = lambda x: x.filter(hidden_in_truffe=False)
    else:
        filter__ = lambda x: x

    # Filter old accreds, if needed
    if request.GET.get("h", "0") == "0":
        filter2 = lambda x: filter_(filter__(x)).filter(end_date=None)
    else:
        filter2 = lambda x: filter_(filter__(x))

    return generic_list_json(
        request,
        Accreditation,
        [
            "pk",
            "user",
            "get_role_or_display_name",
            "start_date",
            "no_epfl_sync",
            "hidden_in_epfl",
            "hidden_in_truffe",
            "renewal_date",
            "pk",
        ],
        "units/accreds/list_json.html",
        filter_fields=["user__first_name", "user__last_name", "role__name"],
        bonus_filter_function=filter2,
        columns_mapping={"get_role_or_display_name": "role__order", "user": "******"},
    )
Esempio n. 10
0
def accreds_logs_list_json(request):
    """Display the list of accreds, json call for the list"""

    # Update current unit
    update_current_unit(request, request.GET.get("upk"))

    unit = get_current_unit(request)

    # Check unit access
    if not Accreditation.static_rights_can("LIST", request.user, unit):
        raise Http404

    # Filter by unit
    filter_ = lambda x: x.filter(accreditation__unit=unit)

    # Si pas le droit de créer, filtrage des accreds invisibles
    if not Accreditation.static_rights_can("CREATE", request.user, get_current_unit(request)):
        filter__ = lambda x: x.filter(accreditation__hidden_in_truffe=False)
    else:
        filter__ = lambda x: x

    filter2 = lambda x: filter_(filter__(x))

    return generic_list_json(
        request,
        AccreditationLog,
        ["pk", "accreditation__user", "type", "when", "what"],
        "units/accreds/logs_list_json.html",
        filter_fields=[
            "accreditation__user__first_name",
            "accreditation__user__last_name",
            "accreditation__role__name",
            "who__first_name",
            "who__last_name",
        ],
        bonus_filter_function=filter2,
        columns_mapping={"pk": "accreditation__user__first_name"},
    )
Esempio n. 11
0
def accreds_logs_list_json(request):
    """Display the list of accreds, json call for the list"""

    # Update current unit
    update_current_unit(request, request.GET.get('upk'))

    unit = get_current_unit(request)

    # Check unit access
    if not Accreditation.static_rights_can('LIST', request.user, unit):
        raise Http404

    # Filter by unit
    filter_ = lambda x: x.filter(accreditation__unit=unit)

    # Si pas le droit de créer, filtrage des accreds invisibles
    if not Accreditation.static_rights_can('CREATE', request.user,
                                           get_current_unit(request)):
        filter__ = lambda x: x.filter(accreditation__hidden_in_truffe=False)
    else:
        filter__ = lambda x: x

    filter2 = lambda x: filter_(filter__(x))

    return generic_list_json(
        request,
        AccreditationLog,
        ['pk', 'accreditation__user', 'type', 'when', 'what'],
        'units/accreds/logs_list_json.html',
        filter_fields=[
            'accreditation__user__first_name',
            'accreditation__user__last_name', 'accreditation__role__name',
            'who__first_name', 'who__last_name'
        ],
        bonus_filter_function=filter2,
        columns_mapping={'pk': 'accreditation__user__first_name'})
Esempio n. 12
0
def accreds_logs_list_json(request):
    """Display the list of accreds, json call for the list"""

    # Update current unit
    update_current_unit(request, request.GET.get('upk'))

    unit = get_current_unit(request)

    # Check unit access
    if not Accreditation.static_rights_can('LIST', request.user, unit):
        raise Http404

    # Filter by unit
    filter_ = lambda x: x.filter(accreditation__unit=unit)

    # Si pas le droit de créer, filtrage des accreds invisibles
    if not Accreditation.static_rights_can('CREATE', request.user, get_current_unit(request)):
        filter__ = lambda x: x.filter(accreditation__hidden_in_truffe=False)
    else:
        filter__ = lambda x: x

    filter2 = lambda x: filter_(filter__(x))

    return generic_list_json(request, AccreditationLog, ['pk', 'accreditation__user', 'type', 'when', 'what'], 'units/accreds/logs_list_json.html', filter_fields=['accreditation__user__first_name', 'accreditation__user__last_name', 'accreditation__role__name', 'who__first_name', 'who__last_name'], bonus_filter_function=filter2, columns_mapping={'pk': 'accreditation__user__first_name'})
Esempio n. 13
0
def membership_list_json(request, pk):
    """Display the list of members, json call for the list"""
    from members.models import MemberSet, Membership

    # Get the MemberSet
    memberset = get_object_or_404(MemberSet, pk=pk)

    # Check user access
    if not memberset.rights_can('SHOW', request.user):
        raise Http404

    # Filter by group and check they are still in the group
    filter2 = lambda x: x.filter(group=memberset, end_date=None)

    return generic_list_json(
        request,
        Membership, ['user', 'start_date', 'payed_fees', 'group', 'pk'],
        'members/membership/list_json.html',
        bonus_data={'handle_fees': memberset.handle_fees},
        filter_fields=[
            'user__first_name', 'user__last_name', 'user__username'
        ],
        bonus_filter_function=filter2,
        columns_mapping={'user': '******'})
Esempio n. 14
0
def users_list_json(request):
    """Json for user list"""

    return generic_list_json(
        request, TruffeUser, ["username", "first_name", "last_name", "pk", "pk"], "users/users/list_json.html"
    )
Esempio n. 15
0
def users_list_json(request):
    """Json for user list"""

    return generic_list_json(request, TruffeUser, ['username', 'first_name', 'last_name', 'pk', 'pk'], 'users/users/list_json.html')