def tearDown(self):
     """
     Clean up database
     """
     DB = Db()
     DB.delete_by_email("*****@*****.**")
     DB.delete_by_email("*****@*****.**")
Ejemplo n.º 2
0
def create_tables():
    """
    Create users and requests table
    """
    tables = (
        """
        CREATE TABLE IF NOT EXISTS USERS (
          id SERIAL PRIMARY KEY,
          firstname VARCHAR(50) NOT NULL,
          lastname VARCHAR(50) NOT NULL,
          username VARCHAR(50) NOT NULL UNIQUE,
          email VARCHAR(50) NOT NULL UNIQUE,
          is_admin VARCHAR(10) DEFAULT FALSE NOT NULL,
          password VARCHAR(225) NOT NULL
        )
        """,
        """
        CREATE TABLE IF NOT EXISTS REQUESTS (
          id SERIAL PRIMARY KEY,
          title VARCHAR(100) NOT NULL,
          description VARCHAR(500) NOT NULL,
          location VARCHAR(50) NOT NULL,
          approved BOOLEAN DEFAULT FALSE NOT NULL,
          rejected BOOLEAN DEFAULT FALSE NOT NULL,
          resolved VARCHAR(50) DEFAULT FALSE NOT NULL,
          created_by INTEGER NOT NULL,
          FOREIGN KEY (created_by) REFERENCES USERS (id) ON DELETE CASCADE
        )
        """
    )

    # Try connecting to the database
    db_connection = Db()

    for table in tables:
        db_connection.create_table(table)
Ejemplo n.º 3
0
 def tearDown(self):
     """
     Clean database
     """
     DB = Db()
     DB.delete_by_email("*****@*****.**")
Ejemplo n.º 4
0
def main(msg):

    while True:
        print(msg)
        choix = int(input("Votre choix: "))

        if choix == 1:
            fileName = input("Entrez le nom du fichier: (défaut: data.txt)")

            Db.load(fileName)
            Etudiant.afficher()
            Cours.afficher()
            Note.afficher()

        elif choix == 2:
            print('Ajouter un étudiant')
            print('--------------------')

            prenom = input("Prénom: ")
            nom = input("Nom: ")
            age = int(input("Âge: "))

            e = Etudiant(nom, prenom, age)

            Etudiant.add(e)

        elif choix == 3:
            print('Ajouter une note')
            note = int(input("Note à attribuer: "))

            # get students
            print('Liste des étudiants')
            etudiants: List[Etudiant] = Etudiant.get()

            for i, e in enumerate(etudiants): print(f'{i + 1}. {e}')

            indexEtudiant = int(input('Votre choix: '))

            etudiantSelectionne = etudiants[indexEtudiant - 1]

            # get cours
            print('Liste des cours')
            listCours: List[Cours] = Cours.get()

            for i, e in enumerate(listCours): print(f'{i + 1}. {e}')

            indexCours = int(input('Votre choix: '))

            coursSelectionne = listCours[indexCours - 1]

            # instanciate new note object
            noteObj = Note(etudiantSelectionne, coursSelectionne, note)

            print(noteObj)

            Note.add(noteObj)

        elif choix == 4:
            print("Afficher les notes d'un étudiant")

            print('Liste des étudiants')

            etudiants: List[Etudiant] = Etudiant.get()

            for i, e in enumerate(etudiants): print(f'{i + 1}. {e}')

            indexEtudiant = int(input('Votre choix: '))

            etudiantSelectionne = etudiants[indexEtudiant - 1]

            print(f"Notes de {etudiantSelectionne}")

            for e in Note.parEtudiant(
                etudiantSelectionne): print(f'{e.cours}: {e.note}')

        elif choix == 5:
            print("Afficher les notes triées d'un cours")

            cours = Cours.get()

            # print list of cours
            for i, e in enumerate(cours): print(f'{i + 1}. {e}')

            indexCours = int(input("Votre choix: "))

            cours = cours[indexCours - 1]

            print(f'Notes triées du cours {cours}')

            for e in Note.getParCoursTriee(cours):
                print(f'{e.etudiant}: {e.note}')

        elif choix == 6:
            print("Supprimer un cours")
            print("----------------")

            listCours = Cours.get()

            for i, e in enumerate(listCours):
                print(f'{i + 1}. {e}')

            indexCours = int(input("Votre choix: "))

            cours = listCours[indexCours - 1]

            Note.removeCours(cours)

            print(
                f'Le cours {cours} et les notes assocciées ont été supprimées')

        elif choix == 7:
            print("Sauvegarder des données dans un fichier")
            print("----------------")
            fileName = input("Entrez le nom du fichier: (défaut: data.txt)")

            Db.save(fileName)

            print("Les données ont ete sauvegardées")

        elif choix == 8:
                print('Ajouter un cours')
                print('--------------------')
                nom = input("Cours: ")
                annee = input("Année: ")

                c = Cours(nom, annee)

                Cours.add(c)

        elif choix == 9:
            Etudiant.afficher()
            Cours.afficher()
            Note.afficher()

        else:
            quit()
Ejemplo n.º 5
0
"""
Request model
"""
from models.db import Db

DB = Db()

class Request(object): # pylint: disable=too-few-public-methods
    """
    Request class representation
    """

    def __init__(self, title, description, location, created_by): # pylint: disable=too-many-arguments
        self.title = title
        self.description = description
        self.location = location
        self.created_by = created_by

    def save(self):
        """
        Save request to the database
        """
        DB.save_new_request(self.title, self.description, self.location, self.created_by)