wip member edit ui

This commit is contained in:
Rachid Mrad 2024-10-04 16:21:59 -04:00
parent 54e0612564
commit 9a28c8c404
No known key found for this signature in database
5 changed files with 119 additions and 72 deletions

View file

@ -0,0 +1,44 @@
<h4 class="margin-bottom-0 text-primary">Member access</h4>
{% if permissions.roles and 'organization_admin' in permissions.roles %}
<p class="margin-top-0">Admin access</p>
{% elif permissions.portfolio_roles and 'organization_admin' in permissions.portfolio_roles %}
<p class="margin-top-0">Admin access</p>
{% elif permissions.roles and 'organization_member' in permissions.roles %}
<p class="margin-top-0">Basic access</p>
{% elif permissions.portfolio_roles and 'organization_member' in permissions.portfolio_roles %}
<p class="margin-top-0">Basic access</p>
{% else %}
<p class="margin-top-0"></p>
{% endif %}
<h4 class="margin-bottom-0 text-primary">Organization domain requests</h4>
{% if permissions.roles and 'organization_admin' in permissions.roles or 'edit_requests' in permissions.additional_permissions %}
<p class="margin-top-0">View all requests plus create requests</p>
{% elif permissions.portfolio_roles and 'organization_admin' in permissions.portfolio_roles or 'edit_requests' in permissions.portfolio_additional_permissions %}
<p class="margin-top-0">View all requests plus create requests</p>
{% elif permissions.additional_permissions and 'view_all_requests' in permissions.additional_permissions %}
<p class="margin-top-0">View all requests</p>
{% elif permissions.portfolio_additional_permissions and 'view_all_requests' in permissions.portfolio_additional_permissions %}
<p class="margin-top-0">View all requests</p>
{% else %}
<p class="margin-top-0">No access</p>
{% endif %}
<h4 class="margin-bottom-0 text-primary">Organization members</h4>
{% if permissions.additional_permissions and 'edit_members' in permissions.additional_permissions %}
<p class="margin-top-0">View all members plus manage members</p>
{% elif permissions.portfolio_additional_permissions and 'edit_members' in permissions.portfolio_additional_permissions %}
<p class="margin-top-0">View all members plus manage members</p>
{% elif permissions.additional_permissions and 'view_members' in permissions.additional_permissions %}
<p class="margin-top-0">View all members</p>
{% elif permissions.portfolio_additional_permissions and 'view_members' in permissions.portfolio_additional_permissions %}
<p class="margin-top-0">View all members</p>
{% else %}
<p class="margin-top-0">No access</p>
{% endif %}

View file

@ -24,7 +24,9 @@
{% if sub_header_text %} {% if sub_header_text %}
<h4 class="register-form-review-header">{{ sub_header_text }}</h4> <h4 class="register-form-review-header">{{ sub_header_text }}</h4>
{% endif %} {% endif %}
{% if address %} {% if permissions %}
{% include "includes/member_permissions.html" with permissions=value %}
{% elif address %}
{% include "includes/organization_address.html" with organization=value %} {% include "includes/organization_address.html" with organization=value %}
{% elif contact %} {% elif contact %}
{% if list %} {% if list %}
@ -122,9 +124,9 @@
class="usa-link usa-link--icon font-sans-sm line-height-sans-5" class="usa-link usa-link--icon font-sans-sm line-height-sans-5"
> >
<svg class="usa-icon" aria-hidden="true" focusable="false" role="img" width="24"> <svg class="usa-icon" aria-hidden="true" focusable="false" role="img" width="24">
<use xlink:href="{% static 'img/sprite.svg' %}#edit"></use> <use xlink:href="{% static 'img/sprite.svg' %}#{% if manage_button %}settings{% elif view_button %}visibility{% else %}edit{% endif %}"></use>
</svg> </svg>
Edit<span class="sr-only"> {{ title }}</span> {% if manage_button %}Manage{% elif view_button %}View{% else %}Edit{% endif %}<span class="sr-only"> {{ title }}</span>
</a> </a>
</div> </div>
{% endif %} {% endif %}

View file

