Example #1
0
def update(VoorraadID):
    VoorraadProduct = get_post(VoorraadID)
    try:
        if request.method == 'POST':
            prijs = request.form['prijs']
            opmerking = request.form['opmerking']
            error = None

            if prijs.isdecimal() == False:
                prijs, error = check_prijs(prijs)

            if error is not None:
                flash(error)
            else:
                db = get_db()
                db.execute(
                    ' UPDATE Voorraad SET Prijs  = ?, Opmerking = ?'
                    ' WHERE VoorraadID = ?',
                    ( prijs, opmerking, VoorraadID)
                )
                db.commit()
                flash('Item is geüpdatet.')
                return redirect(url_for('voorraad.index'))
        return render_template('voorraad/update.html', product=VoorraadProduct)

    except Exception as e:
        print(e)
        error = 'Er is iets fout gegaan. Je bent teruggestuurd naar de home pagina.'
        flash(error)
        return redirect(url_for('index.index'))
Example #2
0
def register():
    if request.method == 'POST':
        username = request.form['username']
        password = request.form['password']
        db = get_db()
        error = None

        if not username:
            error = 'Username is required.'
        elif not password:
            error = 'Password is required.'
        elif db.execute(
                f'SELECT GebruikerID FROM [Beheerder] WHERE Gebruikersnaam = ?',
            (username, )).fetchone() is not None:
            error = f"User {username} is already registered."

        if error is None:
            db.execute(
                'INSERT INTO [Beheerder] (Gebruikersnaam, Wachtwoord) VALUES (?, ?)',
                (username, password))
            db.commit()
            return redirect(url_for('auth.login'))

        flash(error)

    return render_template('auth/register.html')
Example #3
0
def update(artikelnummer):
    artikel = get_post(artikelnummer)

    try:
        if request.method == 'POST':
            artikelnaam = request.form['artikelnaam']
            merk = request.form['merk']
            categorie = request.form['categorie']
            error = None
            if error is not None:
                flash(error)
            else:
                db = get_db()
                db.execute(
                    'UPDATE Artikel SET Artikelnaam = ?, Merk = ?, Categorie  = ?'
                    ' WHERE Artikelnummer = ?',
                    (artikelnaam, merk, categorie, artikelnummer))
                db.commit()
                flash('Artikel is geüpdatet.', )
                return redirect(url_for('artikel.index'))
        return render_template('artikel/update.html', artikel=artikel)

    except Exception as e:
        print(e)
        error = 'Er is iets fout gegaan. Je bent teruggestuurd naar de home pagina.'
        flash(error)
        return redirect(url_for('index.index'))
Example #4
0
def update(ProductieID):
    try:
        if request.method == 'POST':
            prijs = request.form['prijs']
            opmerking = request.form['opmerking']
            naam = request.form['medewerker']
            afdeling = request.form['afdeling']
            error = None

            if prijs.isdecimal() == False:
                prijs, error = check_prijs(prijs)

            if error is not None:
                flash(error)
            else:
                db = get_db()
                db.execute(
                    ' UPDATE Productie SET Prijs  = ? , Opmerking = ? , Personeelnummer = ? '
                    ' WHERE ProductieID = ? ',
                    (prijs, opmerking, get_personeelnummer(naam, afdeling),ProductieID)
                )
                db.commit()
                flash('Item is geüpdatet.')
                return redirect(url_for('productie.index'))
        return render_template('productie/update.html', product=get_post(ProductieID), afdelingen=get_afdelingen(), medewerkers=get_medewerkers())

    except Exception as e:
        print(e)
        error = 'Er is iets fout gegaan. Je bent teruggestuurd naar de home pagina.'
        flash(error)
        return redirect(url_for('index.index'))
Example #5
0
def delete(artikelnummer):
    db = get_db()
    db.execute('DELETE FROM artikel WHERE artikelnummer = ?',
               (artikelnummer, ))
    db.commit()
    flash('Artikel is verwijderd.')
    return redirect(url_for('artikel.index'))
