def demande_tuteur(self, id_d): self.cursor.execute("""SELECT * FROM demandes WHERE id=%s""", (id_d, )) if objects.Demande(self.cursor.fetchall()[0]).tuteur is not None: tuteur = 1 else: tuteur = 0 return tuteur
def add_tuteur(self, demande_id, mail): """ Argument: id de la demande, mail de l'utilisateur Fonction: Ajoute un tuteur a la demande """ def notify(demande): # Notification c = self.get_user_info(mail) for u in self.liste_resp(self.get_classe_level(demande.classe)): u.notifier("Demande acceptée", "L'utilisateur suivant :\n%s\n\n" \ "vient d'accepter la demande suivante :\n%s\n" \ "\nLes deux utilisateurs doivent être mis en contact.\n" \ "" %(c.get_profil_texte(), demande.get_texte())) self.cursor.execute("""SELECT * FROM demandes WHERE id=%s""", (demande_id, )) demande = objects.Demande(self.cursor.fetchall()[0]) if demande.auteur != mail: if demande.tuteur is None: # Update de la première colonne self.cursor.execute( """UPDATE demandes SET tuteur = %s WHERE id = %s """, (mail, demande_id)) self.conn.commit() notify(demande) return 0 else: # Erreur l'offre est pleine return 2 else: # auteur == tuteur return 3
def get_demande(self, demande_id): """Argument: Id de la demande Fonction: Renvoie la demande""" self.cursor.execute("""SELECT * FROM demandes WHERE id = %s""", (demande_id, )) # Conversion en objet Demande return objects.Demande(self.cursor.fetchall()[0])
def mail_in_demande(self, id_d, mail): self.cursor.execute("""SELECT * FROM demandes where id = %s""", (id_d, )) tuteur = objects.Demande(self.cursor.fetchall()[0]).tuteur if tuteur == mail: return True else: return False
def get_all_demandes(self): demandes = [] self.cursor.execute("""SELECT * FROM demandes""") # Conversion en objet Demande rows = self.cursor.fetchall() for row in rows: demandes.append(objects.Demande(row)) return demandes
def demandes_liste_validees(self): """Renvoie la liste des demandes qui ont été validées""" demandes = [] self.cursor.execute("""SELECT * FROM demandes WHERE disponible=1""") # Conversion en objet Demande rows = self.cursor.fetchall() for row in rows: demandes.append(objects.Demande(row)) return demandes
def get_user_demandes_tuteur(self, mail): """Argument: Mail de l'utilisateur Fonction: Renvoie la liste des demandes où l'utilisateur est le tuteur""" demandes = [] self.cursor.execute("""SELECT * FROM demandes WHERE tuteur=%s""", (mail, )) # Conversion en objet Demande rows = self.cursor.fetchall() for row in rows: demandes.append(objects.Demande(row)) return demandes
def demandes_liste_tri_admin(self, user_search): """Argument: Mail de l'utilisateur Fonction: Renvoie la liste des demande en fonction de l'utilisateur recherché""" demandes = [] self.cursor.execute( """SELECT * FROM demandes WHERE auteur = %s OR tuteur = %s AND disponible=1""", (user_search, user_search)) # Conversion en objet Demande rows = self.cursor.fetchall() for row in rows: demandes.append(objects.Demande(row)) return demandes
def liste_demandes(self, mail, option=None, option2=None): """Renvoie la liste des demandes compatibles avec l'utilisateur connecté (classe inférieure) :mail: adresse de l'utilisateur connecté :option: premier niveau de selection :option2: 2ème niveau de selection """ classe = self.get_user_info(mail).classe niveau = self.get_class_level(classe) demandes = [] if classe == "ADMIN": # Administrateur ! condition = "(1>0)" # Tout ! else: condition = "disponible=1 AND tuteur IS NULL" if option is not None: if option == "relation": self.cursor.execute( """SELECT * FROM demandes WHERE tuteur is not NULL""") elif option2 is not None: self.cursor.execute("""SELECT * FROM demandes WHERE """ + condition + """ AND """ + option + """ = '""" + option2 + """'""") else: self.cursor.execute("""SELECT * FROM demandes WHERE """ + condition + """ ORDER BY """ + option) else: self.cursor.execute("""SELECT * FROM demandes WHERE """ + condition) rows = self.cursor.fetchall() # Tri des demandes pour ne garder que celles où le niveau de l'utilisateur est supérieur au niveau de la demande for row in rows: demande = objects.Demande(row) # demande.SetNomTuteur(self.cursor) if classe == "ADMIN": # Administrateur ! demandes.append(demande) continue if niveau >= self.get_class_level(demande.classe): demandes.append(demande) return demandes