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:
Ludovic Stephan 2018-04-16 15:21:00 +02:00
commit f85d51e3bd
43 changed files with 60 additions and 170 deletions

View file

@ -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:

View file

@ -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

View file

@ -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)

View file

@ -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

View file

@ -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

View file

@ -1,5 +1,3 @@
# -*- coding: utf-8 -*-
import calendar
import random
from datetime import timedelta

View file

@ -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

View file

@ -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

View file

@ -1,9 +1,5 @@
# -*- encoding: utf-8 -*-
"""
Formats français.
"""
from __future__ import unicode_literals
DATETIME_FORMAT = r'l j F Y \à H:i'

View file

@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
"""
Django common settings for cof project.

View file

@ -1,5 +1,3 @@
# -*- coding: utf-8 -*-
"""
Fichier principal de configuration des urls du projet GestioCOF
"""

View file

@ -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():

View file

@ -1,5 +1,3 @@
# -*- coding: utf-8 -*-
from ldap3 import Connection
from django import shortcuts

View file

@ -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

View file

@ -1,5 +1,3 @@
# -*- coding: utf-8 -*-
from django.contrib.auth.decorators import user_passes_test

View file

@ -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)

View file

@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
"""
Import des mails de GestioCOF dans la base de donnée
"""

View file

@ -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:

View file

@ -1,5 +1,3 @@
# -*- coding: utf-8 -*-
from functools import reduce
from django.db import models

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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.

View file

@ -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"

View file

@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
from django.contrib.auth import get_user_model
from kfet.models import Account, GenericTeamToken

View file

@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
from django.contrib.auth import get_user_model
from .backends import AccountBackend

View file

@ -1,4 +1,3 @@
# -*- coding: utf-8 -*-
from unittest import mock
from django.core import signing

View file

@ -1,5 +1,3 @@
# -*- coding: utf-8 -*-
from ldap3 import Connection
from django.shortcuts import render
from django.http import Http404

View file

@ -1,5 +1,3 @@
# -*- coding: utf-8 -*-
from django.core.exceptions import ValidationError
from django.db import models

View file

@ -1,5 +1,3 @@
# -*- coding: utf-8 -*-
from .utils import DjangoJsonWebsocketConsumer, PermConsumerMixin

View file

@ -1,5 +1,3 @@
# -*- coding: utf-8 -*-
from kfet.config import kfet_config

View file

@ -1,5 +1,3 @@
# -*- coding: utf-8 -*-
from django.contrib.auth.decorators import user_passes_test

View file

@ -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']

View file

@ -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):

View file

@ -1,5 +1,3 @@
# -*- coding: utf-8 -*-
from channels.routing import include, route_class
from . import consumers

View file

@ -1,5 +1,3 @@
# -*- coding: utf-8 -*-
from datetime import date, datetime, time, timedelta
from dateutil.relativedelta import relativedelta

View file

@ -1,5 +1,3 @@
# -*- coding: utf-8 -*-
import re
from django import template

View file

@ -1,5 +1,3 @@
# -*- coding: utf-8 -*-
from decimal import Decimal
from django.test import TestCase

View file

@ -1,5 +1,3 @@
# -*- coding: utf-8 -*-
from unittest.mock import patch
from django.test import TestCase, Client

View file

@ -1,5 +1,3 @@
# -*- coding: utf-8 -*-
from django.conf.urls import include, url
from django.contrib.auth.decorators import permission_required

View file

@ -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)
# ------------------------

View file

@ -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