Ejemplo n.º 1
0
 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
Ejemplo n.º 2
0
    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
Ejemplo n.º 3
0
    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])
Ejemplo n.º 4
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
Ejemplo n.º 5
0
 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
Ejemplo n.º 6
0
 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
Ejemplo n.º 7
0
    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
Ejemplo n.º 8
0
    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
Ejemplo n.º 9
0
    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