mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-11-04 09:12:11 +01:00 
			
		
		
		
	Fix CI
This commit is contained in:
		@@ -3,8 +3,8 @@
 | 
			
		||||
 | 
			
		||||
from django_filters.rest_framework import DjangoFilterBackend
 | 
			
		||||
from rest_framework.filters import SearchFilter
 | 
			
		||||
 | 
			
		||||
from api.viewsets import ReadProtectedModelViewSet
 | 
			
		||||
 | 
			
		||||
from .serializers import ActivityTypeSerializer, ActivitySerializer, GuestSerializer
 | 
			
		||||
from ..models import ActivityType, Activity, Guest
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -8,7 +8,6 @@ from django_filters.rest_framework import DjangoFilterBackend
 | 
			
		||||
from rest_framework import routers, serializers
 | 
			
		||||
from rest_framework.filters import SearchFilter
 | 
			
		||||
from rest_framework.viewsets import ReadOnlyModelViewSet
 | 
			
		||||
 | 
			
		||||
from activity.api.urls import register_activity_urls
 | 
			
		||||
from api.viewsets import ReadProtectedModelViewSet
 | 
			
		||||
from member.api.urls import register_members_urls
 | 
			
		||||
 
 | 
			
		||||
@@ -4,7 +4,6 @@
 | 
			
		||||
from django.contrib.contenttypes.models import ContentType
 | 
			
		||||
from member.backends import PermissionBackend
 | 
			
		||||
from rest_framework import viewsets
 | 
			
		||||
 | 
			
		||||
from note_kfet.middlewares import get_current_authenticated_user
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -3,8 +3,8 @@
 | 
			
		||||
 | 
			
		||||
from django_filters.rest_framework import DjangoFilterBackend
 | 
			
		||||
from rest_framework.filters import OrderingFilter
 | 
			
		||||
 | 
			
		||||
from api.viewsets import ReadOnlyProtectedModelViewSet
 | 
			
		||||
 | 
			
		||||
from .serializers import ChangelogSerializer
 | 
			
		||||
from ..models import Changelog
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -4,12 +4,10 @@
 | 
			
		||||
from django.contrib.contenttypes.models import ContentType
 | 
			
		||||
from rest_framework.renderers import JSONRenderer
 | 
			
		||||
from rest_framework.serializers import ModelSerializer
 | 
			
		||||
 | 
			
		||||
import getpass
 | 
			
		||||
 | 
			
		||||
from note.models import NoteUser, Alias
 | 
			
		||||
 | 
			
		||||
from note_kfet.middlewares import get_current_authenticated_user, get_current_ip
 | 
			
		||||
 | 
			
		||||
from .models import Changelog
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -2,8 +2,8 @@
 | 
			
		||||
# SPDX-License-Identifier: GPL-3.0-or-later
 | 
			
		||||
 | 
			
		||||
from rest_framework.filters import SearchFilter
 | 
			
		||||
 | 
			
		||||
from api.viewsets import ReadProtectedModelViewSet
 | 
			
		||||
 | 
			
		||||
from .serializers import ProfileSerializer, ClubSerializer, RoleSerializer, MembershipSerializer
 | 
			
		||||
from ..models import Profile, Club, Role, Membership
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,15 +1,15 @@
 | 
			
		||||
# Copyright (C) 2018-2020 by BDE ENS Paris-Saclay
 | 
			
		||||
# SPDX-License-Identifier: GPL-3.0-or-later
 | 
			
		||||
 | 
			
		||||
from django.contrib.auth.backends import ModelBackend
 | 
			
		||||
from django.contrib.auth.models import User
 | 
			
		||||
from django.contrib.contenttypes.models import ContentType
 | 
			
		||||
from django.db.models import Q, F
 | 
			
		||||
 | 
			
		||||
from note.models import Note, NoteUser, NoteClub, NoteSpecial
 | 
			
		||||
from note_kfet.middlewares import get_current_session
 | 
			
		||||
from permission.models import Permission
 | 
			
		||||
 | 
			
		||||
