mirror of
https://gitlab.com/allianceauth/allianceauth.git
synced 2025-08-24 10:51:42 +02:00
Merge branch 'retract-group-application-button' into 'master'
[ADD] Retract group application button See merge request allianceauth/allianceauth!1748
This commit is contained in:
commit
bb53816360
@ -70,8 +70,8 @@
|
|||||||
{% translate "Leave" %}
|
{% translate "Leave" %}
|
||||||
</a>
|
</a>
|
||||||
{% else %}
|
{% else %}
|
||||||
<button type="button" class="btn btn-primary" disabled>
|
<button type="button" class="btn btn-secondary cursor-help me-1" data-bs-tooltip="aa-tooltip" title="{% translate 'Request pending' %}">
|
||||||
{% translate "Pending" %}
|
<i class="fa-regular fa-hourglass-half"></i>
|
||||||
</button>
|
</button>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% elif not g.request %}
|
{% elif not g.request %}
|
||||||
@ -85,9 +85,13 @@
|
|||||||
</a>
|
</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% else %}
|
{% else %}
|
||||||
<button type="button" class="btn btn-primary" disabled>
|
<button type="button" class="btn btn-secondary cursor-help me-1" data-bs-tooltip="aa-tooltip" title="{% translate 'Request pending' %}">
|
||||||
{% translate "Pending" %}
|
<i class="fa-regular fa-hourglass-half"></i>
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
|
<a href="{% url 'groupmanagement:request_retract' g.group.id %}" class="btn btn-danger">
|
||||||
|
{% translate "Retract" %}
|
||||||
|
</a>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -10,6 +10,11 @@ urlpatterns = [
|
|||||||
path(
|
path(
|
||||||
"group/request/leave/<int:group_id>/", views.group_request_leave, name="request_leave"
|
"group/request/leave/<int:group_id>/", views.group_request_leave, name="request_leave"
|
||||||
),
|
),
|
||||||
|
path(
|
||||||
|
"group/request/retract/<int:group_id>/",
|
||||||
|
views.group_request_retract,
|
||||||
|
name="request_retract"
|
||||||
|
),
|
||||||
# group management
|
# group management
|
||||||
path("groupmanagement/requests/", views.group_management, name="management"),
|
path("groupmanagement/requests/", views.group_management, name="management"),
|
||||||
path("groupmanagement/membership/", views.group_membership, name="membership"),
|
path("groupmanagement/membership/", views.group_membership, name="membership"),
|
||||||
|
@ -420,3 +420,42 @@ def group_request_leave(request, group_id):
|
|||||||
grouprequest.notify_leaders()
|
grouprequest.notify_leaders()
|
||||||
messages.success(request, _('Applied to leave group %(group)s.') % {"group": group})
|
messages.success(request, _('Applied to leave group %(group)s.') % {"group": group})
|
||||||
return redirect("groupmanagement:groups")
|
return redirect("groupmanagement:groups")
|
||||||
|
|
||||||
|
@login_required
|
||||||
|
def group_request_retract(request, group_id):
|
||||||
|
logger.debug(
|
||||||
|
f"group_request_retract called by user {request.user} for group id {group_id}"
|
||||||
|
)
|
||||||
|
group = get_object_or_404(Group, id=group_id)
|
||||||
|
|
||||||
|
if not GroupManager.check_internal_group(group):
|
||||||
|
logger.warning(
|
||||||
|
f"User {request.user} attempted to retract group request for "
|
||||||
|
f"group id {group_id} but it is not a joinable group"
|
||||||
|
)
|
||||||
|
messages.warning(
|
||||||
|
request,
|
||||||
|
_("You cannot retract that request"),
|
||||||
|
)
|
||||||
|
return redirect('groupmanagement:groups')
|
||||||
|
|
||||||
|
try:
|
||||||
|
group_request = GroupRequest.objects.get(
|
||||||
|
user=request.user, group=group, leave_request=False
|
||||||
|
)
|
||||||
|
group_request.delete()
|
||||||
|
|
||||||
|
logger.info(f"Deleted group request for user {request.user} to group {group}")
|
||||||
|
messages.success(
|
||||||
|
request, _('Retracted application to group %(group)s.') % {"group": group}
|
||||||
|
)
|
||||||
|
except GroupRequest.DoesNotExist:
|
||||||
|
logger.info(
|
||||||
|
f"{request.user} attempted to retract group request for "
|
||||||
|
f"group id {group_id} but has no open request"
|
||||||
|
)
|
||||||
|
messages.warning(
|
||||||
|
request, _("You have no open request for that group.")
|
||||||
|
)
|
||||||
|
|
||||||
|
return redirect("groupmanagement:groups")
|
||||||
|
Loading…
x
Reference in New Issue
Block a user