Example #6
0
def create():
    try:
        if request.method == 'POST':
            artikelnaam = request.form['artikelnaam']
            merk = request.form['merk']
            categorie = request.form['categorie']
            error = None

            if not artikelnaam:
                error = 'Artikelnaam is verplicht!.'

            if error is not None:
                flash(error)

            else:
                db = get_db()
                db.execute(
                    'INSERT INTO Artikel (Artikelnaam, Merk, Categorie)'
                    ' VALUES (?, ?, ?)', (artikelnaam, merk, categorie))
                db.commit()
                return redirect(url_for('artikel.index'))

        return render_template('artikel/create.html',
                               categorieen=get_categorie(),
                               merken=get_merk())

    except Exception as e:
        write_log(e)
        error = 'Er is iets fout gegaan. Je bent teruggestuurd naar de home pagina.'
        flash(error)
        return redirect(url_for('index.index'))
Example #7
0
def get_artikelnummer(Artikelnaam):
    artikelnummer = get_db().execute(
        'SELECT Artikelnummer'
        ' FROM Artikel'
        ' WHERE Artikelnaam = ?',
        (Artikelnaam,)
    ).fetchone()
    return artikelnummer[0]
Example #8
0
def count_voorraad():
    count = get_db().execute(
        ' SELECT Categorie, COUNT(VoorraadID) AS Aantal'
        ' FROM Voorraad voo'
        ' RIGHT JOIN Artikel art on voo.Artikelnummer = art.Artikelnummer'
        ' GROUP BY Categorie '
        ' ORDER BY Aantal DESC, Categorie',
    ).fetchall()
    return count
Example #9
0
def load_logged_in_user():
    user_id = session.get('GebruikerID')

    if user_id is None:
        g.user = None
    else:
        g.user = get_db().execute(
            'SELECT * FROM [Beheerder] WHERE GebruikerID = ?',
            (user_id, )).fetchone()
Example #10
0
def delete(ProductieID):
    db = get_db()
    print('')
    db.execute(' INSERT INTO HProductie'
               ' SELECT * FROM Productie'
               ' WHERE ProductieID = ?;'
               ' DELETE FROM Productie WHERE ProductieID = ?;', (ProductieID, ProductieID))
    db.commit()
    flash('Item is verwijderd en uit productie')
    return redirect(url_for('voorraad.index'))
Example #11
0
def get_post(artikelnummer, check_author=True):
    artikel = get_db().execute(
        'SELECT *'
        ' FROM artikel'
        ' WHERE artikelnummer = ?', (artikelnummer, )).fetchone()

    if artikel is None:
        abort(404, f"Artikelnummer {artikelnummer} doesn't exist. Pech")

    return artikel
Example #12
0
def giveback(ProductieID):
    db = get_db()
    db.execute(' SET IDENTITY_INSERT Voorraad ON;'
               ' INSERT INTO Voorraad (VoorraadID, Artikelnummer, Prijs, GemaaktDoor, CreatieTijd, Opmerking)'
               ' SELECT ProductieID, Artikelnummer, Prijs, GemaaktDoor, CreatieTijd, Opmerking'
               ' FROM Productie '
               ' WHERE ProductieID = ?; '
               ' SET IDENTITY_INSERT Voorraad OFF; '
               ' DELETE FROM Productie WHERE ProductieID = ? ;',
               (ProductieID, ProductieID))
    db.commit()
    flash('Item is uit productie gehaald en terug naar de voorraad verplaatst.')
    return redirect(url_for('voorraad.index'))
Example #13
0
def get_post(VoorraadID):
    VoorraadProduct = get_db().execute(
        ' SELECT VoorraadID, voo.Artikelnummer, Artikelnaam, Merk, Categorie, Prijs, GebruikerID, Gebruikersnaam as GemaaktDoor, '
        ' CAST(CreatieTijd AS smalldatetime) AS CreatieTijd, Opmerking'
        ' FROM Voorraad voo'
        ' JOIN Artikel art ON voo.Artikelnummer = art.Artikelnummer'
        ' JOIN Beheerder beh ON voo.GemaaktDoor = beh.GebruikerID'
        ' WHERE VoorraadID = ?', (VoorraadID, )).fetchone()

    if VoorraadID is None:
        abort(404, f"Artikelnummer {VoorraadID} doesn't exist.")

    return VoorraadProduct