from .models import Membership, Club
 | 
			
		||||
from django.contrib.auth.backends import ModelBackend
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class PermissionBackend(ModelBackend):
 | 
			
		||||
@@ -53,9 +53,6 @@ class PermissionBackend(ModelBackend):
 | 
			
		||||
        :return: A query that corresponds to the filter to give to a queryset
 | 
			
		||||
        """
 | 
			
		||||
 | 
			
		||||
        from time import time
 | 
			
		||||
        ti = time()
 | 
			
		||||
 | 
			
		||||
        if user.is_superuser and get_current_session().get("permission_mask", 0) >= 42:
 | 
			
		||||
            # Superusers have all rights
 | 
			
		||||
            return Q()
 | 
			
		||||
 
 | 
			
		||||
@@ -8,8 +8,8 @@ from dal import autocomplete
 | 
			
		||||
from django import forms
 | 
			
		||||
from django.contrib.auth.forms import UserCreationForm, AuthenticationForm
 | 
			
		||||
from django.contrib.auth.models import User
 | 
			
		||||
 | 
			
		||||
from permission.models import PermissionMask
 | 
			
		||||
 | 
			
		||||
from .models import Profile, Club, Membership
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -54,7 +54,6 @@ class Profile(models.Model):
 | 
			
		||||
        return reverse('user_detail', args=(self.pk,))
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class Club(models.Model):
 | 
			
		||||
    """
 | 
			
		||||
    A club is a group of people, whose membership is handle by their
 | 
			
		||||
@@ -164,6 +163,7 @@ class Membership(models.Model):
 | 
			
		||||
        verbose_name_plural = _('memberships')
 | 
			
		||||
        indexes = [models.Index(fields=['user'])]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class RolePermissions(models.Model):
 | 
			
		||||
    """
 | 
			
		||||
    Permissions associated with a Role
 | 
			
		||||
@@ -180,13 +180,3 @@ class RolePermissions(models.Model):
 | 
			
		||||
 | 
			
		||||
    def __str__(self):
 | 
			
		||||
        return str(self.role)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
# @receiver(post_save, sender=settings.AUTH_USER_MODEL)
 | 
			
		||||
# def save_user_profile(instance, created, **_kwargs):
 | 
			
		||||
#     """
 | 
			
		||||
#     Hook to save an user profile when an user is updated
 | 
			
		||||
#     """
 | 
			
		||||
#     if created:
 | 
			
		||||
#         Profile.objects.create(user=instance)
 | 
			
		||||
#     instance.profile.save()
 | 
			
		||||
 
 | 
			
		||||
@@ -24,8 +24,8 @@ from note.forms import AliasForm, ImageForm
 | 
			
		||||
from note.models import Alias, NoteUser
 | 
			
		||||
from note.models.transactions import Transaction
 | 
			
		||||
from note.tables import HistoryTable, AliasTable
 | 
			
		||||
from .backends import PermissionBackend
 | 
			
		||||
 | 
			
		||||
from .backends import PermissionBackend
 | 
			
		||||
from .filters import UserFilter, UserFilterFormHelper
 | 
			
		||||
from .forms import SignUpForm, ProfileForm, ClubForm, MembershipForm, MemberFormSet, FormSetHelper, \
 | 
			
		||||
    CustomAuthenticationForm
 | 
			
		||||
 
 | 
			
		||||
@@ -4,8 +4,6 @@
 | 
			
		||||
from rest_framework import serializers
 | 
			
		||||
from rest_polymorphic.serializers import PolymorphicSerializer
 | 
			
		||||
 | 
			
		||||
from member.backends import PermissionBackend
 | 
			
		||||
from note_kfet.middlewares import get_current_authenticated_user
 | 
			
		||||
from ..models.notes import Note, NoteClub, NoteSpecial, NoteUser, Alias
 | 
			
		||||
from ..models.transactions import TransactionTemplate, Transaction, MembershipTransaction, TemplateCategory, \
 | 
			
		||||
    RecurrentTransaction, SpecialTransaction
 | 
			
		||||