@ -6,24 +6,33 @@
{% load static %} {% load static %}
{% block portfolio_content %} {% block portfolio_content %}
<div class="grid-row grid-gap"> <div id="main-content">
<div class="tablet:grid-col-9" id="main-content">
{% url 'members' as url %}
<nav class="usa-breadcrumb padding-top-0 margin-bottom-3" aria-label="Portfolio member breadcrumb">
<ol class="usa-breadcrumb__list">
<li class="usa-breadcrumb__list-item">
<a href="{{ url }}" class="usa-breadcrumb__link"><span>Members</span></a>
</li>
<li class="usa-breadcrumb__list-item usa-current" aria-current="page">
<span>Manage member</span>
</li>
</ol>
</nav>
{% block messages %}
{% include "includes/form_messages.html" %}
{% endblock %}
<h1>Manage member</h1> <h1>Manage member</h1>
<p> <h2 class="margin-y-3">
{% if member %} {% if member %}
{{ member.email }} {{ member.email }}
{% elif portfolio_invitation %} {% elif portfolio_invitation %}
{{ portfolio_invitation.email }} {{ portfolio_invitation.email }}
{% endif %} {% endif %}
</p> </h2>
<p>Last active: <address>
<strong class="text-primary-dark">Last active:</strong>
{% if member and member.last_login %} {% if member and member.last_login %}
{{ member.last_login }} {{ member.last_login }}
{% elif portfolio_invitation %} {% elif portfolio_invitation %}
@ -31,9 +40,9 @@
{% else %} {% else %}
-- --
{% endif %} {% endif %}
</p> <br />
<p>Full name: <strong class="text-primary-dark">Full name:</strong>
{% if member %} {% if member %}
{% if member.first_name or member.last_name %} {% if member.first_name or member.last_name %}
{{ member.get_formatted_name }} {{ member.get_formatted_name }}
@ -43,37 +52,29 @@
{% else %} {% else %}
-- --
{% endif %} {% endif %}
</p> <br />
<p>Title or organization role: <strong class="text-primary-dark">Title or organization role:</strong>
{% if member and member.title %} {% if member and member.title %}
{{ member.title }} {{ member.title }}
{% else %} {% else %}
-- --
{% endif %} {% endif %}
</p> </address>
{% if portfolio_permission %}
{% include "includes/summary_item.html" with title='Member access and permissions' permissions='true' value=portfolio_permission edit_link=edit_url editable=has_edit_members_portfolio_permission %}
<hr> {% elif portfolio_invitation %}
{% include "includes/summary_item.html" with title='Member access and permissions' permissions='true' value=portfolio_invitation edit_link=edit_url editable=has_edit_members_portfolio_permission %}
<form class="usa-form usa-form--large" method="post" novalidate>
{% csrf_token %}
{% if form.roles %}
{% input_with_errors form.roles %}
{% input_with_errors form.additional_permissions %}
{% elif form.portfolio_roles %}
{% input_with_errors form.portfolio_roles %}
{% input_with_errors form.portfolio_additional_permissions %}
{% endif %} {% endif %}
<button
type="submit"
class="usa-button"
>Submit</button>
</form>
{% if has_any_domains_portfolio_permission %}
{% if has_edit_members_portfolio_permission %}
{% include "includes/summary_item.html" with title='Domain management' value="Asdasd" edit_link='#' editable='true' manage_button='true' %}
{% else %}
{% include "includes/summary_item.html" with title='Domain management' value="Asdasd" edit_link='#' editable='true' view_button='true' %}
{% endif %}
{% endif %}
</div>
</div> </div>
{% endblock %} {% endblock %}

View file

@ -17,8 +17,6 @@ def get_portfolio_members_json(request):
"""Given the current request, """Given the current request,
get all members that are associated with the given portfolio""" get all members that are associated with the given portfolio"""
portfolio = request.GET.get("portfolio") portfolio = request.GET.get("portfolio")
# member_ids = get_member_ids_from_request(request, portfolio)
# members = User.objects.filter(id__in=member_ids)
permissions = UserPortfolioPermission.objects.filter(portfolio=portfolio).select_related("user").values_list("pk", "user__first_name", "user__last_name", "user__email", "user__last_login", "roles") permissions = UserPortfolioPermission.objects.filter(portfolio=portfolio).select_related("user").values_list("pk", "user__first_name", "user__last_name", "user__email", "user__last_login", "roles")
invitations = PortfolioInvitation.objects.filter(portfolio=portfolio).values_list( invitations = PortfolioInvitation.objects.filter(portfolio=portfolio).values_list(

View file

@ -65,6 +65,7 @@ class PortfolioMemberView(PortfolioMemberPermissionView, View):
user = portfolio_permission.user user = portfolio_permission.user
return render(request, self.template_name, { return render(request, self.template_name, {
'edit_url': reverse('member-permissions', args=[pk]),
'portfolio_permission': portfolio_permission, 'portfolio_permission': portfolio_permission,
'member': user, 'member': user,
}) })
@ -94,7 +95,7 @@ class PortfolioMemberEditView(PortfolioMemberEditPermissionView, View):
if form.is_valid(): if form.is_valid():
form.save() form.save()
return redirect('member',pk=pk) return redirect('member', pk=pk)
return render(request, self.template_name, { return render(request, self.template_name, {
'form': form, 'form': form,
@ -112,6 +113,7 @@ class PortfolioInvitedMemberView(PortfolioInvitedMemberPermissionView, View):
# form = self.form_class(instance=portfolio_invitation) # form = self.form_class(instance=portfolio_invitation)
return render(request, self.template_name, { return render(request, self.template_name, {
'edit_url': reverse('invitedmember-permissions', args=[pk]),
'portfolio_invitation': portfolio_invitation, 'portfolio_invitation': portfolio_invitation,
}) })