Example #14
0
def create():
    # class Artikel():
    #     db = get_db()
    #     artikelnummer = db.Column()
    #     artikelnaam = db.Column(db.Varchar(50))
    #     merk = db.Column(db.Varchar(25))
    #     categorie = db.Column(db.Varchar(25))

    # class Form(FlaskForm):
    #     categorie = SelectField('categorie', choices=[('laptop', 'lenovo'), ('telefoon', 'iPhone Xr')])
    #     artikel = SelectField('artikel', choices=[])

    # form = Form()
    # form.artikel.choices = [(Artikel.categorie, Artikel.artikelnaam )for categorie in Artikel.query.filter_by(categorie='laptop').all()]

    artikelnaam = get_artikelnaam()
    try:
        if request.method == 'POST':
            artikelnaam = request.form['Artikelnaam']
            prijs = request.form['Prijs']
            opmerking = request.form['Opmerking']
            aantal = int(request.form['aantal'])
            error = None

            if prijs.isdecimal() == False:
                prijs, error = check_prijs(prijs)

            if error is not None:
                flash(error)
            else:
                for i in range(0, aantal):
                    print('nummer',i)
                    db = get_db()
                    db.execute(
                        'INSERT INTO Voorraad (Artikelnummer, Prijs, GemaaktDoor, CreatieTijd, Opmerking)'
                        ' VALUES (?, ?, ?, ?, ?)',
                        (get_artikelnummer(artikelnaam), prijs, g.user[0], datetime.now(), opmerking)
                    )
                    db.commit()
                flash('Item is aan voorraad toegevoegd')
                return redirect(url_for('voorraad.index'))

        return render_template('voorraad/create.html', artikelnamen=artikelnaam)

    except Exception as e:
        print(e)
        error = 'Er is iets fout gegaan. Je bent teruggestuurd naar de home pagina.'
        flash(error)
        return redirect(url_for('index.index'))
Example #15
0
def index():
    try:
        db = get_db()
        voorraad = db.execute(
            'SELECT VoorraadID, voo.Artikelnummer, art.Artikelnaam, Merk, Categorie, Prijs, Gebruikersnaam, CAST(CreatieTijd AS date) AS CreatieTijd'
            ' FROM Voorraad voo'
            ' JOIN Artikel  art ON voo.Artikelnummer = art.Artikelnummer'
            ' JOIN Beheerder beh ON voo.GemaaktDoor = beh.GebruikerID'
            ' ORDER BY CreatieTijd ASC').fetchall()
        return render_template('voorraad/index.html', voorraad=voorraad)

    except Exception as e:
        print(e)
        error = 'Er is iets fout gegaan. Je bent teruggestuurd naar de home pagina.'
        flash(error)
        return redirect(url_for('index.index'))
Example #16
0
def get_post(ProductieID):
    ProductieProduct = get_db().execute(
         ' SELECT ProductieID, pro.Artikelnummer, Artikelnaam, Merk, Categorie, Prijs, Opmerking, behA.Gebruikersnaam as GemaaktDoor, '
         ' CAST(CreatieTijd AS smalldatetime) AS CreatieTijd, behB.Gebruikersnaam as UitgifteDoor, CAST(UitgifteTijd AS smalldatetime) AS UitgifteTijd, pro.Personeelnummer, Naam, Afdeling'
         ' FROM Productie pro '
         ' JOIN Artikel art ON pro.Artikelnummer = art.Artikelnummer'
         ' LEFT JOIN Beheerder behA ON pro.GemaaktDoor = behA.GebruikerID'
         ' LEFT JOIN Beheerder behB ON pro.UitgifteDoor = behB.GebruikerID'
		 ' JOIN Medewerker med on pro.Personeelnummer = med.Personeelnummer'
		 ' WHERE ProductieID = ?',
        (ProductieID,)
    ).fetchone()

    if ProductieID is None:
        abort(404, f"Artikelnummer {ProductieID} doesn't exist.")

    return ProductieProduct
