[Flask] Simple ERP for a farm.
1
# -*- mode: python; -*-
2
3
from flask import Blueprint, render_template, redirect, url_for, request, flash
4
from flask_login import login_user, login_required, logout_user
5
from werkzeug.security import generate_password_hash, check_password_hash
6
7
from ... import db
8
from ...models import User
9
from .forms import LoginForm, RegisterForm
10
11
12
auth = ("auth",__name__)
13
14
15
@auth.route("/login",methods=["GET","POST"])
16
deflogin():
17
form = ()
18
if form.():
19
req = request.
20
# print(req["remember"])
21
remember = True if req.("remember") else False
22
user = User..(username=["username"]).()
23
if user is None:
24
("User not registered.","error")
25
return (("auth.register"))
26
if (.,["password"]) is False:
27
("Wrong password.","error")
28
return (("auth.login"))
29
(,remember=)
30
(
31
f"Logged in as user {.} successfully. "
32
+f"You will {'not'ifisFalseelse''} be remembered next time!"
33
)
34
return (("main.home"))
35
return ("modules/login.html",form=)
36
37
38
@auth.route("/register",methods=["GET","POST"])
39
defregister():
40
form = ()
41
if form.():
42
req = request.
43
user_already_exists = User..(
44
name_first=["name_first"],
45
name_last=["name_last"],
46
).()
47
if user_already_exists:
48
(
49
f"User {['name_first']} {['name_last']} already exists.","error"
50
)
51
return (("auth.login"))
52
new_user = (
53
username=["username"],
54
hashed_password=(["password"],method="sha256"),
55
name_first=["name_first"],
56
name_last=["name_last"],
57
email=["email"],
58
phone_mobile=["phone_mobile"],
59
phone_alternative=["phone_alternative"],
60
)
61
db..()
62
db..()
63
(f"Created user {['name_first']} {['name_last']} successfully.")
64
return (("main.home"))
65
return ("modules/register.html",form=)
66
67
68
@auth.route("/logout")
69
@login_required
70
deflogout():
71
()
72
(f"Logged out successfully.")
73
return (("main.home"))
74