Exemple #1
0
def dettaglio_corso(corso_id):
    
    # Gestione aggiunta serate

    form = SerataForm()
    if form.validate_on_submit():

        data = form.data.data
        nome =  form.nome.data
        descrizione = form.descrizione.data
        link_partecipazione = form.link_partecipazione.data
        link_registrazione = form.link_registrazione.data

        nuova_serata = Serata(nome, descrizione, data, link_partecipazione, link_registrazione)
        nuova_serata.corso_id = corso_id
        # Reset dei campi della form
        form.data.data = ""
        form.nome.data = ""
        form.descrizione.data = ""
        form.link_partecipazione.data = ""
        form.link_registrazione.data = ""
        try:
            db.session.add(nuova_serata)
            db.session.commit()
        except Exception as e:
            flash("Errore durante l'inserimento della serata: %s" % str(e), 'error')
            db.session.rollback()
    
    corso = Corso.query.get_or_404(corso_id)
    return render_template('corsi_dettaglio.html', corso=corso, form=form)
Exemple #2
0
def create_db():
    FLASK_CONFIG = os.getenv("FLASK_CONFIG", "None")
    app = create_app(FLASK_CONFIG)
    app_context = app.app_context()
    app_context.push()

    from project.serate.models import Serata
    from project.corsi.models import Corso
    from project.tags.models import Tag
    from project.ruoli.models import Ruolo

    try:
        ruolo_list = Ruolo.query.all()

    except Exception as message:
        print("No db data")
        print("Creazione struttura senza utenti, post e commenti")
        db.create_all()
        print("Start creating roles")
        Ruolo.insert_roles()
        print("Start creating tags")
        Tag.insert_test_tags()
        print("Start creating corsi")
        Corso.insert_test_corsi()
        print("Start creating serate")
        Serata.insert_test_serate()

    db.session.remove()
    app_context.pop()
 def setUp(self):
     self.app = create_app('testing')
     self.app_context = self.app.app_context()
     self.app_context.push()
     db.create_all()
     Tag.insert_test_tags()
     Corso.insert_test_corsi()
     Serata.insert_test_serate()
     self.client = self.app.test_client()
Exemple #4
0
def dettaglio_corso(corso_id):

    # Gestione aggiunta serate
    form = SerataForm()
    if form.validate_on_submit():

        data = form.data.data  #date (not datetime!) object
        txt_time = form.txt_time.data  #string formato HH:MM
        if not txt_time:
            txt_time = "00:00"
        # Converto in oggetto datetime.time per combinarlo con la data
        # in fase di creazione oggetto Serata
        data_time = datetime.datetime.strptime(txt_time, '%H:%M').time()
        nome = form.nome.data
        descrizione = form.descrizione.data
        link_partecipazione = form.link_partecipazione.data
        link_registrazione = form.link_registrazione.data
        form_corso_id = form.select_corsi.data

        nuova_serata = Serata(
            nome,
            descrizione,
            datetime.datetime.combine(
                data, data_time),  # Combino data con ore-minuti
            link_partecipazione,
            link_registrazione)
        nuova_serata.corso_id = form_corso_id

        # Reset dei campi della form serate
        form.data.data = ""
        form.txt_time.data = ""
        form.nome.data = ""
        form.descrizione.data = ""
        form.link_partecipazione.data = ""
        form.link_registrazione.data = ""

        db.session.add(nuova_serata)
        try:
            db.session.commit()
            flash('Inserimento avvenuto con successo.', 'success')
        except Exception as e:
            flash("Errore durante l'inserimento della serata: %s" % str(e),
                  'error')
            db.session.rollback()
    # Preselezione nel form serate (comunque modificabile) del corso visualizzato
    form.select_corsi.data = corso_id
    corso = Corso.query.get_or_404(corso_id)
    return render_template('corsi_dettaglio.html', corso=corso, form=form)
