Skip to content

Commit 1892c9c

Browse files
committed
Merge branch 'main' into deploy-workflow-improvements
2 parents 44ab803 + 4dcbc89 commit 1892c9c

34 files changed

+936
-448
lines changed

.pre-commit-config.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ repos:
2020
- id: django-upgrade
2121
args: [--target-version, "4.2"]
2222
- repo: https://github.com/biomejs/pre-commit
23-
rev: "v0.4.0"
23+
rev: "v0.6.1"
2424
hooks:
2525
- id: biome-check
2626
additional_dependencies: ["@biomejs/[email protected]"]

backend/api/sponsors/tests/test_sponsors_by_level.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
from unittest.mock import ANY
2+
from conferences.tests.factories import ConferenceFactory
23
from sponsors.tests.factories import SponsorFactory, SponsorLevelFactory
34
from pytest import mark
45

@@ -23,6 +24,7 @@ def _query_sponsors(client, conference_code):
2324

2425
@mark.django_db
2526
def test_query_sponsors(graphql_client):
27+
conference = ConferenceFactory()
2628
patrick = SponsorFactory(
2729
name="patrick",
2830
link="https://patrick.wtf",
@@ -33,12 +35,10 @@ def test_query_sponsors(graphql_client):
3335
name="marco", link="https://marco.pizza", image=None, order=1
3436
)
3537
ester = SponsorFactory(name="ester", link="https://ester.cool", order=0)
36-
SponsorLevelFactory(
37-
name="gold", conference__code="pycon12", sponsors=[patrick, marco]
38-
)
39-
SponsorLevelFactory(name="bronze", conference__code="pycon12", sponsors=[ester])
38+
SponsorLevelFactory(name="gold", conference=conference, sponsors=[patrick, marco])
39+
SponsorLevelFactory(name="bronze", conference=conference, sponsors=[ester])
4040

41-
resp = _query_sponsors(graphql_client, conference_code="pycon12")
41+
resp = _query_sponsors(graphql_client, conference_code=conference.code)
4242

4343
assert not resp.get("errors")
4444
assert len(resp["data"]["conference"]["sponsorsByLevel"]) == 2

backend/api/tests/schema/test_pages.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
from conferences.tests.factories import ConferenceFactory
12
from pytest import mark
23

34
from i18n.strings import LazyI18nString
@@ -31,13 +32,15 @@ def test_query_pages(
3132
rf,
3233
graphql_client,
3334
):
34-
PageFactory(published=False, conference__code="pycon11")
35-
PageFactory(published=True, conference__code="pycon10")
36-
page = PageFactory(published=True, conference__code="pycon11")
35+
conference_1 = ConferenceFactory(code="pycon11")
36+
conference_2 = ConferenceFactory(code="pycon10")
37+
PageFactory(published=False, conference=conference_1)
38+
PageFactory(published=True, conference=conference_2)
39+
page = PageFactory(published=True, conference=conference_1)
3740

3841
request = rf.get("/")
3942

40-
resp = _query_pages(graphql_client, conference_code="pycon11")
43+
resp = _query_pages(graphql_client, conference_code=conference_1.code)
4144

4245
assert not resp.get("errors")
4346

backend/api/visa/mutations/update_invitation_letter_document.py

Lines changed: 32 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,23 @@ class UpdateInvitationLetterDocumentPageInput:
1515
content: str
1616

1717

18+
@strawberry.input
19+
class UpdateInvitationLetterDocumentRunningPartInput:
20+
content: str
21+
align: str
22+
margin: str
23+
24+
25+
@strawberry.input
26+
class UpdateInvitationLetterDocumentPageLayoutInput:
27+
margin: str
28+
29+
1830
@strawberry.input
1931
class UpdateInvitationLetterDocumentStructureInput:
20-
header: str
21-
footer: str
32+
header: UpdateInvitationLetterDocumentRunningPartInput
33+
footer: UpdateInvitationLetterDocumentRunningPartInput
34+
page_layout: UpdateInvitationLetterDocumentPageLayoutInput
2235
pages: list[UpdateInvitationLetterDocumentPageInput]
2336

2437

@@ -29,12 +42,12 @@ class UpdateInvitationLetterDocumentInput:
2942

3043

3144
@strawberry.type
32-
class InvitationLetterNotEditable:
45+
class InvitationLetterDocumentNotEditable:
3346
message: str = "Invitation letter document is not editable"
3447

3548

3649
UpdateInvitationLetterDocumentResult = Annotated[
37-
InvitationLetterDocument | InvitationLetterNotEditable | NotFound,
50+
InvitationLetterDocument | InvitationLetterDocumentNotEditable | NotFound,
3851
strawberry.union(name="UpdateInvitationLetterDocumentResult"),
3952
]
4053

@@ -51,16 +64,19 @@ def update_invitation_letter_document(
5164
return NotFound()
5265

5366
if invitation_letter_document.document:
54-
return InvitationLetterNotEditable()
55-
56-
invitation_letter_document.dynamic_document = strawberry.asdict(
57-
input.dynamic_document
58-
)
59-
invitation_letter_document.save(update_fields=["dynamic_document"])
60-
61-
create_change_admin_log_entry(
62-
info.context.request.user,
63-
invitation_letter_document,
64-
change_message="Invitation letter document updated",
65-
)
67+
return InvitationLetterDocumentNotEditable()
68+
69+
new_document_data = strawberry.asdict(input.dynamic_document)
70+
if invitation_letter_document.dynamic_document != new_document_data:
71+
invitation_letter_document.dynamic_document = new_document_data
72+
invitation_letter_document.save(update_fields=["dynamic_document"])
73+
74+
config = invitation_letter_document.invitation_letter_conference_config
75+
76+
create_change_admin_log_entry(
77+
info.context.request.user,
78+
config,
79+
change_message=f"Updated the content of dynamic document {invitation_letter_document.name}",
80+
)
81+
6682
return InvitationLetterDocument.from_model(invitation_letter_document)

0 commit comments

Comments
 (0)