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