mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-11-04 09:12:11 +01:00 
			
		
		
		
	Fix CI
This commit is contained in:
		@@ -6,22 +6,18 @@ import io
 | 
				
			|||||||
from PIL import Image
 | 
					from PIL import Image
 | 
				
			||||||
from dal import autocomplete
 | 
					from dal import autocomplete
 | 
				
			||||||
from django.conf import settings
 | 
					from django.conf import settings
 | 
				
			||||||
from django.contrib import messages
 | 
					 | 
				
			||||||
from django.contrib.auth.mixins import LoginRequiredMixin
 | 
					from django.contrib.auth.mixins import LoginRequiredMixin
 | 
				
			||||||
from django.contrib.auth.models import User
 | 
					from django.contrib.auth.models import User
 | 
				
			||||||
from django.contrib.auth.views import LoginView
 | 
					from django.contrib.auth.views import LoginView
 | 
				
			||||||
from django.core.exceptions import ValidationError
 | 
					 | 
				
			||||||
from django.db.models import Q
 | 
					from django.db.models import Q
 | 
				
			||||||
from django.http import HttpResponseRedirect
 | 
					 | 
				
			||||||
from django.shortcuts import redirect
 | 
					from django.shortcuts import redirect
 | 
				
			||||||
from django.urls import reverse_lazy
 | 
					from django.urls import reverse_lazy
 | 
				
			||||||
from django.utils.translation import gettext_lazy as _
 | 
					from django.utils.translation import gettext_lazy as _
 | 
				
			||||||
from django.views.generic import CreateView, DetailView, UpdateView, TemplateView, DeleteView
 | 
					from django.views.generic import CreateView, DetailView, UpdateView, TemplateView
 | 
				
			||||||
from django.views.generic.edit import FormMixin
 | 
					from django.views.generic.edit import FormMixin
 | 
				
			||||||
from django_tables2.views import SingleTableView
 | 
					from django_tables2.views import SingleTableView
 | 
				
			||||||
from rest_framework.authtoken.models import Token
 | 
					from rest_framework.authtoken.models import Token
 | 
				
			||||||
from note.forms import ImageForm
 | 
					from note.forms import ImageForm
 | 
				
			||||||
#from note.forms import AliasForm, ImageForm
 | 
					 | 
				
			||||||
from note.models import Alias, NoteUser
 | 
					from note.models import Alias, NoteUser
 | 
				
			||||||
from note.models.transactions import Transaction
 | 
					from note.models.transactions import Transaction
 | 
				
			||||||
from note.tables import HistoryTable, AliasTable
 | 
					from note.tables import HistoryTable, AliasTable
 | 
				
			||||||
@@ -326,6 +322,7 @@ class ClubDetailView(LoginRequiredMixin, DetailView):
 | 
				
			|||||||
        context['member_list'] = club_member
 | 
					        context['member_list'] = club_member
 | 
				
			||||||
        return context
 | 
					        return context
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class ClubAliasView(LoginRequiredMixin, DetailView):
 | 
					class ClubAliasView(LoginRequiredMixin, DetailView):
 | 
				
			||||||
    model = Club
 | 
					    model = Club
 | 
				
			||||||
    template_name = 'member/club_alias.html'
 | 
					    template_name = 'member/club_alias.html'
 | 
				
			||||||
@@ -364,6 +361,7 @@ class ClubAddMemberView(LoginRequiredMixin, CreateView):
 | 
				
			|||||||
        return super().get_queryset().filter(PermissionBackend.filter_queryset(self.request.user, Membership, "view")
 | 
					        return super().get_queryset().filter(PermissionBackend.filter_queryset(self.request.user, Membership, "view")
 | 
				
			||||||
                                             | PermissionBackend.filter_queryset(self.request.user, Membership,
 | 
					                                             | PermissionBackend.filter_queryset(self.request.user, Membership,
 | 
				
			||||||
                                                                                 "change"))
 | 
					                                                                                 "change"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def get_context_data(self, **kwargs):
 | 
					    def get_context_data(self, **kwargs):
 | 
				
			||||||
        club = Club.objects.get(pk=self.kwargs["pk"])
 | 
					        club = Club.objects.get(pk=self.kwargs["pk"])
 | 
				
			||||||
        context = super().get_context_data(**kwargs)
 | 
					        context = super().get_context_data(**kwargs)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,6 @@ from rest_framework.filters import OrderingFilter, SearchFilter
 | 
				
			|||||||
from rest_framework import viewsets
 | 
					from rest_framework import viewsets
 | 
				
			||||||
from rest_framework.response import Response
 | 
					from rest_framework.response import Response
 | 
				
			||||||
from rest_framework import status
 | 
					from rest_framework import status
 | 
				
			||||||
 | 
					 | 
				
			||||||
from api.viewsets import ReadProtectedModelViewSet, ReadOnlyProtectedModelViewSet
 | 
					from api.viewsets import ReadProtectedModelViewSet, ReadOnlyProtectedModelViewSet
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from .serializers import NotePolymorphicSerializer, AliasSerializer, TemplateCategorySerializer, \
 | 
					from .serializers import NotePolymorphicSerializer, AliasSerializer, TemplateCategorySerializer, \
 | 
				
			||||||
@@ -60,7 +59,7 @@ class AliasViewSet(ReadProtectedModelViewSet):
 | 
				
			|||||||
    def get_serializer_class(self):
 | 
					    def get_serializer_class(self):
 | 
				
			||||||
        serializer_class = self.serializer_class
 | 
					        serializer_class = self.serializer_class
 | 
				
			||||||
        if self.request.method in ['PUT', 'PATCH']:
 | 
					        if self.request.method in ['PUT', 'PATCH']:
 | 
				
			||||||
            #alias owner cannot be change once establish
 | 
					            # alias owner cannot be change once establish
 | 
				
			||||||
            setattr(serializer_class.Meta, 'read_only_fields', ('note',))
 | 
					            setattr(serializer_class.Meta, 'read_only_fields', ('note',))
 | 
				
			||||||
        return serializer_class
 | 
					        return serializer_class
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -70,7 +69,7 @@ class AliasViewSet(ReadProtectedModelViewSet):
 | 
				
			|||||||
            self.perform_destroy(instance)
 | 
					            self.perform_destroy(instance)
 | 
				
			||||||
        except ValidationError as e:
 | 
					        except ValidationError as e:
 | 
				
			||||||
            print(e)
 | 
					            print(e)
 | 
				
			||||||
            return Response({e.code:e.message},status.HTTP_400_BAD_REQUEST)
 | 
					            return Response({e.code: e.message}, status.HTTP_400_BAD_REQUEST)
 | 
				
			||||||
        return Response(status=status.HTTP_204_NO_CONTENT)
 | 
					        return Response(status=status.HTTP_204_NO_CONTENT)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def get_queryset(self):
 | 
					    def get_queryset(self):
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,7 +5,6 @@ from dal import autocomplete
 | 
				
			|||||||
from django import forms
 | 
					from django import forms
 | 
				
			||||||
from django.utils.translation import gettext_lazy as _
 | 
					from django.utils.translation import gettext_lazy as _
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from .models import Alias
 | 
					 | 
				
			||||||
from .models import TransactionTemplate
 | 
					from .models import TransactionTemplate
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -242,9 +242,9 @@ class Alias(models.Model):
 | 
				
			|||||||
            pass
 | 
					            pass
 | 
				
			||||||
        self.normalized_name = normalized_name
 | 
					        self.normalized_name = normalized_name
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def save(self,*args,**kwargs):
 | 
					    def save(self, *args, **kwargs):
 | 
				
			||||||
        self.normalized_name = self.normalize(self.name)
 | 
					        self.normalized_name = self.normalize(self.name)
 | 
				
			||||||
        super().save(*args,**kwargs)
 | 
					        super().save(*args, **kwargs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def delete(self, using=None, keep_parents=False):
 | 
					    def delete(self, using=None, keep_parents=False):
 | 
				
			||||||
        if self.name == str(self.note):
 | 
					        if self.name == str(self.note):
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,7 +2,6 @@
 | 
				
			|||||||
# SPDX-License-Identifier: GPL-3.0-or-later
 | 
					# SPDX-License-Identifier: GPL-3.0-or-later
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from django.db import models
 | 
					from django.db import models
 | 
				
			||||||
from django.db.models import F
 | 
					 | 
				
			||||||
from django.urls import reverse
 | 
					from django.urls import reverse
 | 
				
			||||||
from django.utils import timezone
 | 
					from django.utils import timezone
 | 
				
			||||||
from django.utils.translation import gettext_lazy as _
 | 
					from django.utils.translation import gettext_lazy as _
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -106,9 +106,8 @@ DELETE_TEMPLATE = """
 | 
				
			|||||||
class AliasTable(tables.Table):
 | 
					class AliasTable(tables.Table):
 | 
				
			||||||
    class Meta:
 | 
					    class Meta:
 | 
				
			||||||
        attrs = {
 | 
					        attrs = {
 | 
				
			||||||
            'class':
 | 
					            'class': 'table table condensed table-striped table-hover',
 | 
				
			||||||
                'table table condensed table-striped table-hover',
 | 
					            'id': "alias_table"
 | 
				
			||||||
            'id':"alias_table"
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        model = Alias
 | 
					        model = Alias
 | 
				
			||||||
        fields = ('name',)
 | 
					        fields = ('name',)
 | 
				
			||||||
@@ -118,9 +117,8 @@ class AliasTable(tables.Table):
 | 
				
			|||||||
    name = tables.Column(attrs={'td': {'class': 'text-center'}})
 | 
					    name = tables.Column(attrs={'td': {'class': 'text-center'}})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    delete_col = tables.TemplateColumn(template_code=DELETE_TEMPLATE,
 | 
					    delete_col = tables.TemplateColumn(template_code=DELETE_TEMPLATE,
 | 
				
			||||||
                                   extra_context={"delete_trans": _('delete')},
 | 
					                                       extra_context={"delete_trans": _('delete')},
 | 
				
			||||||
                                   attrs={'td': {'class': 'col-sm-1'}})
 | 
					                                       attrs={'td': {'class': 'col-sm-1'}})
 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class ButtonTable(tables.Table):
 | 
					class ButtonTable(tables.Table):
 | 
				
			||||||
@@ -145,8 +143,8 @@ class ButtonTable(tables.Table):
 | 
				
			|||||||
                             accessor='pk')
 | 
					                             accessor='pk')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    delete_col = tables.TemplateColumn(template_code=DELETE_TEMPLATE,
 | 
					    delete_col = tables.TemplateColumn(template_code=DELETE_TEMPLATE,
 | 
				
			||||||
                                   extra_context={"delete_trans": _('delete')},
 | 
					                                       extra_context={"delete_trans": _('delete')},
 | 
				
			||||||
                                   attrs={'td': {'class': 'col-sm-1'}})
 | 
					                                       attrs={'td': {'class': 'col-sm-1'}})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def render_amount(self, value):
 | 
					    def render_amount(self, value):
 | 
				
			||||||
        return pretty_money(value)
 | 
					        return pretty_money(value)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user