From 01891bfd6ced68d8a781f7f209a4ea7094cb3977 Mon Sep 17 00:00:00 2001 From: Basile Clement Date: Thu, 26 May 2016 21:47:15 +0200 Subject: [PATCH] =?UTF-8?q?Enl=C3=A8ve=20eav-django=20qui=20n'est=20plus?= =?UTF-8?q?=20utilis=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes #5. --- cof/settings_dev.py | 1 - gestioncof/admin.py | 90 -------------------------------------------- gestioncof/models.py | 17 --------- requirements.txt | 1 - 4 files changed, 109 deletions(-) diff --git a/cof/settings_dev.py b/cof/settings_dev.py index ad94d649..633ec6a4 100644 --- a/cof/settings_dev.py +++ b/cof/settings_dev.py @@ -44,7 +44,6 @@ INSTALLED_APPS = ( 'bda2', 'bda3', 'autocomplete_light', - 'eav', 'captcha', 'debug_toolbar', ) diff --git a/gestioncof/admin.py b/gestioncof/admin.py index 860f37a2..24f3dc38 100644 --- a/gestioncof/admin.py +++ b/gestioncof/admin.py @@ -8,7 +8,6 @@ from django.contrib.auth.admin import UserAdmin from django.core.urlresolvers import reverse from django.utils.safestring import mark_safe import django.forms as forms -#import eav.admin from django.utils.translation import ugettext_lazy as _ from django.contrib.admin import SimpleListFilter from django.db.models import Q @@ -69,9 +68,6 @@ class EventAdmin(admin.ModelAdmin): EventCommentFieldInline, ] -#from eav.forms import BaseDynamicEntityForm - -#class CofProfileInline(eav.admin.BaseEntityInline, admin.StackedInline): class CofProfileInline(admin.StackedInline): model = CofProfile #form = BaseDynamicEntityForm @@ -149,91 +145,6 @@ class EventRegistrationAdmin(admin.ModelAdmin): list_filter = ('paid',) search_fields = ('user__username', 'user__first_name', 'user__last_name', 'user__email', 'event__title') -""" -class VoterProfileInlineForm(BaseDynamicEntityForm): - def __init__(self, data=None, *args, **kwargs): - super(BaseDynamicEntityForm, self).__init__(data, *args, **kwargs) - config_cls = self.instance._eav_config_cls - self.entity = getattr(self.instance, config_cls.eav_attr) - self.base_fields = {} - self._build_dynamic_fields() - -class VoterProfileInline(eav.admin.BaseEntityInline, admin.StackedInline): - model = CofProfile - form = VoterProfileInlineForm - inline_classes = ("collapse open",) - fields = None - fieldsets = None - - def get_fieldsets(self, request, obj=None): - formset = self.get_formset(request) - fk_name = self.fk_name or formset.fk.name - kw = {fk_name: obj} if obj else {} - instance = self.model(**kw) - form = formset.form(request.POST, instance=instance) - - return [(None, {'fields': form.fields.keys()})] - -class VotedListFilter(SimpleListFilter): - # Human-readable title which will be displayed in the - # right admin sidebar just above the filter options. - title = _(u'A voté') - - # Parameter for the filter that will be used in the URL query. - parameter_name = 'voted' - - def lookups(self, request, model_admin): - return ( - ('1', _('Yes')), - ('0', _('No')), - ) - - def queryset(self, request, queryset): - # Returns the filtered queryset based on the value - # provided in the query string and retrievable via - # `self.value()`. - # - # Compare the requested value (either '80s' or '90s') - # to decide how to filter the queryset. - if self.value() == '1': - qs2 = User.objects.filter(profile__eav__a_vot = True) - return queryset.filter(pk__in = qs2.values_list('id', flat = True)) - return voters - if self.value() == '0': - qs2 = User.objects.filter(profile__eav__a_vot = False) - return queryset.filter(pk__in = qs2.values_list('id', flat = True)) - -class VoterAdmin(UserProfileAdmin): - - form = forms.ModelForm - fields = ('username','first_name','last_name') - readonly_fields = ('username','first_name','last_name') - fieldsets = None - - def is_cof(self, obj): - try: - return obj.profile.is_cof - except CofProfile.DoesNotExist: - return False - is_cof.short_description = 'Membre du COF' - is_cof.boolean = True - def a_vote(self, obj): - try: - if not obj.profile.eav.a_vot: - return False - else: - return True - except CofProfile.DoesNotExist: - return False - a_vote.short_description = 'A voté' - a_vote.boolean = True - list_display = ('profile_num',) + UserAdmin.list_display + ('is_cof','a_vote') - list_filter = ('profile__is_cof', 'profile__is_buro', VotedListFilter) - inlines = [ - VoterProfileInline, - ] -""" - class PetitCoursAbilityAdmin(admin.ModelAdmin): list_display = ('user','matiere','niveau','agrege') search_fields = ('user__username', 'user__first_name', 'user__last_name', 'user__email', 'matiere__name', 'niveau') @@ -265,5 +176,4 @@ admin.site.register(PetitCoursAbility, PetitCoursAbilityAdmin) admin.site.register(PetitCoursAttribution, PetitCoursAttributionAdmin) admin.site.register(PetitCoursAttributionCounter, PetitCoursAttributionCounterAdmin) admin.site.register(PetitCoursDemande, PetitCoursDemandeAdmin) -#admin.site.register(Voter, VoterAdmin) admin.site.register(EventRegistration, EventRegistrationAdmin) diff --git a/gestioncof/models.py b/gestioncof/models.py index 04cc829f..2086557e 100644 --- a/gestioncof/models.py +++ b/gestioncof/models.py @@ -198,20 +198,3 @@ class SurveyAnswer(models.Model): class Clipper(models.Model): username = models.CharField("Identifiant", max_length = 20) fullname = models.CharField("Nom complet", max_length = 200) - -""" -class Voter(User): - class Meta: - proxy = True - verbose_name = "voteur" - def __unicode__(self): - return u"%s %s" % (self.first_name, self.last_name) - -import eav -eav.register(CofProfile) - -class ManagerOnlyEavConfig(eav.registry.EavConfig): - manager_only = True - -eav.register(User, ManagerOnlyEavConfig) -""" diff --git a/requirements.txt b/requirements.txt index d8f4cc4e..bdfdffef 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,6 @@ django-autoslug==1.8.0 -e hg+https://bitbucket.org/cpcc/django-cas@47d19f3a871fa744dabe884758f90fff6ba135d5#egg=django_cas django-grappelli==2.6.5 django-recaptcha==1.0.5 -eav-django==1.4.7 MySQL-python==1.2.5 Pillow==2.9.0 simplejson==3.8.2