forked from DGNum/gestioCOF
Compatibilité python 3
Rend GestioCOF compatible avec python 3. En particulier, il s'agit de : - Utiliser la version "fonction" de `print` dans `sync_clipper` et `tirage_bda`, avec le `from __future__ import print_function` pour garder la compatibilité avec python 2 - Utiliser de l'unicode par défaut, même en python 2, avec `from __future__ import unicode_literals` et le décorateur de compatibilité `python_2_unicode_compatible` de Django pour les modèles, comme décrit à https://docs.djangoproject.com/en/1.9/topics/python3/#str-and-unicode-methods - Utiliser `six.text_type` à la place de `unicode` Fixes #2.
This commit is contained in:
parent
7f61870236
commit
21b8b6042f
18 changed files with 174 additions and 81 deletions
|
@ -1,5 +1,7 @@
|
|||
# coding: utf-8
|
||||
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.contrib import admin
|
||||
from gestioncof.models import *
|
||||
from gestioncof.petits_cours_models import *
|
||||
|
@ -8,6 +10,7 @@ from django.contrib.auth.admin import UserAdmin
|
|||
from django.core.urlresolvers import reverse
|
||||
from django.utils.safestring import mark_safe
|
||||
from django.utils.translation import ugettext_lazy as _
|
||||
import django.utils.six as six
|
||||
|
||||
import autocomplete_light
|
||||
|
||||
|
@ -168,17 +171,21 @@ class UserProfileAdmin(UserAdmin):
|
|||
]
|
||||
|
||||
|
||||
# FIXME: This is absolutely horrible.
|
||||
def user_unicode(self):
|
||||
if self.first_name and self.last_name:
|
||||
return u"%s %s (%s)" % (self.first_name, self.last_name, self.username)
|
||||
return "%s %s (%s)" % (self.first_name, self.last_name, self.username)
|
||||
else:
|
||||
return self.username
|
||||
User.__unicode__ = user_unicode
|
||||
if six.PY2:
|
||||
User.__unicode__ = user_unicode
|
||||
else:
|
||||
User.__str__ = user_unicode
|
||||
|
||||
|
||||
class EventRegistrationAdmin(admin.ModelAdmin):
|
||||
form = autocomplete_light.modelform_factory(EventRegistration, exclude=[])
|
||||
list_display = ('__unicode__', 'event', 'user', 'paid')
|
||||
list_display = ('__unicode__' if six.PY2 else '__str__', 'event', 'user', 'paid')
|
||||
list_filter = ('paid',)
|
||||
search_fields = ('user__username', 'user__first_name', 'user__last_name',
|
||||
'user__email', 'event__title')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue