fix invite page to see new email roles right away.

modified:   make_post_sell/models/shop.py
	modified:   make_post_sell/views/shop.py
This commit is contained in:
Russell Ballestrini 2024-06-24 09:07:57 -04:00
parent f1f1465fd5
commit 35114e0514
2 changed files with 8 additions and 3 deletions

View file

@ -142,10 +142,13 @@ class Shop(RBase, Base):
def add_user_to_shop(self, user, role_id=0):
"""Add User object to UserShop."""
role_id = int(role_id)
us = self.get_usershop_for_user(user)
if us is None:
us = UserShop(user=user, shop=self, role_id=role_id)
self.shop_users.append(us)
else:
us.role_id = role_id
return us
@property

View file

@ -292,6 +292,7 @@ def shop_edit_privacy_policy(request):
@view_config(route_name="shop_users", renderer="shop_users.j2")
@shop_owner_required()
def shop_users(request):
shop = request.shop
email_to_invite = request.params.get("email-to-invite")
role_id = request.params.get("role-id")
@ -312,6 +313,7 @@ def shop_users(request):
# commit changes to database.
request.dbsession.add(user)
request.dbsession.flush()
# send an invitation email to the new user.
send_invite_email(request, email_to_invite, request.user, request.shop)
@ -321,9 +323,9 @@ def shop_users(request):
return {
"email": email_to_invite or "",
"owners": request.shop.owners,
"editors": request.shop.editors,
"members": request.shop.members,
"owners": list(set(shop.owners)),
"editors": list(set(shop.editors)),
"members": list(set(shop.members)),
}