mirror of
https://github.com/almet/copanier.git
synced 2025-04-28 19:42:37 +02:00
Force people to enroll in a group.
This commit is contained in:
parent
1131c55129
commit
911f327106
3 changed files with 15 additions and 8 deletions
|
@ -189,6 +189,9 @@ async def logout(request, response):
|
||||||
|
|
||||||
@app.route("/", methods=["GET"])
|
@app.route("/", methods=["GET"])
|
||||||
async def home(request, response):
|
async def home(request, response):
|
||||||
|
if not request['user'].group_id:
|
||||||
|
response.redirect = "/groupes"
|
||||||
|
return
|
||||||
response.html("home.html", incoming=Delivery.incoming(), former=Delivery.former())
|
response.html("home.html", incoming=Delivery.incoming(), former=Delivery.former())
|
||||||
|
|
||||||
|
|
||||||
|
@ -202,8 +205,10 @@ async def join_group(request, response, id):
|
||||||
user = session.user.get(None)
|
user = session.user.get(None)
|
||||||
group = request["groups"].add_user(user.email, id)
|
group = request["groups"].add_user(user.email, id)
|
||||||
request['groups'].persist()
|
request['groups'].persist()
|
||||||
|
redirect = '/' if not request['user'].group_id else '/groupes'
|
||||||
|
|
||||||
response.message(f"Vous avez bien rejoint le groupe '{group.name}'")
|
response.message(f"Vous avez bien rejoint le groupe '{group.name}'")
|
||||||
response.redirect = "/groupes"
|
response.redirect = redirect
|
||||||
|
|
||||||
|
|
||||||
@app.route("/groupes/créer", methods=["GET", "POST"])
|
@app.route("/groupes/créer", methods=["GET", "POST"])
|
||||||
|
@ -214,6 +219,10 @@ async def create_group(request, response):
|
||||||
members = []
|
members = []
|
||||||
if form.get('members'):
|
if form.get('members'):
|
||||||
members = [m.strip() for m in form.get('members').split(',')]
|
members = [m.strip() for m in form.get('members').split(',')]
|
||||||
|
|
||||||
|
if not request['user'].group_id and request['user'].email not in members:
|
||||||
|
members.append(request['user'].email)
|
||||||
|
|
||||||
group = Group.create(
|
group = Group.create(
|
||||||
id=slugify(form.get('name')),
|
id=slugify(form.get('name')),
|
||||||
name=form.get('name'),
|
name=form.get('name'),
|
||||||
|
@ -221,7 +230,7 @@ async def create_group(request, response):
|
||||||
request["groups"].add_group(group)
|
request["groups"].add_group(group)
|
||||||
request["groups"].persist()
|
request["groups"].persist()
|
||||||
response.message(f"Le groupe {group.name} à bien été créé")
|
response.message(f"Le groupe {group.name} à bien été créé")
|
||||||
response.redirect = "/groupes"
|
response.redirect = "/"
|
||||||
response.html("edit_group.html", group=group)
|
response.html("edit_group.html", group=group)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
|
|
||||||
{% block body %}
|
{% block body %}
|
||||||
<h2>Liste des colocs / familles <a class="button" href="/groupes/créer"><i class="icon-globe"></i> Créer un nouveau groupe</a></h2>
|
{% if not request['user'].group_id %}
|
||||||
|
<p>Bienvenue ! Avant de pouvoir commander, peux-tu nous indiquer de quelle coloc / famille fais-tu partie ? </p>
|
||||||
|
{% endif %}
|
||||||
|
<p>Voici la liste des colocs / familles déjà renseignées. Tu peux aussi <a class="button" href="/groupes/créer"><i class="icon-globe"></i> créer un nouveau groupe</a></p>
|
||||||
|
|
||||||
|
|
||||||
{% for group in groups.groups.values() %}
|
{% for group in groups.groups.values() %}
|
||||||
|
|
|
@ -1,10 +1,5 @@
|
||||||
{% extends "base.html" %}
|
{% extends "base.html" %}
|
||||||
{% block body %}
|
{% block body %}
|
||||||
{% if not request['user'].group_id %}
|
|
||||||
<p class="notification warning">Vous ne faites partie d'aucun groupe (coloc / famille). Si vous faites des commandes pour plusieurs personnes, merci de rejoindre un groupe.
|
|
||||||
<a href="/groupes" class="button">Rejoindre un groupe</a>
|
|
||||||
</p>
|
|
||||||
{% endif %}
|
|
||||||
<h2>Livraisons à venir</h2>
|
<h2>Livraisons à venir</h2>
|
||||||
{% with deliveries=incoming %}
|
{% with deliveries=incoming %}
|
||||||
{% include "includes/delivery_list.html" %}
|
{% include "includes/delivery_list.html" %}
|
||||||
|
|
Loading…
Reference in a new issue