Add users context data for profile view

instead of using server-side data/logic for users tab
This commit is contained in:
Lance Edgar 2023-06-16 17:04:39 -05:00
parent c1f72e0d11
commit bf1726a52b
2 changed files with 59 additions and 45 deletions

View file

@ -459,6 +459,7 @@ class PersonView(MasterView):
'employee_view_url': self.request.route_url('employees.view', uuid=employee.uuid) if employee else None,
'employee_history': employee.get_current_history() if employee else None,
'employee_history_data': self.get_context_employee_history(employee),
'users_data': self.get_context_users(person),
'dynamic_content_title': self.get_context_content_title(person),
}
@ -720,6 +721,23 @@ class PersonView(MasterView):
})
return data
def get_context_users(self, person):
data = []
users = person.users
for user in users:
data.append(self.get_context_user(user))
return data
def get_context_user(self, user):
app = self.get_rattail_app()
return {
'uuid': user.uuid,
'username': user.username,
'display_name': user.display_name,
'email_address': app.get_contact_email_address(user),
'view_url': self.request.route_url('users.view', uuid=user.uuid),
}
def ensure_customer(self, person):
"""
Return the `Customer` record for the given person, establishing it