Example #17
0
def give(VoorraadID):
    VoorraadProduct = get_post(VoorraadID)

    try:
        if request.method == 'POST':

            # medewerkers = db.execute('SELECT DISTINCT Naam FROM Medewerker;').fetchall()
            # print(medewerkers)

            # afdelingen = db.execute('SELECT DISTINCT Afdeling FROM Medewerker;').fetchall()
            # print(afdelingen)

            afdeling = request.form['afdeling']
            naam = request.form['medewerker']
            opmerking = request.form['opmerking']
            error = None

            if error is not None:
                flash(error)
            else:
                db = get_db()
                db.execute(
                    ' INSERT INTO Productie (ProductieID, Artikelnummer, Prijs, Opmerking, GemaaktDoor, CreatieTijd, UitgifteDoor, UitgifteTijd, Personeelnummer)'
                    ' VALUES  (?, ?, ?, ?, ?, ?, ?, ?, ?);'
                    ' DELETE FROM Voorraad WHERE VoorraadID = ?;',
                    (VoorraadProduct[0], VoorraadProduct[1], VoorraadProduct[5], VoorraadProduct[9], VoorraadProduct[6],
                     VoorraadProduct[8], g.user[0], datetime.now(), get_personeelnummer(naam, afdeling), VoorraadProduct[0])
                )
                db.commit()
                db.execute(
                    ' UPDATE Productie '
                    ' SET Opmerking = ? '
                    ' WHERE ProductieID = ?; ',
                    (opmerking, VoorraadID)
                )
                db.commit()
                flash('Item is uitgeboekt naar productie.')
                return redirect(url_for('productie.index'))
        return render_template('voorraad/give.html', product= VoorraadProduct, afdelingen=get_afdelingen())

    except Exception as e:
        print(e)
        error = 'Er is iets fout gegaan. Je bent teruggestuurd naar de home pagina.'
        flash(error)
        return redirect(url_for('index.index'))
Example #18
0
def index():
    try:
        productie = get_db().execute(
            ' SELECT ProductieID, pro.Artikelnummer, Artikelnaam, Merk, Categorie, Prijs, Opmerking, behA.Gebruikersnaam as GemaaktDoor, '
            ' CAST(CreatieTijd AS smalldatetime) AS CreatieTijd, behB.Gebruikersnaam as UitgifteDoor, CAST(UitgifteTijd AS smalldatetime) AS UitgifteTijd, pro.Personeelnummer, Naam, Afdeling'
            ' FROM Productie pro '
            ' JOIN Artikel art ON pro.Artikelnummer = art.Artikelnummer'
            ' LEFT JOIN Beheerder behA ON pro.GemaaktDoor = behA.GebruikerID'
            ' LEFT JOIN Beheerder behB ON pro.UitgifteDoor = behB.GebruikerID'
            ' JOIN Medewerker med on pro.Personeelnummer = med.Personeelnummer'
        ).fetchall()
        return render_template('productie/index.html', productie=productie)

    except Exception as e:
        print(e)
        error = 'Er is iets fout gegaan. Je bent teruggestuurd naar de home pagina.'
        flash(error)
        return redirect(url_for('index.index'))
Example #19
0
def login():
    if request.method == 'POST':
        username = request.form['username']
        password = request.form['password']
        db = get_db()
        error = None
        user = db.execute('SELECT * FROM [Beheerder] WHERE Gebruikersnaam = ?',
                          (username, )).fetchone()

        if user is None:
            error = 'Incorrect username.'
        elif not password:
            error = 'Incorrect password.'

        if error is None:
            session.clear()
            session['GebruikerID'] = user[0]
            return redirect(url_for('index.index'))

        flash(error)

    return render_template('auth/login.html')
Example #20
0
def get_afdelingen():
    afdeling = get_db().execute(' SELECT DISTINCT Afdeling'
                                ' FROM Medewerker').fetchall()
    return afdeling
Example #21
0
def get_categorie():
    categorie = get_db().execute('SELECT DISTINCT categorie'
                                 ' FROM artikel').fetchall()
    return categorie
Example #22
0
def get_medewerkers():
    medewerkers = get_db().execute('SELECT DISTINCT Naam'
                                   ' FROM Medewerker').fetchall()
    return medewerkers
Example #23
0
def delete(VoorraadID):
    db = get_db()
    db.execute('DELETE FROM Voorraad WHERE VoorraadID = ?', (VoorraadID, ))
    db.commit()
    flash('Item is uit voorraad verwijderd.')
    return redirect(url_for('voorraad.index'))
Example #24
0
def get_artikelnaam():
    artikelen = get_db().execute('SELECT Artikelnaam'
                                 ' FROM Artikel').fetchall()
    return artikelen
Example #25
0
def get_merk():
    merk = get_db().execute('SELECT DISTINCT merk' ' FROM artikel').fetchall()
    return merk
Example #26
0
def index():
    db = get_db()
    artikelen = db.execute('SELECT *' ' FROM Artikel;').fetchall()
    return render_template('artikel/index.html', artikelen=artikelen)