support: Update remote server customer sponsorship pending status.

Adds ability to update the sponsorship pending status of a customer
attached to a remote server via the remote server support view.
This commit is contained in:
Lauryn Menard
2023-12-02 18:18:32 +01:00
committed by Tim Abbott
parent 4250e9c1c9
commit 2218e667a6
2 changed files with 18 additions and 1 deletions

View File

@@ -387,6 +387,7 @@ def remote_servers_support(
query: Optional[str] = REQ("q", default=None),
remote_server_id: Optional[int] = REQ(default=None, converter=to_non_negative_int),
discount: Optional[Decimal] = REQ(default=None, converter=to_decimal),
sponsorship_pending: Optional[bool] = REQ(default=None, json_validator=check_bool),
) -> HttpResponse:
context: Dict[str, Any] = {}
@@ -410,7 +411,12 @@ def remote_servers_support(
support_view_request = None
if discount is not None:
if sponsorship_pending is not None:
support_view_request = SupportViewRequest(
support_type=SupportType.update_sponsorship_status,
sponsorship_status=sponsorship_pending,
)
elif discount is not None:
support_view_request = SupportViewRequest(
support_type=SupportType.attach_discount,
discount=discount,

View File

@@ -47,6 +47,17 @@
<b>Max monthly messages</b>: {{ remote_server_to_max_monthly_messages[remote_server.id] }}<br />
</div>
<form method="POST" class="remote-server-form">
<b>Sponsorship pending</b>:<br />
{{ csrf_input }}
<input type="hidden" name="remote_server_id" value="{{ remote_server.id }}" />
<select name="sponsorship_pending">
<option value="true" {% if plan_data[remote_server.id].customer and plan_data[remote_server.id].customer.sponsorship_pending %}selected{% endif %}>Yes</option>
<option value="false" {% if not plan_data[remote_server.id].customer or not plan_data[remote_server.id].customer.sponsorship_pending %}selected{% endif %}>No</option>
</select>
<button type="submit" class="btn btn-default support-submit-button">Update</button>
</form>
<form method="POST" class="remote-server-form">
<b>Discount</b>:<br />
{{ csrf_input }}