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'))
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')
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'))
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'))
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'))
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'))
def get_artikelnummer(Artikelnaam): artikelnummer = get_db().execute( 'SELECT Artikelnummer' ' FROM Artikel' ' WHERE Artikelnaam = ?', (Artikelnaam,) ).fetchone() return artikelnummer[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
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()
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'))
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
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'))
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
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'))
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'))
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
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'))
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'))
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')
def get_afdelingen(): afdeling = get_db().execute(' SELECT DISTINCT Afdeling' ' FROM Medewerker').fetchall() return afdeling
def get_categorie(): categorie = get_db().execute('SELECT DISTINCT categorie' ' FROM artikel').fetchall() return categorie
def get_medewerkers(): medewerkers = get_db().execute('SELECT DISTINCT Naam' ' FROM Medewerker').fetchall() return medewerkers
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'))
def get_artikelnaam(): artikelen = get_db().execute('SELECT Artikelnaam' ' FROM Artikel').fetchall() return artikelen
def get_merk(): merk = get_db().execute('SELECT DISTINCT merk' ' FROM artikel').fetchall() return merk
def index(): db = get_db() artikelen = db.execute('SELECT *' ' FROM Artikel;').fetchall() return render_template('artikel/index.html', artikelen=artikelen)