return hashlib.md5(smart_str(clear_password)).hexdigest()
def get_new_password_code(self):
- return hashlib.md5(smart_str(u.courriel+u.encrypted_password)).hexdigest()[0:6]
+ return hashlib.md5(smart_str(self.courriel + self.encrypted_password)).hexdigest()[0:6]
-class ChercheurManager(models.Manager):
+class ChercheurQuerySet(SEPQuerySet):
+
+ def filter_groupe(self, groupe):
+ return self.filter(groupes=groupe)
+
+ def filter_pays(self, pays):
+ return self.filter(Q(etablissement__pays=pays) | Q(etablissement_autre_pays=pays))
+
+ def filter_region(self, region):
+ return self.filter(Q(etablissement__pays__region=region) | Q(etablissement_autre_pays__region=region))
+
+ def filter_nord_sud(self, nord_sud):
+ return self.filter(Q(etablissement__pays__nord_sud=nord_sud) | Q(etablissement_autre_pays__nord_sud=nord_sud))
+
+ def filter_statut(self, statut):
+ return self.filter(statut=statut)
+
+ def filter_expert(self):
+ return self.exclude(expertises=None)
+
+class ChercheurSphinxQuerySet(SEPSphinxQuerySet):
+
+ def __init__(self, model=None):
+ return SEPSphinxQuerySet.__init__(self, model=model, index='chercheurs',
+ weights=dict(nom=2, prenom=2))
+
+ def filter_region(self, region):
+ return self.filter(region_id=region.id)
+
+ def filter_groupe(self, groupe):
+ return self.filter(groupe_ids=groupe.id)
+
+ def filter_pays(self, pays):
+ return self.filter(pays_id=pays.id)
+
+ NORD_SUD_CODES = {'Nord': 1, 'Sud': 2}
+ def filter_nord_sud(self, nord_sud):
+ return self.filter(nord_sud=self.NORD_SUD_CODES[nord_sud])
+
+ STATUT_CODES = {'enseignant': 1, 'etudiant': 2, 'independant': 3}
+ def filter_statut(self, statut):
+ return self.filter(statut=self.STATUT_CODES[statut])
+
+ def filter_expert(self):
+ return self.filter(expert=1)
+
+class ChercheurManager(SEPManager):
def get_query_set(self):
return ChercheurQuerySet(self.model)