from chercheurs.models import Chercheur, ChercheurVoir, Publication, \
GroupeChercheur, DomaineRecherche, \
- AdhesionGroupe, ChercheurQuerySet
+ AdhesionGroupe, ChercheurQuerySet, \
+ AdhesionCommunaute, AdhesionDomaineRecherche, \
+ Groupe
from chercheurs.utils import export
from savoirs.models import Search
assigner_cgstatut.short_description = u'Assigner un statut'
+class AdhesionCommunauteAdmin(AdhesionGroupeAdmin):
+ pass
+
+
+class AdhesionDomaineRechercheAdmin(AdhesionGroupeAdmin):
+ pass
+
class BaseGroupeAdmin(admin.ModelAdmin):
fieldsets = (
(('Options générales'), {'fields': ('nom', 'url', 'liste_diffusion',
admin.site.register(Publication, PublicationAdmin)
admin.site.register(GroupeChercheur, GroupeChercheurAdmin)
admin.site.register(DomaineRecherche, DomaineRechercheAdmin)
-admin.site.register(AdhesionGroupe, AdhesionGroupeAdmin)
+admin.site.register(AdhesionCommunaute, AdhesionCommunauteAdmin)
+admin.site.register(AdhesionDomaineRecherche, AdhesionDomaineRechercheAdmin)
('exclus', 'Exclus'),
)
+class AdhesionCommunauteManager(GroupeManager):
+ def get_query_set(self):
+ return super(AdhesionCommunauteManager, self).get_query_set().filter(groupe__groupe_chercheur=True)
+
+class AdhesionDomaineRechercheManager(GroupeManager):
+ def get_query_set(self):
+ return super(AdhesionDomaineRechercheManager, self).get_query_set().filter(groupe__groupe_chercheur=False)
+
class AdhesionGroupe(models.Model):
id = models.AutoField(primary_key=True, db_column='id')
chercheur = models.ForeignKey('Chercheur', db_column='chercheur')
def __unicode__(self):
return u"%s - %s" % (self.chercheur, self.groupe)
+class AdhesionCommunaute(AdhesionGroupe):
+ objects = AdhesionCommunauteManager()
+
+ class Meta:
+ proxy = True
+ verbose_name = 'adhésion aux communautés de chercheurs'
+ verbose_name_plural = 'adhésion aux communautés de chercheurs'
+
+class AdhesionDomaineRecherche(AdhesionGroupe):
+ objects = AdhesionDomaineRechercheManager()
+
+ class Meta:
+ proxy = True
+ verbose_name = 'adhésion aux domaines de recherche'
+ verbose_name_plural = 'adhésion aux domaines de recherche'
+
class ChercheurSearch(Search):
nom_chercheur = models.CharField(max_length=100, blank=True, verbose_name='nom')
domaine = models.ForeignKey(DomaineRecherche, blank=True, null=True, verbose_name='domaine de recherche')