Merge branch 'wip' of github.com:indatwood/copanier into wip

This commit is contained in:
Alexis MÃtaireau 2020-06-07 15:40:29 +02:00
commit 7b099eaeba
2 changed files with 63 additions and 61 deletions

View file

@ -7,15 +7,16 @@ LOG_ROOT = Path("/tmp")
SECRET = "sikretfordevonly"
JWT_ALGORITHM = "HS256"
SEND_EMAILS = False
SMTP_HOST = "mail.gandi.net"
SMTP_HOST = ""
SMTP_PASSWORD = ""
SMTP_LOGIN = ""
FROM_EMAIL = "copanier@epinamap.org"
FROM_EMAIL = ""
STAFF = []
LOCALE = "fr_FR.UTF-8"
#LOCALE = "fr_FR.UTF-8"
LOCALE = "en_US.UTF-8"
SITE_NAME = "Copanier"
SITE_DESCRIPTION = "Les paniers piano d'Épinamap"
EMAIL_SIGNATURE = "Les gentils copains d'Épinamap"
SITE_DESCRIPTION = "Shared orders"
EMAIL_SIGNATURE = "The kind people behind copanier"
def init():

View file

@ -109,6 +109,63 @@ async def delete_producer(request, response, delivery_id, producer_id):
)
@app.route(
"/produits/{delivery_id}/producteurs/{producer_id}/valider-prix", methods=["GET"]
)
async def validate_producer_prices(request, response, delivery_id, producer_id):
delivery = Delivery.load(delivery_id)
producer = delivery.producers.get(producer_id)
for product in delivery.products:
if product.producer == producer_id:
product.last_update = datetime.now()
delivery.persist()
response.message(
f"Les prix ont été marqués comme OK pour « { producer.name } », merci !"
)
response.redirect = f"/produits/{delivery_id}/producteurs/{producer_id}"
@app.route("/produits/{delivery_id}/valider-prix", methods=["GET"])
async def mark_all_prices_as_ok(request, response, delivery_id):
delivery = Delivery.load(delivery_id)
for product in delivery.products:
product.last_update = datetime.now()
delivery.persist()
response.message(f"Les prix ont été marqués comme OK pour toute la distribution !")
response.redirect = f"/produits/{delivery_id}"
@app.route(
"/produits/{delivery_id}/producteurs/{producer_id}/produits/créer",
methods=["GET", "POST"],
)
async def create_product(request, response, delivery_id, producer_id):
delivery = Delivery.load(delivery_id)
product = Product(name="", ref="", price=0)
producer = delivery.producers.get(producer_id)
if request.method == "POST":
product.producer = producer_id
form = request.form
product.update_from_form(form)
product.ref = slugify(f"{producer_id}-{product.name}-{product.unit}")
delivery.products.append(product)
delivery.persist()
response.message("Le produit à bien été créé")
response.redirect = f"/produits/{delivery_id}/producteurs/{producer_id}"
return
response.html(
"products/edit_product.html",
{"delivery": delivery, "producer": producer, "product": product},
)
@app.route(
"/produits/{delivery_id}/producteurs/{producer_id}/produits/{product_ref}",
methods=["GET", "POST"],
@ -144,36 +201,6 @@ async def edit_product(request, response, delivery_id, producer_id, product_ref)
)
@app.route(
"/produits/{delivery_id}/producteurs/{producer_id}/valider-prix", methods=["GET"]
)
async def validate_producer_prices(request, response, delivery_id, producer_id):
delivery = Delivery.load(delivery_id)
producer = delivery.producers.get(producer_id)
for product in delivery.products:
if product.producer == producer_id:
product.last_update = datetime.now()
delivery.persist()
response.message(
f"Les prix ont été marqués comme OK pour « { producer.name } », merci !"
)
response.redirect = f"/produits/{delivery_id}/producteurs/{producer_id}"
@app.route("/produits/{delivery_id}/valider-prix", methods=["GET"])
async def mark_all_prices_as_ok(request, response, delivery_id):
delivery = Delivery.load(delivery_id)
for product in delivery.products:
product.last_update = datetime.now()
delivery.persist()
response.message(f"Les prix ont été marqués comme OK pour toute la distribution !")
response.redirect = f"/produits/{delivery_id}"
@app.route(
"/produits/{delivery_id}/producteurs/{producer_id}/produits/{product_ref}/supprimer",
methods=["GET"],
@ -186,32 +213,6 @@ async def delete_product(request, response, delivery_id, producer_id, product_re
response.redirect = f"/produits/{delivery_id}/producteurs/{producer_id}"
@app.route(
"/produits/{delivery_id}/producteurs/{producer_id}/produits/créer",
methods=["GET", "POST"],
)
async def create_product(request, response, delivery_id, producer_id):
delivery = Delivery.load(delivery_id)
product = Product(name="", ref="", price=0)
producer = delivery.producers.get(producer_id)
if request.method == "POST":
product.producer = producer_id
form = request.form
product.update_from_form(form)
product.ref = slugify(f"{producer_id}-{product.name}-{product.unit}")
delivery.products.append(product)
delivery.persist()
response.message("Le produit à bien été créé")
response.redirect = f"/produits/{delivery_id}/producteurs/{producer_id}"
return
response.html(
"products/edit_product.html",
{"delivery": delivery, "producer": producer, "product": product},
)
@app.route(
"/produits/{delivery_id}/producteurs/{producer_id}/frais-de-livraison",