Exemple #5
0
def create_test_db():
    print("Start creating test db")
    FLASK_CONFIG = os.getenv("FLASK_CONFIG", "None")
    app = create_app(FLASK_CONFIG)
    app_context = app.app_context()
    app_context.push()

    from project.serate.models import Serata
    from project.corsi.models import Corso
    from project.tags.models import Tag
    from project.ruoli.models import Ruolo
    from project.utenti.models import Utente
    from project.blog.models import Post
    from project.commenti.models import Comment

    from random import randint
    from faker import Faker

    try:
        user_list = Utente.query.all()
        course_list = Corso.query.all()
        post_list = Post.query.all()
        comment_list = Comment.query.all()
        post_list = Post.query.all()
        ruolo_list = Ruolo.query.all()
        print("DB Tables already exists")

    except Exception as message:
        print(f"No db data exist, inserting them:")

        def users(count=100):
            fake = Faker("it_IT")
            i = 0
            while i < count:
                u = Utente(
                    email=fake.email(),
                    username=fake.user_name(),
                    password="******",
                    confirmed=True,
                    name=fake.name(),
                    location=fake.city(),
                    about_me=fake.text(),
                    member_since=fake.past_date(),
                )
                db.session.add(u)
                try:
                    db.session.commit()
                    i += 1
                except IntegrityError:
                    db.session.rollback()

        def posts(count=100):
            fake = Faker("it_IT")
            user_count = Utente.query.count()
            for i in range(count):
                u = Utente.query.offset(randint(0, user_count - 1)).first()
                p = Post(body=fake.text(),
                         timestamp=fake.past_date(),
                         author=u)
                db.session.add(p)
                db.session.commit()

        def comments(count=100):
            fake = Faker("it_IT")
            user_count = Utente.query.count()
            post_count = Post.query.count()
            for i in range(count):
                u = Utente.query.offset(randint(0, user_count - 1)).first()
                p = Post.query.offset(randint(0, post_count - 1)).first()
                c = Comment(body=fake.text(),
                            timestamp=fake.past_date(),
                            post=p,
                            author=u)
                db.session.add(c)
                db.session.commit()

        print("Creating structure")
        db.create_all()
        db.session.commit()

        print("Creating roles")
        Ruolo.insert_roles()

        print("Creating fake users")
        users(2)

        print("Creating test users")
        Utente.insert_test_users()

        print("Creating tags")
        Tag.insert_test_tags()

        print("Creating corsi")
        Corso.insert_test_corsi()

        print("Creating serate")
        Serata.insert_test_serate()

        print("Creating posts fake")
        posts(3)

        print("Creating commenti fake")
        comments(3)

        print("\nDB Dummy data inserted succesfully")
    db.session.remove()
    app_context.pop()
    print("Creating roles")
    Ruolo.insert_roles()
    
    print("Creating fake users")
    users(20)
    print("Creating test users")
    Utente.insert_test_users()

    print("Creating tags")
    Tag.insert_test_tags()

    print("Creating corsi")
    Corso.insert_test_corsi()
    
    print("Creating serate")
    Serata.insert_test_serate()

    print("Creating posts fake")
    posts()

    print("Creating commenti fake")    
    comments()

###DEBUGS
print("\n#### DATA DEBUG ####\n")

# Read a course
courses = Corso.query.all()
print(f"\nList of all courses: {courses}")

# Get a course by name
Exemple #7
0
        try:
            db.session.add(c)
            db.session.commit()
        except Exception as e:
            print(f"Eccezione: {e}")
            db.session.rollback()

    #################################################
    ##### 3. Create Serate ######
    print("Start creating serate")

    c = Corso.query.filter_by(
        nome="Flask").first()  # Ritorna tutti i risultati
    s1 = Serata(
        "Flask 1",
        "Introduzione a Flask e ai web server con Jinja Base",
        datetime.date(2020, 10, 12),
    )
    s1.link_registrazione = 'https://www.youtube.com/watch?v=FPI5-oGKiVI&t=759s'
    s2 = Serata("Flask 2", "Jinja avanzato e Forms",
                datetime.date(2020, 10, 19))
    s2.link_registrazione = 'https://www.youtube.com/watch?v=C-iEkd-BpE4'
    s3 = Serata("Flask 3", "Flask con Database", datetime.date(2020, 10, 26))
    s3.link_registrazione = 'https://www.youtube.com/watch?v=rCXhuSiOcZU'
    s4 = Serata("Flask 4", "Review", datetime.date(2020, 11, 2))
    s4.link_registrazione = 'https://www.youtube.com/watch?v=izIKXOrbI5U'

    s5 = Serata("Flask 5", "Review con Mario", datetime.date(2020, 11, 9))
    '''TO BE DEFINED
    s6 = Serata(
        "Flask 6",