Merge branch 'Kerl/drop_py2_compat' into 'master'
Suppression des derniers vestiges de la compatibilité python 2 Closes #103 See merge request cof-geek/gestioCOF!278
This commit is contained in:
commit
f85d51e3bd
43 changed files with 60 additions and 170 deletions
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from datetime import timedelta
|
||||
from custommail.shortcuts import send_mass_custom_mail
|
||||
|
||||
|
@ -166,7 +164,7 @@ class AttributionAdminForm(forms.ModelForm):
|
|||
)
|
||||
|
||||
def clean(self):
|
||||
cleaned_data = super(AttributionAdminForm, self).clean()
|
||||
cleaned_data = super().clean()
|
||||
participant = cleaned_data.get("participant")
|
||||
spectacle = cleaned_data.get("spectacle")
|
||||
if participant and spectacle:
|
||||
|
|
|
@ -1,9 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from __future__ import division
|
||||
from __future__ import print_function
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.db.models import Max
|
||||
|
||||
import random
|
||||
|
|
10
bda/forms.py
10
bda/forms.py
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from django import forms
|
||||
from django.forms.models import BaseInlineFormSet
|
||||
from django.utils import timezone
|
||||
|
@ -80,7 +78,7 @@ class ResellForm(forms.Form):
|
|||
required=False)
|
||||
|
||||
def __init__(self, participant, *args, **kwargs):
|
||||
super(ResellForm, self).__init__(*args, **kwargs)
|
||||
super().__init__(*args, **kwargs)
|
||||
self.fields['attributions'].queryset = (
|
||||
participant.attribution_set
|
||||
.filter(spectacle__date__gte=timezone.now())
|
||||
|
@ -99,7 +97,7 @@ class AnnulForm(forms.Form):
|
|||
required=False)
|
||||
|
||||
def __init__(self, participant, *args, **kwargs):
|
||||
super(AnnulForm, self).__init__(*args, **kwargs)
|
||||
super().__init__(*args, **kwargs)
|
||||
self.fields['reventes'].queryset = (
|
||||
participant.original_shows
|
||||
.filter(attribution__spectacle__date__gte=timezone.now(),
|
||||
|
@ -117,7 +115,7 @@ class InscriptionReventeForm(forms.Form):
|
|||
required=False)
|
||||
|
||||
def __init__(self, tirage, *args, **kwargs):
|
||||
super(InscriptionReventeForm, self).__init__(*args, **kwargs)
|
||||
super().__init__(*args, **kwargs)
|
||||
self.fields['spectacles'].queryset = (
|
||||
tirage.spectacle_set
|
||||
.select_related('location')
|
||||
|
@ -172,7 +170,7 @@ class SoldForm(forms.Form):
|
|||
widget=forms.CheckboxSelectMultiple)
|
||||
|
||||
def __init__(self, participant, *args, **kwargs):
|
||||
super(SoldForm, self).__init__(*args, **kwargs)
|
||||
super().__init__(*args, **kwargs)
|
||||
self.fields['reventes'].queryset = (
|
||||
participant.original_shows
|
||||
.filter(soldTo__isnull=False)
|
||||
|
|
|
@ -1,11 +1,7 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
"""
|
||||
Gestion en ligne de commande des reventes.
|
||||
"""
|
||||
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.core.management import BaseCommand
|
||||
from django.utils import timezone
|
||||
from bda.models import SpectacleRevente
|
||||
|
|
|
@ -1,11 +1,7 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
"""
|
||||
Gestion en ligne de commande des mails de rappel.
|
||||
"""
|
||||
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from datetime import timedelta
|
||||
from django.core.management.base import BaseCommand
|
||||
from django.utils import timezone
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
import calendar
|
||||
import random
|
||||
from datetime import timedelta
|
||||
|
|
|
@ -1,9 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from __future__ import division
|
||||
from __future__ import print_function
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.conf.urls import url
|
||||
from gestioncof.decorators import buro_required
|
||||
from bda.views import SpectacleListView
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from collections import defaultdict
|
||||
import random
|
||||
import hashlib
|
||||
|
@ -681,7 +679,7 @@ class SpectacleListView(ListView):
|
|||
return categories
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(SpectacleListView, self).get_context_data(**kwargs)
|
||||
context = super().get_context_data(**kwargs)
|
||||
context['tirage_id'] = self.tirage.id
|
||||
context['tirage_name'] = self.tirage.title
|
||||
return context
|
||||
|
|
|
@ -1,9 +1,5 @@
|
|||
# -*- encoding: utf-8 -*-
|
||||
|
||||
"""
|
||||
Formats français.
|
||||
"""
|
||||
|
||||
from __future__ import unicode_literals
|
||||
|
||||
DATETIME_FORMAT = r'l j F Y \à H:i'
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Django common settings for cof project.
|
||||
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
"""
|
||||
Fichier principal de configuration des urls du projet GestioCOF
|
||||
"""
|
||||
|
|
|
@ -181,7 +181,7 @@ class UserProfileAdmin(UserAdmin):
|
|||
def get_fieldsets(self, request, user=None):
|
||||
if not request.user.is_superuser:
|
||||
return self.staff_fieldsets
|
||||
return super(UserProfileAdmin, self).get_fieldsets(request, user)
|
||||
return super().get_fieldsets(request, user)
|
||||
|
||||
def save_model(self, request, user, form, change):
|
||||
cof_group, created = Group.objects.get_or_create(name='COF')
|
||||
|
@ -267,7 +267,7 @@ class PetitCoursDemandeAdmin(admin.ModelAdmin):
|
|||
|
||||
class ClubAdminForm(forms.ModelForm):
|
||||
def clean(self):
|
||||
cleaned_data = super(ClubAdminForm, self).clean()
|
||||
cleaned_data = super().clean()
|
||||
respos = cleaned_data.get('respos')
|
||||
members = cleaned_data.get('membres')
|
||||
for respo in respos.all():
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from ldap3 import Connection
|
||||
|
||||
from django import shortcuts
|
||||
|
|
|
@ -1,9 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from __future__ import division
|
||||
from __future__ import print_function
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import csv
|
||||
from django.http import HttpResponse, HttpResponseForbidden
|
||||
from django.template.defaultfilters import slugify
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from django.contrib.auth.decorators import user_passes_test
|
||||
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@ class EventForm(forms.Form):
|
|||
event = kwargs.pop("event")
|
||||
self.event = event
|
||||
current_choices = kwargs.pop("current_choices", None)
|
||||
super(EventForm, self).__init__(*args, **kwargs)
|
||||
super().__init__(*args, **kwargs)
|
||||
choices = {}
|
||||
if current_choices:
|
||||
for choice in current_choices.all():
|
||||
|
@ -60,7 +60,7 @@ class SurveyForm(forms.Form):
|
|||
def __init__(self, *args, **kwargs):
|
||||
survey = kwargs.pop("survey")
|
||||
current_answers = kwargs.pop("current_answers", None)
|
||||
super(SurveyForm, self).__init__(*args, **kwargs)
|
||||
super().__init__(*args, **kwargs)
|
||||
answers = {}
|
||||
if current_answers:
|
||||
for answer in current_answers.all():
|
||||
|
@ -100,7 +100,7 @@ class SurveyForm(forms.Form):
|
|||
class SurveyStatusFilterForm(forms.Form):
|
||||
def __init__(self, *args, **kwargs):
|
||||
survey = kwargs.pop("survey")
|
||||
super(SurveyStatusFilterForm, self).__init__(*args, **kwargs)
|
||||
super().__init__(*args, **kwargs)
|
||||
for question in survey.questions.all():
|
||||
for answer in question.answers.all():
|
||||
name = "question_%d_answer_%d" % (question.id, answer.id)
|
||||
|
@ -129,7 +129,7 @@ class SurveyStatusFilterForm(forms.Form):
|
|||
class EventStatusFilterForm(forms.Form):
|
||||
def __init__(self, *args, **kwargs):
|
||||
event = kwargs.pop("event")
|
||||
super(EventStatusFilterForm, self).__init__(*args, **kwargs)
|
||||
super().__init__(*args, **kwargs)
|
||||
for option in event.options.all():
|
||||
for choice in option.choices.all():
|
||||
name = "option_%d_choice_%d" % (option.id, choice.id)
|
||||
|
@ -175,12 +175,12 @@ class UserProfileForm(forms.ModelForm):
|
|||
last_name = forms.CharField(label=_('Nom'), max_length=30)
|
||||
|
||||
def __init__(self, *args, **kw):
|
||||
super(UserProfileForm, self).__init__(*args, **kw)
|
||||
super().__init__(*args, **kw)
|
||||
self.fields['first_name'].initial = self.instance.user.first_name
|
||||
self.fields['last_name'].initial = self.instance.user.last_name
|
||||
|
||||
def save(self, *args, **kw):
|
||||
super(UserProfileForm, self).save(*args, **kw)
|
||||
super().save(*args, **kw)
|
||||
self.instance.user.first_name = self.cleaned_data.get('first_name')
|
||||
self.instance.user.last_name = self.cleaned_data.get('last_name')
|
||||
self.instance.user.save()
|
||||
|
@ -193,7 +193,7 @@ class UserProfileForm(forms.ModelForm):
|
|||
|
||||
class RegistrationUserForm(forms.ModelForm):
|
||||
def __init__(self, *args, **kw):
|
||||
super(RegistrationUserForm, self).__init__(*args, **kw)
|
||||
super().__init__(*args, **kw)
|
||||
self.fields['username'].help_text = ""
|
||||
|
||||
class Meta:
|
||||
|
@ -219,8 +219,7 @@ class RegistrationPassUserForm(RegistrationUserForm):
|
|||
return pass2
|
||||
|
||||
def save(self, commit=True, *args, **kwargs):
|
||||
user = super(RegistrationPassUserForm, self).save(commit, *args,
|
||||
**kwargs)
|
||||
user = super().save(commit, *args, **kwargs)
|
||||
user.set_password(self.cleaned_data['password2'])
|
||||
if commit:
|
||||
user.save()
|
||||
|
@ -229,7 +228,7 @@ class RegistrationPassUserForm(RegistrationUserForm):
|
|||
|
||||
class RegistrationProfileForm(forms.ModelForm):
|
||||
def __init__(self, *args, **kw):
|
||||
super(RegistrationProfileForm, self).__init__(*args, **kw)
|
||||
super().__init__(*args, **kw)
|
||||
self.fields['mailing_cof'].initial = True
|
||||
self.fields['mailing_bda'].initial = True
|
||||
self.fields['mailing_bda_revente'].initial = True
|
||||
|
@ -274,7 +273,7 @@ class AdminEventForm(forms.Form):
|
|||
kwargs["initial"] = {"status": "wait"}
|
||||
else:
|
||||
kwargs["initial"] = {"status": "no"}
|
||||
super(AdminEventForm, self).__init__(*args, **kwargs)
|
||||
super().__init__(*args, **kwargs)
|
||||
choices = {}
|
||||
for choice in current_choices:
|
||||
if choice.event_option.id not in choices:
|
||||
|
@ -337,14 +336,15 @@ class BaseEventRegistrationFormset(BaseFormSet):
|
|||
self.events = kwargs.pop('events')
|
||||
self.current_registrations = kwargs.pop('current_registrations', None)
|
||||
self.extra = len(self.events)
|
||||
super(BaseEventRegistrationFormset, self).__init__(*args, **kwargs)
|
||||
super().__init__(*args, **kwargs)
|
||||
|
||||
def _construct_form(self, index, **kwargs):
|
||||
kwargs['event'] = self.events[index]
|
||||
if self.current_registrations is not None:
|
||||
kwargs['current_registration'] = self.current_registrations[index]
|
||||
return super(BaseEventRegistrationFormset, self)._construct_form(
|
||||
index, **kwargs)
|
||||
return super()._construct_form(index, **kwargs)
|
||||
|
||||
|
||||
EventFormset = formset_factory(AdminEventForm, BaseEventRegistrationFormset)
|
||||
|
||||
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
Import des mails de GestioCOF dans la base de donnée
|
||||
"""
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from captcha.fields import ReCaptchaField
|
||||
|
||||
from django import forms
|
||||
|
@ -12,7 +10,7 @@ from gestioncof.petits_cours_models import PetitCoursDemande, PetitCoursAbility
|
|||
|
||||
class BaseMatieresFormSet(BaseInlineFormSet):
|
||||
def clean(self):
|
||||
super(BaseMatieresFormSet, self).clean()
|
||||
super().clean()
|
||||
if any(self.errors):
|
||||
# Don't bother validating the formset unless each form is
|
||||
# valid on its own
|
||||
|
@ -36,7 +34,7 @@ class DemandeForm(ModelForm):
|
|||
captcha = ReCaptchaField(attrs={'theme': 'clean', 'lang': 'fr'})
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(DemandeForm, self).__init__(*args, **kwargs)
|
||||
super().__init__(*args, **kwargs)
|
||||
self.fields['matieres'].help_text = ''
|
||||
|
||||
class Meta:
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from functools import reduce
|
||||
|
||||
from django.db import models
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
import json
|
||||
from custommail.shortcuts import render_custom_mail
|
||||
|
||||
|
@ -44,7 +42,7 @@ class DemandeDetailView(DetailView):
|
|||
context_object_name = "demande"
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(DemandeDetailView, self).get_context_data(**kwargs)
|
||||
context = super().get_context_data(**kwargs)
|
||||
obj = self.object
|
||||
context['attributions'] = obj.petitcoursattribution_set.all()
|
||||
return context
|
||||
|
|
|
@ -1,9 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from __future__ import division
|
||||
from __future__ import print_function
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django import template
|
||||
from django.utils.safestring import mark_safe
|
||||
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
This file demonstrates writing tests using the unittest module. These will pass
|
||||
when you run "manage.py test".
|
||||
|
@ -6,10 +5,6 @@ when you run "manage.py test".
|
|||
Replace this with more appropriate tests for your application.
|
||||
"""
|
||||
|
||||
from __future__ import division
|
||||
from __future__ import print_function
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.test import TestCase
|
||||
|
||||
from gestioncof.models import CofProfile, User
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from django.conf.urls import url
|
||||
from gestioncof.petits_cours_views import DemandeListView, DemandeDetailView
|
||||
from gestioncof import views, petits_cours_views
|
||||
|
|
|
@ -1,9 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from __future__ import division
|
||||
from __future__ import print_function
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.forms.widgets import Widget
|
||||
from django.forms.utils import flatatt
|
||||
from django.utils.safestring import mark_safe
|
||||
|
@ -11,7 +5,7 @@ from django.utils.safestring import mark_safe
|
|||
|
||||
class TriStateCheckbox(Widget):
|
||||
def __init__(self, attrs=None, choices=()):
|
||||
super(TriStateCheckbox, self).__init__(attrs)
|
||||
super().__init__(attrs)
|
||||
# choices can be any iterable, but we may need to render this widget
|
||||
# multiple times. Thus, collapse it into a list so it can be consumed
|
||||
# more than once.
|
||||
|
|
|
@ -1,11 +1,6 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from __future__ import (absolute_import, division,
|
||||
print_function, unicode_literals)
|
||||
from builtins import *
|
||||
|
||||
from django.apps import AppConfig
|
||||
|
||||
|
||||
class KFetConfig(AppConfig):
|
||||
name = 'kfet'
|
||||
verbose_name = "Application K-Fêt"
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from django.contrib.auth import get_user_model
|
||||
from kfet.models import Account, GenericTeamToken
|
||||
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from django.contrib.auth import get_user_model
|
||||
|
||||
from .backends import AccountBackend
|
||||
|
|
|
@ -1,4 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from unittest import mock
|
||||
|
||||
from django.core import signing
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from ldap3 import Connection
|
||||
from django.shortcuts import render
|
||||
from django.http import Http404
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from django.core.exceptions import ValidationError
|
||||
from django.db import models
|
||||
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from .utils import DjangoJsonWebsocketConsumer, PermConsumerMixin
|
||||
|
||||
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from kfet.config import kfet_config
|
||||
|
||||
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from django.contrib.auth.decorators import user_passes_test
|
||||
|
||||
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from datetime import timedelta
|
||||
from decimal import Decimal
|
||||
|
||||
|
@ -44,7 +42,7 @@ class AccountForm(forms.ModelForm):
|
|||
|
||||
# Surcharge pour passer data à Account.save()
|
||||
def save(self, data = {}, *args, **kwargs):
|
||||
obj = super(AccountForm, self).save(commit = False, *args, **kwargs)
|
||||
obj = super().save(commit = False, *args, **kwargs)
|
||||
obj.save(data = data)
|
||||
return obj
|
||||
|
||||
|
@ -93,7 +91,7 @@ class AccountPwdForm(forms.Form):
|
|||
raise ValidationError("Mot de passe trop court")
|
||||
if pwd1 != pwd2:
|
||||
raise ValidationError("Les mots de passes sont différents")
|
||||
super(AccountPwdForm, self).clean()
|
||||
super().clean()
|
||||
|
||||
class CofForm(forms.ModelForm):
|
||||
def clean_is_cof(self):
|
||||
|
@ -197,7 +195,7 @@ class CheckoutStatementCreateForm(forms.ModelForm):
|
|||
or self.cleaned_data['balance_200'] is None
|
||||
or self.cleaned_data['balance_500'] is None):
|
||||
raise ValidationError("Y'a un problème. Si tu comptes la caisse, mets au moins des 0 stp (et t'as pas idée de comment c'est long de vérifier que t'as mis des valeurs de partout...)")
|
||||
super(CheckoutStatementCreateForm, self).clean()
|
||||
super().clean()
|
||||
|
||||
class CheckoutStatementUpdateForm(forms.ModelForm):
|
||||
class Meta:
|
||||
|
@ -238,7 +236,7 @@ class ArticleForm(forms.ModelForm):
|
|||
required = False)
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(ArticleForm, self).__init__(*args, **kwargs)
|
||||
super().__init__(*args, **kwargs)
|
||||
if self.instance.pk:
|
||||
self.initial['suppliers'] = self.instance.suppliers.values_list('pk', flat=True)
|
||||
|
||||
|
@ -252,7 +250,7 @@ class ArticleForm(forms.ModelForm):
|
|||
category, _ = ArticleCategory.objects.get_or_create(name=category_new)
|
||||
self.cleaned_data['category'] = category
|
||||
|
||||
super(ArticleForm, self).clean()
|
||||
super().clean()
|
||||
|
||||
class Meta:
|
||||
model = Article
|
||||
|
@ -323,7 +321,7 @@ class KPsulOperationForm(forms.ModelForm):
|
|||
}
|
||||
|
||||
def clean(self):
|
||||
super(KPsulOperationForm, self).clean()
|
||||
super().clean()
|
||||
type_ope = self.cleaned_data.get('type')
|
||||
amount = self.cleaned_data.get('amount')
|
||||
article = self.cleaned_data.get('article')
|
||||
|
@ -366,7 +364,7 @@ class AddcostForm(forms.Form):
|
|||
raise ValidationError('Compte invalide')
|
||||
else:
|
||||
self.cleaned_data['amount'] = 0
|
||||
super(AddcostForm, self).clean()
|
||||
super().clean()
|
||||
|
||||
|
||||
# -----
|
||||
|
@ -464,7 +462,7 @@ class InventoryArticleForm(forms.Form):
|
|||
stock_new = forms.IntegerField(required=False)
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(InventoryArticleForm, self).__init__(*args, **kwargs)
|
||||
super().__init__(*args, **kwargs)
|
||||
if 'initial' in kwargs:
|
||||
self.name = kwargs['initial']['name']
|
||||
self.stock_old = kwargs['initial']['stock_old']
|
||||
|
@ -486,7 +484,7 @@ class OrderArticleForm(forms.Form):
|
|||
quantity_ordered = forms.IntegerField(required=False)
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(OrderArticleForm, self).__init__(*args, **kwargs)
|
||||
super().__init__(*args, **kwargs)
|
||||
if 'initial' in kwargs:
|
||||
self.name = kwargs['initial']['name']
|
||||
self.stock = kwargs['initial']['stock']
|
||||
|
@ -516,7 +514,7 @@ class OrderArticleToInventoryForm(forms.Form):
|
|||
quantity_received = forms.IntegerField()
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(OrderArticleToInventoryForm, self).__init__(*args, **kwargs)
|
||||
super().__init__(*args, **kwargs)
|
||||
if 'initial' in kwargs:
|
||||
self.name = kwargs['initial']['name']
|
||||
self.category = kwargs['initial']['category']
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
from functools import reduce
|
||||
|
||||
from django.db import models
|
||||
from django.core.validators import RegexValidator
|
||||
|
@ -7,7 +7,6 @@ from gestioncof.models import CofProfile
|
|||
from django.urls import reverse
|
||||
from django.utils.six.moves import reduce
|
||||
from django.utils import timezone
|
||||
from django.utils.encoding import python_2_unicode_compatible
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
from django.db import transaction
|
||||
from django.db.models import F
|
||||
|
@ -256,7 +255,7 @@ class Account(models.Model):
|
|||
cof.save()
|
||||
if data:
|
||||
self.cofprofile = cof
|
||||
super(Account, self).save(*args, **kwargs)
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
def change_pwd(self, clear_password):
|
||||
from .auth.utils import hash_password
|
||||
|
@ -397,7 +396,7 @@ class CheckoutTransfer(models.Model):
|
|||
amount = models.DecimalField(
|
||||
max_digits = 6, decimal_places = 2)
|
||||
|
||||
@python_2_unicode_compatible
|
||||
|
||||
class CheckoutStatement(models.Model):
|
||||
by = models.ForeignKey(
|
||||
Account, on_delete = models.PROTECT,
|
||||
|
@ -449,7 +448,7 @@ class CheckoutStatement(models.Model):
|
|||
self.balance_new + self.amount_taken - self.balance_old)
|
||||
with transaction.atomic():
|
||||
Checkout.objects.filter(pk=checkout_id).update(balance=self.balance_new)
|
||||
super(CheckoutStatement, self).save(*args, **kwargs)
|
||||
super().save(*args, **kwargs)
|
||||
else:
|
||||
self.amount_error = (
|
||||
self.balance_new + self.amount_taken - self.balance_old)
|
||||
|
@ -463,10 +462,9 @@ class CheckoutStatement(models.Model):
|
|||
and last_statement.balance_new != self.balance_new):
|
||||
Checkout.objects.filter(pk=self.checkout_id).update(
|
||||
balance=F('balance') - last_statement.balance_new + self.balance_new)
|
||||
super(CheckoutStatement, self).save(*args, **kwargs)
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class ArticleCategory(models.Model):
|
||||
name = models.CharField("nom", max_length=45)
|
||||
has_addcost = models.BooleanField("majorée", default=True,
|
||||
|
@ -479,7 +477,6 @@ class ArticleCategory(models.Model):
|
|||
return self.name
|
||||
|
||||
|
||||
@python_2_unicode_compatible
|
||||
class Article(models.Model):
|
||||
name = models.CharField("nom", max_length = 45)
|
||||
is_sold = models.BooleanField("en vente", default = True)
|
||||
|
@ -566,7 +563,7 @@ class InventoryArticle(models.Model):
|
|||
# d'erreur
|
||||
if not self.inventory.order:
|
||||
self.stock_error = self.stock_new - self.stock_old
|
||||
super(InventoryArticle, self).save(*args, **kwargs)
|
||||
super().save(*args, **kwargs)
|
||||
|
||||
|
||||
class Supplier(models.Model):
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from channels.routing import include, route_class
|
||||
|
||||
from . import consumers
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from datetime import date, datetime, time, timedelta
|
||||
|
||||
from dateutil.relativedelta import relativedelta
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
import re
|
||||
|
||||
from django import template
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from decimal import Decimal
|
||||
|
||||
from django.test import TestCase
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from unittest.mock import patch
|
||||
|
||||
from django.test import TestCase, Client
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from django.conf.urls import include, url
|
||||
from django.contrib.auth.decorators import permission_required
|
||||
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
import ast
|
||||
from urllib.parse import urlencode
|
||||
|
||||
|
@ -495,7 +493,7 @@ class AccountNegativeList(ListView):
|
|||
context_object_name = 'negatives'
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(AccountNegativeList, self).get_context_data(**kwargs)
|
||||
context = super().get_context_data(**kwargs)
|
||||
real_balances = (neg.account.real_balance for neg in self.object_list)
|
||||
context['negatives_sum'] = sum(real_balances)
|
||||
return context
|
||||
|
@ -530,7 +528,7 @@ class CheckoutCreate(SuccessMessageMixin, CreateView):
|
|||
form.instance.created_by = self.request.user.profile.account_kfet
|
||||
form.save()
|
||||
|
||||
return super(CheckoutCreate, self).form_valid(form)
|
||||
return super().form_valid(form)
|
||||
|
||||
# Checkout - Read
|
||||
|
||||
|
@ -540,7 +538,7 @@ class CheckoutRead(DetailView):
|
|||
context_object_name = 'checkout'
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(CheckoutRead, self).get_context_data(**kwargs)
|
||||
context = super().get_context_data(**kwargs)
|
||||
context['statements'] = context['checkout'].statements.order_by('-at')
|
||||
return context
|
||||
|
||||
|
@ -559,7 +557,7 @@ class CheckoutUpdate(SuccessMessageMixin, UpdateView):
|
|||
form.add_error(None, 'Permission refusée')
|
||||
return self.form_invalid(form)
|
||||
# Updating
|
||||
return super(CheckoutUpdate, self).form_valid(form)
|
||||
return super().form_valid(form)
|
||||
|
||||
# -----
|
||||
# Checkout Statement views
|
||||
|
@ -611,7 +609,7 @@ class CheckoutStatementCreate(SuccessMessageMixin, CreateView):
|
|||
at = self.object.at)
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(CheckoutStatementCreate, self).get_context_data(**kwargs)
|
||||
context = super().get_context_data(**kwargs)
|
||||
checkout = Checkout.objects.get(pk=self.kwargs['pk_checkout'])
|
||||
context['checkout'] = checkout
|
||||
return context
|
||||
|
@ -627,7 +625,7 @@ class CheckoutStatementCreate(SuccessMessageMixin, CreateView):
|
|||
form.instance.balance_new = getAmountBalance(form.cleaned_data)
|
||||
form.instance.checkout_id = self.kwargs['pk_checkout']
|
||||
form.instance.by = self.request.user.profile.account_kfet
|
||||
return super(CheckoutStatementCreate, self).form_valid(form)
|
||||
return super().form_valid(form)
|
||||
|
||||
class CheckoutStatementUpdate(SuccessMessageMixin, UpdateView):
|
||||
model = CheckoutStatement
|
||||
|
@ -639,7 +637,7 @@ class CheckoutStatementUpdate(SuccessMessageMixin, UpdateView):
|
|||
return reverse_lazy('kfet.checkout.read', kwargs={'pk':self.kwargs['pk_checkout']})
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(CheckoutStatementUpdate, self).get_context_data(**kwargs)
|
||||
context = super().get_context_data(**kwargs)
|
||||
checkout = Checkout.objects.get(pk=self.kwargs['pk_checkout'])
|
||||
context['checkout'] = checkout
|
||||
return context
|
||||
|
@ -651,7 +649,7 @@ class CheckoutStatementUpdate(SuccessMessageMixin, UpdateView):
|
|||
return self.form_invalid(form)
|
||||
# Updating
|
||||
form.instance.amount_taken = getAmountTaken(form.instance)
|
||||
return super(CheckoutStatementUpdate, self).form_valid(form)
|
||||
return super().form_valid(form)
|
||||
|
||||
# -----
|
||||
# Category views
|
||||
|
@ -683,7 +681,7 @@ class CategoryUpdate(SuccessMessageMixin, UpdateView):
|
|||
return self.form_invalid(form)
|
||||
|
||||
# Updating
|
||||
return super(CategoryUpdate, self).form_valid(form)
|
||||
return super().form_valid(form)
|
||||
|
||||
# -----
|
||||
# Article views
|
||||
|
@ -758,7 +756,7 @@ class ArticleCreate(SuccessMessageMixin, CreateView):
|
|||
)
|
||||
|
||||
# Creating
|
||||
return super(ArticleCreate, self).form_valid(form)
|
||||
return super().form_valid(form)
|
||||
|
||||
|
||||
# Article - Read
|
||||
|
@ -768,7 +766,7 @@ class ArticleRead(DetailView):
|
|||
context_object_name = 'article'
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(ArticleRead, self).get_context_data(**kwargs)
|
||||
context = super().get_context_data(**kwargs)
|
||||
inventoryarts = (InventoryArticle.objects
|
||||
.filter(article=self.object)
|
||||
.select_related('inventory')
|
||||
|
@ -820,7 +818,7 @@ class ArticleUpdate(SuccessMessageMixin, UpdateView):
|
|||
article=article, supplier=supplier)
|
||||
|
||||
# Updating
|
||||
return super(ArticleUpdate, self).form_valid(form)
|
||||
return super().form_valid(form)
|
||||
|
||||
|
||||
# -----
|
||||
|
@ -1711,7 +1709,7 @@ class InventoryRead(DetailView):
|
|||
context_object_name = 'inventory'
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(InventoryRead, self).get_context_data(**kwargs)
|
||||
context = super().get_context_data(**kwargs)
|
||||
inventoryarticles = (InventoryArticle.objects
|
||||
.select_related('article', 'article__category')
|
||||
.filter(inventory = self.object)
|
||||
|
@ -1729,7 +1727,7 @@ class OrderList(ListView):
|
|||
context_object_name = 'orders'
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(OrderList, self).get_context_data(**kwargs)
|
||||
context = super().get_context_data(**kwargs)
|
||||
context['suppliers'] = Supplier.objects.order_by('name')
|
||||
return context
|
||||
|
||||
|
@ -1858,7 +1856,7 @@ class OrderRead(DetailView):
|
|||
context_object_name = 'order'
|
||||
|
||||
def get_context_data(self, **kwargs):
|
||||
context = super(OrderRead, self).get_context_data(**kwargs)
|
||||
context = super().get_context_data(**kwargs)
|
||||
orderarticles = (OrderArticle.objects
|
||||
.select_related('article', 'article__category')
|
||||
.filter(order=self.object)
|
||||
|
@ -2012,7 +2010,7 @@ class SupplierUpdate(SuccessMessageMixin, UpdateView):
|
|||
form.add_error(None, 'Permission refusée')
|
||||
return self.form_invalid(form)
|
||||
# Updating
|
||||
return super(SupplierUpdate, self).form_valid(form)
|
||||
return super().form_valid(form)
|
||||
|
||||
|
||||
# ==========
|
||||
|
@ -2276,7 +2274,7 @@ class AccountStatBalance(PkUrlMixin, JSONDetailView):
|
|||
|
||||
@method_decorator(login_required)
|
||||
def dispatch(self, *args, **kwargs):
|
||||
return super(AccountStatBalance, self).dispatch(*args, **kwargs)
|
||||
return super().dispatch(*args, **kwargs)
|
||||
|
||||
|
||||
# ------------------------
|
||||
|
|
|
@ -9,14 +9,12 @@ django-redis-cache==1.7.1
|
|||
icalendar
|
||||
psycopg2
|
||||
Pillow
|
||||
six
|
||||
unicodecsv
|
||||
django-bootstrap-form==3.3
|
||||
asgiref==1.1.1
|
||||
daphne==1.3.0
|
||||
asgi-redis==1.3.0
|
||||
statistics==1.0.3.5
|
||||
future==0.15.2
|
||||
django-widget-tweaks==1.4.1
|
||||
git+https://git.eleves.ens.fr/cof-geek/django_custommail.git#egg=django_custommail
|
||||
ldap3
|
||||
|
|
Loading…
Reference in a new issue