From 35114e05142ea2e6ebe42b03e7aa54580df09153 Mon Sep 17 00:00:00 2001 From: Russell Ballestrini Date: Mon, 24 Jun 2024 09:07:57 -0400 Subject: [PATCH] fix invite page to see new email roles right away. modified: make_post_sell/models/shop.py modified: make_post_sell/views/shop.py --- make_post_sell/models/shop.py | 3 +++ make_post_sell/views/shop.py | 8 +++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/make_post_sell/models/shop.py b/make_post_sell/models/shop.py index 8a2ce9a..1503c19 100644 --- a/make_post_sell/models/shop.py +++ b/make_post_sell/models/shop.py @@ -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 diff --git a/make_post_sell/views/shop.py b/make_post_sell/views/shop.py index 492b925..60d086b 100644 --- a/make_post_sell/views/shop.py +++ b/make_post_sell/views/shop.py @@ -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)), }