mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-23 19:20:47 +02:00
minimal delete views for member and invitedmember
This commit is contained in:
parent
982e8d08f7
commit
5f6e8968c7
3 changed files with 28 additions and 16 deletions
|
@ -2197,21 +2197,21 @@ class MembersTable extends LoadTableBase {
|
|||
*/
|
||||
deleteMember(member_delete_url, pageToDisplay) {
|
||||
// Use to debug uswds modal issues
|
||||
//console.log('deleteDomainRequest')
|
||||
console.log(member_delete_url)
|
||||
|
||||
// Get csrf token
|
||||
const csrfToken = getCsrfToken();
|
||||
// Create FormData object and append the CSRF token
|
||||
const formData = `csrfmiddlewaretoken=${encodeURIComponent(csrfToken)}&delete-member=`;
|
||||
const formData = `csrfmiddlewaretoken=${encodeURIComponent(csrfToken)}`;
|
||||
|
||||
fetch(`${member_delete_url}`, {
|
||||
method: 'DELETE',
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'Content-Type': 'application/x-www-form-urlencoded',
|
||||
'X-CSRFToken': csrfToken,
|
||||
},
|
||||
credentials: 'same-origin'
|
||||
// body: formData
|
||||
body: formData
|
||||
|
||||
})
|
||||
.then(response => {
|
||||
if (!response.ok) {
|
||||
|
@ -2325,10 +2325,8 @@ class MembersTable extends LoadTableBase {
|
|||
}
|
||||
|
||||
data.members.forEach(member => {
|
||||
const member_source = member.source === "permissions" ? "member" : "invitedmember";
|
||||
const member_id = member_source + member.id;
|
||||
// member_id is actually the permission_id
|
||||
const submit_delete_url = `/${member_source}/${member.id}`
|
||||
const member_id = member.source + member.id;
|
||||
const submit_delete_url = member.action_url + "/delete";
|
||||
const member_name = member.name;
|
||||
const member_display = member.member_display;
|
||||
const member_permissions = member.permissions;
|
||||
|
@ -2429,7 +2427,7 @@ class MembersTable extends LoadTableBase {
|
|||
// Pass member_delete_url in to delete
|
||||
// TODO: Use the PK to call a separate function that triggers a new backend AJAX call
|
||||
// to delete their UserDomainRoles only for this portfolio + remove their UserPortfolioPermissions
|
||||
alert('modal submit')
|
||||
//alert('modal submit')
|
||||
|
||||
});
|
||||
});
|
||||
|
|
|
@ -91,6 +91,11 @@ urlpatterns = [
|
|||
views.PortfolioMemberView.as_view(),
|
||||
name="member",
|
||||
),
|
||||
path(
|
||||
"member/<int:pk>/delete",
|
||||
views.PortfolioMemberDeleteView.as_view(),
|
||||
name="member-delete",
|
||||
),
|
||||
path(
|
||||
"member/<int:pk>/permissions",
|
||||
views.PortfolioMemberEditView.as_view(),
|
||||
|
@ -101,6 +106,11 @@ urlpatterns = [
|
|||
views.PortfolioInvitedMemberView.as_view(),
|
||||
name="invitedmember",
|
||||
),
|
||||
path(
|
||||
"invitedmember/<int:pk>/delete",
|
||||
views.PortfolioInvitedMemberDeleteView.as_view(),
|
||||
name="invitedmember-delete",
|
||||
),
|
||||
path(
|
||||
"invitedmember/<int:pk>/permissions",
|
||||
views.PortfolioInvitedMemberEditView.as_view(),
|
||||
|
|
|
@ -15,6 +15,7 @@ from registrar.models import Portfolio, User
|
|||
from registrar.models.portfolio_invitation import PortfolioInvitation
|
||||
from registrar.models.user_portfolio_permission import UserPortfolioPermission
|
||||
from registrar.models.utility.portfolio_helper import UserPortfolioPermissionChoices, UserPortfolioRoleChoices
|
||||
from registrar.views.utility.mixins import PortfolioInvitedMemberPermission, PortfolioMemberPermission
|
||||
from registrar.views.utility.permission_views import (
|
||||
PortfolioDomainRequestsPermissionView,
|
||||
PortfolioDomainsPermissionView,
|
||||
|
@ -99,8 +100,9 @@ class PortfolioMemberView(PortfolioMemberPermissionView, View):
|
|||
},
|
||||
)
|
||||
|
||||
@csrf_exempt
|
||||
def delete(self, request, pk):
|
||||
class PortfolioMemberDeleteView(PortfolioMemberPermission, View):
|
||||
|
||||
def post(self, request, pk):
|
||||
"""
|
||||
Find and delete the portfolio member using the provided primary key (pk).
|
||||
Redirect to a success page after deletion (or any other appropriate page).
|
||||
|
@ -188,10 +190,12 @@ class PortfolioInvitedMemberView(PortfolioInvitedMemberPermissionView, View):
|
|||
},
|
||||
)
|
||||
|
||||
@csrf_exempt
|
||||
def delete(self, request, pk):
|
||||
|
||||
class PortfolioInvitedMemberDeleteView(PortfolioInvitedMemberPermission, View):
|
||||
|
||||
def post(self, request, pk):
|
||||
"""
|
||||
Find and delete the portfolio invitation using the provided primary key (pk).
|
||||
Find and delete the portfolio invited member using the provided primary key (pk).
|
||||
Redirect to a success page after deletion (or any other appropriate page).
|
||||
"""
|
||||
portfolio_invitation = get_object_or_404(PortfolioInvitation, pk=pk)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue