Skip to content
This repository was archived by the owner on Jun 13, 2025. It is now read-only.

Commit c86c481

Browse files
committed
fix required fields
1 parent 0558979 commit c86c481

File tree

2 files changed

+22
-6
lines changed

2 files changed

+22
-6
lines changed

codecov_auth/admin.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -686,6 +686,16 @@ def get_form(self, request, obj=None, change=False, **kwargs):
686686
field.widget.can_change_related = False
687687
field.widget.can_delete_related = False
688688

689+
# workaround for when a model field has null=True without blank=True
690+
for field_name in [
691+
"trial_start_date",
692+
"trial_end_date",
693+
"trial_status",
694+
"free",
695+
]:
696+
if form.base_fields.get(field_name):
697+
form.base_fields[field_name].required = False
698+
689699
return form
690700

691701
def has_add_permission(self, _, obj=None):
@@ -706,11 +716,11 @@ def get_deleted_objects(self, objs, request):
706716

707717
def save_related(self, request: HttpRequest, form, formsets, change: bool) -> None:
708718
if formsets:
709-
token_formset = formsets[0]
710-
token_id = token_formset.data.get("organization_tokens-0-id")
711-
token_refresh = token_formset.data.get("organization_tokens-0-REFRESH")
719+
formset = formsets[0]
720+
token_id = formset.data.get("organization_tokens-0-id")
721+
token_refresh = formset.data.get("organization_tokens-0-REFRESH")
712722
# token_id only exists if the token already exists (edit operation)
713-
if token_formset.is_valid() and token_id and token_refresh:
723+
if formset.is_valid() and token_id and token_refresh:
714724
OrgLevelTokenService.refresh_token(token_id)
715725
return super().save_related(request, form, formsets, change)
716726

codecov_auth/tests/test_admin.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -242,7 +242,10 @@ def test_org_token_refresh_request_calls_service_to_refresh_token(
242242
"organization_tokens-0-REFRESH": "on",
243243
"_continue": ["Save and continue editing"],
244244
}
245-
self.client.post(request_url, data=fake_data)
245+
res = self.client.post(request_url, data=fake_data)
246+
247+
# redirected to list page if form change is successful
248+
self.assertEqual(res.status_code, 302)
246249
mock_refresh.assert_called_with(str(org_token.id))
247250

248251
@patch(
@@ -278,7 +281,10 @@ def test_org_token_request_doesnt_call_service_to_refresh_token(self, mock_refre
278281
"organization_tokens-0-token_type": ["upload"],
279282
"_continue": ["Save and continue editing"],
280283
}
281-
self.client.post(request_url, data=fake_data)
284+
res = self.client.post(request_url, data=fake_data)
285+
286+
# redirected to list page if form change is successful
287+
self.assertEqual(res.status_code, 302)
282288
mock_refresh.assert_not_called()
283289

284290
def test_start_trial_ui_display(self):

0 commit comments

Comments
 (0)