@@ -83,9 +81,6 @@ class AliasSerializer(serializers.ModelSerializer):
 | 
			
		||||
        fields = '__all__'
 | 
			
		||||
        read_only_fields = ('note', )
 | 
			
		||||
 | 
			
		||||
    def get_note(self, alias):
 | 
			
		||||
        return alias.note.id
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class NotePolymorphicSerializer(PolymorphicSerializer):
 | 
			
		||||
    model_serializer_mapping = {
 | 
			
		||||
 
 | 
			
		||||
@@ -4,8 +4,8 @@
 | 
			
		||||
from django.db.models import Q
 | 
			
		||||
from django_filters.rest_framework import DjangoFilterBackend
 | 
			
		||||
from rest_framework.filters import OrderingFilter, SearchFilter
 | 
			
		||||
 | 
			
		||||
from api.viewsets import ReadProtectedModelViewSet, ReadOnlyProtectedModelViewSet
 | 
			
		||||
 | 
			
		||||
from .serializers import NotePolymorphicSerializer, AliasSerializer, TemplateCategorySerializer, \
 | 
			
		||||
    TransactionTemplateSerializer, TransactionPolymorphicSerializer
 | 
			
		||||
from ..models.notes import Note, Alias
 | 
			
		||||
 
 | 
			
		||||
@@ -8,8 +8,8 @@ from django.db.models import Q
 | 
			
		||||
from django.utils.translation import gettext_lazy as _
 | 
			
		||||
from django.views.generic import CreateView, ListView, UpdateView
 | 
			
		||||
from django_tables2 import SingleTableView
 | 
			
		||||
 | 
			
		||||
from member.backends import PermissionBackend
 | 
			
		||||
 | 
			
		||||
from .forms import TransactionTemplateForm
 | 
			
		||||
from .models import Transaction, TransactionTemplate, Alias, RecurrentTransaction, NoteSpecial
 | 
			
		||||
from .models.transactions import SpecialTransaction
 | 
			
		||||
@@ -27,9 +27,9 @@ class TransactionCreate(LoginRequiredMixin, SingleTableView):
 | 
			
		||||
    table_pagination = {"per_page": 50}
 | 
			
		||||
 | 
			
		||||
    def get_queryset(self):
 | 
			
		||||
        return Transaction.objects.filter(PermissionBackend
 | 
			
		||||
                                          .filter_queryset(self.request.user, Transaction, "view")) \
 | 
			
		||||
                                            .order_by("-id").all()[:50]
 | 
			
		||||
        return Transaction.objects.filter(PermissionBackend.filter_queryset(
 | 
			
		||||
            self.request.user, Transaction, "view")
 | 
			
		||||
        ).order_by("-id").all()[:50]
 | 
			
		||||
 | 
			
		||||
    def get_context_data(self, **kwargs):
 | 
			
		||||
        """
 | 
			
		||||
@@ -137,9 +137,9 @@ class ConsoView(LoginRequiredMixin, SingleTableView):
 | 
			
		||||
        """
 | 
			
		||||
        context = super().get_context_data(**kwargs)
 | 
			
		||||
        from django.db.models import Count
 | 
			
		||||
        buttons = TransactionTemplate.objects.filter(PermissionBackend()
 | 
			
		||||
                                                     .filter_queryset(self.request.user, TransactionTemplate, "view")) \
 | 
			
		||||
            .filter(display=True).annotate(clicks=Count('recurrenttransaction')).order_by('category__name', 'name')
 | 
			
		||||
        buttons = TransactionTemplate.objects.filter(
 | 
			
		||||
            PermissionBackend().filter_queryset(self.request.user, TransactionTemplate, "view")
 | 
			
		||||
        ).filter(display=True).annotate(clicks=Count('recurrenttransaction')).order_by('category__name', 'name')
 | 
			
		||||
        context['transaction_templates'] = buttons
 | 
			
		||||
        context['most_used'] = buttons.order_by('-clicks', 'name')[:10]
 | 
			
		||||
        context['title'] = _("Consumptions")
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user