programmeerles-ouderen

Teach programming to seniors
Log | Files | Refs

commit 388f4d4b2e00c3cf99f048d23d3a61de32f3b109
parent 66818cc5d47bbed0cd23965d6a8b7f06aa885484
Author: Friedel Schön <[email protected]>
Date:   Sun, 17 Apr 2022 15:27:24 +0200

edited readme

Diffstat:
Dpgmles/__init__.py | 2--
Mpgmles/routes.py | 30++++++++++++++++++++++--------
Mpgmles/templates/about.html | 8+++-----
Mpgmles/templates/course_overview.html | 1-
Mreadme.md | 57+++++++++++++++++++++++++++++++++------------------------
5 files changed, 58 insertions(+), 40 deletions(-)

diff --git a/pgmles/__init__.py b/pgmles/__init__.py @@ -1 +0,0 @@ -# deze bestand moet er zijn, anders zou Python's leuke module-system klagen ); -\ No newline at end of file diff --git a/pgmles/routes.py b/pgmles/routes.py @@ -153,7 +153,8 @@ def course(course_id): @login_required def course_overview(): if current_user.type not in [ "admin", "teacher" ]: - abort(403) + flash('U mag deze website niet bereiken', 'error') + return redirect('/') courses = [ (c, User.query.filter_by(id=c.id).first() ) for c in Course.query.all() ] return render_template('course_overview.html', calendar=make_calendar(), legend='Lesoverzicht', courses=courses) @@ -162,7 +163,8 @@ def course_overview(): @login_required def new_course(): if current_user.type not in [ "admin", "teacher" ]: - abort(403) + flash('U mag deze website niet bereiken', 'error') + return redirect('/') form = NewCourseForm() form.teacher_id.choices = [ (g.id, g.username) for g in User.query.filter_by(type='teacher') ] if form.validate_on_submit(): @@ -178,7 +180,8 @@ def new_course(): @login_required def update_course(course_id): if current_user.type not in [ "admin", "teacher" ]: - abort(403) + flash('U mag deze website niet bereiken', 'error') + return redirect('/') form = NewCourseForm() form.teacher_id.choices = [ (g.id, g.username) for g in User.query.filter_by(type='teacher') ] course = Course.query.get_or_404(course_id) @@ -208,7 +211,8 @@ def update_course(course_id): @login_required def delete_course(course_id): if current_user.type not in [ "admin", "teacher" ]: - abort(403) + flash('U mag deze website niet bereiken', 'error') + return redirect('/') course = Course.query.get_or_404(course_id) db.session.delete(course) db.session.commit() @@ -219,7 +223,8 @@ def delete_course(course_id): @login_required def admin(): if current_user.type != "admin": - abort(403) + flash('U mag deze website niet bereiken', 'error') + return redirect('/') form = SearchForm() if form.validate_on_submit(): user = User.query.filter_by(username=form.username.data).first() @@ -235,7 +240,8 @@ def admin(): @login_required def admin_user(user_id): if current_user.type != "admin": - abort(403) + flash('U mag deze website niet bereiken', 'error') + return redirect('/') form = AdminForm() user = User.query.filter_by(id=user_id).first() image_file = url_for('static', filename='profile_pics/' + user.image_file) @@ -253,7 +259,8 @@ def admin_user(user_id): @login_required def delete_user(user_id): if current_user.type != "admin": - abort(403) + flash('U mag deze website niet bereiken', 'error') + return redirect('/') user = User.query.get_or_404(user_id) db.session.delete(user) db.session.commit() @@ -265,9 +272,16 @@ def delete_user(user_id): @login_required def reset_user(user_id): if current_user.type != "admin": - abort(403) + flash('U mag deze website niet bereiken', 'error') + return redirect('/') user = User.query.get_or_404(user_id) user.password = bcrypt.generate_password_hash(user.email).decode('utf-8') db.session.commit() flash(f'{user.username}\'s is nu zijn/haar e-mail', 'success') return redirect(url_for('admin')) + +""" 404 not found handler """ [email protected](404) +def not_found(error): + flash(f"Deze pagina werd niet gevonden", 'danger') + return index() # geen redirect om de '/bla' te houden diff --git a/pgmles/templates/about.html b/pgmles/templates/about.html @@ -10,14 +10,12 @@ </p> <p> Samen met <i>Groningen-Drenthe Systems (GDS)</i> ontwikkelden wij deze pagina om ook ouderen mogelijk te - maken - in hun vrije tijd iets nieuws te leren. + maken in hun vrije tijd iets nieuws te leren. </p> <p> Vele pensioenaten waren vroeger BASIC-programmeurs, COBOL of Assembly op hun Commandore 64. Wij proberen dit - op te pakken en te vernieuwen met - moderne talen zoals Python, Java of JavaScript. Natuurlijk bieden wij ook verschillende lessen voor - beginners aan. + op te pakken en te vernieuwen met moderne talen zoals Python, Java of JavaScript. Natuurlijk bieden wij ook + verschillende lessen voor beginners aan. </p> <p> U bent hartelijk welkom en wij hopen u in ons lessen te kunnen zien!<br> diff --git a/pgmles/templates/course_overview.html b/pgmles/templates/course_overview.html @@ -25,7 +25,6 @@ </div> </div> </article> -<!-- Modal --> <div class="modal fade" id="deleteModal" tabindex="-1" role="dialog" aria-labelledby="deleteModalLabel" aria-hidden="true"> <div class="modal-dialog" role="document"> diff --git a/readme.md b/readme.md @@ -4,7 +4,7 @@ Dit is een dev-server, dus run je met `debug=True`-flag! -*Als onze website zo goed is, om het in production te runnen, verwijder het `debug=True` &#127867;* +*Als onze website zo goed is, om het in production te runnen, verwijder het `debug=True` :beers:* **Alle afhankelijkheden installeren:** ``` @@ -18,31 +18,40 @@ $ python run.py ## Uitleg -| route | bestand | beschrikbaar als<sup>1</sup> | beschrijving | -|-----------------------------|----------------------|------------------------------|----------------------------------------------------------| -| / | index.html | gast | home-pagina | -| /about | about.html | gast | over ons | -| /register | register.html | gast | registeren van een gebruiker<sup>2</sup> | -| /login | login.html | gast | inloggen van een gebruiker<sup>2,3</sup> | -| /logout | *redirect: /* | klant | uitloggen van een gebruiker | -| /courses | course_overview.html | docent | lessen bewerken/verwijderen | -| /course/new | new_course.html | docent | nieuwe les aanmaken | -| /course/`:course_id` | course.html | klant | les informatie | -| /course/`:course_id`/update | new_course.html | docent | les instellingen | -| /course/`:course_id`/delete | *redirect: /courses* | docent | les verwijderen | -| /users | admin.html | admin | gebruiker overzicht<sup>4</sup> | -| /user/self | account.html | klant | profiel instellingen | -| /user/`:user_id` | admin_user.html | admin | gebruiker instellingen | -| /user/`:user_id`/delete | *redirect: /users* | admin | gebruiker verwijderen | -| /user/`:user_id`/reset | *redirect: /users* | admin | gebruikers wachtwoord terugzetten<sup>5</sup> | -|-----------------------------|----------------------|------------------------------|----------------------------------------------------------| -| | layout.html | | de basis layout voor alle routen | -| | static/main.css | | de basis stylesheet voor alle routen | -| | static/profile_pics | | map met alle profielfoto's inclusief default profielfoto | +### Routes + +| route | bestand | beschrikbaar als<sup>1</sup> | beschrijving | +| --------------------------- | -------------------- | ---------------------------- | ------------------------------------------------------ | +| / | index.html | gast | home-pagina | +| /about | about.html | gast | over ons | +| /register | register.html | gast | registeren van een gebruiker<sup>2</sup> | +| /login | login.html | gast | inloggen van een gebruiker<sup>2,3</sup> | +| /logout | *redirect: /* | klant | uitloggen van een gebruiker | +| /courses | course_overview.html | docent | lessen bewerken/verwijderen | +| /course/new | new_course.html | docent | nieuwe les aanmaken | +| /course/`:course_id` | course.html | klant | les informatie | +| /course/`:course_id`/update | new_course.html | docent | les instellingen | +| /course/`:course_id`/delete | *redirect: /courses* | docent | les verwijderen | +| /users | admin.html | admin | gebruiker overzicht<sup>4</sup> | +| /user/self | account.html | klant | profiel instellingen | +| /user/`:user_id` | admin_user.html | admin | gebruiker instellingen | +| /user/`:user_id`/delete | *redirect: /users* | admin | gebruiker verwijderen | +| /user/`:user_id`/reset | *redirect: /users* | admin | gebruikers wachtwoord terugzetten<sup>5</sup> | +| *not found* | index.html | | 404 page not found handler | +| **overige bestanden** | --- | --- | --- | +| | forms.py | | alle forms voor de websites | +| | models.py | | alle database structs, om alle tabellen te beschrijven | +| | routes.py | | alle routen en endpoints | +| | server.py | | de server initialatie, database etc. | +| | site.db | | hoofd-database voor users, courses etc. | +| | .gitignore | | om git te stoppen, \__pycache__ mee up te laden | +| | run.py | | om de server te runnen | +| | layout.html | | de basis layout voor alle routen | +| | static/main.css | | de basis stylesheet voor alle routen | +| | static/profile_pics | | map met alle profielfoto's | > <sup>1</sup> de hierachie is: gast (niet ingelogd), klant, docent, admin<br> -> dus kan een gast het minste bereiken, een klant ook kan alles bereiken wat gast mag etc.<br> -> probeert bijvoorbeeld de klant een admin-pagina te bereiken wordt een 403-error gegooid +> dus kan een gast het minste bereiken, een klant ook kan alles bereiken wat gast mag etc. > <sup>2</sup> als hij al ingelogd is, wordt weer naar `/` redirect