Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Endpoint for sending email #883

Merged
merged 7 commits into from
Sep 26, 2024
Merged

Endpoint for sending email #883

merged 7 commits into from
Sep 26, 2024

Conversation

EmilJohns1
Copy link
Contributor

Created endpoint for sending mail, created tests for the endpoint to verify that it works

@EmilJohns1 EmilJohns1 linked an issue Sep 25, 2024 that may be closed by this pull request
EmilJohns1 and others added 2 commits September 25, 2024 14:28
…tion

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Copy link
Contributor

@MadsNyl MadsNyl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bra førsteutkast! Har noe småpirk, så bare sjekk gjennom det

Comment on lines 11 to 13
# Temporary fake api key, will be changed to a proper api key in prod
API_KEY = "your_api_key"

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Denne må settes inn i .env filen, og så må du hente inn via dotenv.

Comment on lines 35 to 37
url = _get_email_url()
headers = {"EMAIL_API_KEY": "your_api_key"}
response = client.post(url, data, format="json", **headers)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I headers: api-nøkkelen må hentes fra .env fil

Comment on lines 34 to 37
return Response(
{"detail": "Invalid API key"},
status=status.HTTP_403_FORBIDDEN,
)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Vi skriver meldingen til "detail" på norsk

Comment on lines 46 to 51
return Response(
{
"detail": "user_id, event_id, paragraphs and title are required fields."
},
status=status.HTTP_400_BAD_REQUEST,
)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Skriv melding på norsk

Comment on lines 56 to 59
return Response(
{"detail": "User not found."},
status=status.HTTP_404_NOT_FOUND,
)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Skriv melding på norsk

Comment on lines 71 to 74
return Response(
{"detail": "Email sent successfully."},
status=status.HTTP_200_OK,
)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Skriv melding på norsk.

Bruk også 201 status kode siden det er en POST request

Comment on lines 77 to 80
return Response(
{"detail": "An internal error has occurred."},
status=status.HTTP_500_INTERNAL_SERVER_ERROR,
)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Skriv melding på norsk

Comment on lines 45 to 51
if not user_id or not notification_type or not paragraphs or not title:
return Response(
{
"detail": "user_id, event_id, paragraphs and title are required fields."
},
status=status.HTTP_400_BAD_REQUEST,
)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Bra at du sjekker. Du burde også sjekke at paragraphs faktisk er en liste, og deretter om det er noen lengde på den.

Det samme gjelder med users hvis du skal gjøre det om til en liste

Skriv også melding på norsk

Comment on lines 20 to 24
Body should contain:
- 'user_id': The ID of the user to notify.
- 'notification_type': KONTRES or BLITZED.
- 'title': The title of the notification.
- 'paragraphs': A list of paragraphs to include in the notification.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hva med endre til "users" som er en liste med user_id? Notify klassen tar med imot en liste med brukere, så er nice hvis de kan sende en liste hvis man vil sende til flere.

Comment on lines 61 to 65
email = Notify(
[user],
f"{title}",
UserNotificationSettingType(notification_type),
).add_paragraph(f"Hei, {user.first_name}!")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hvis du endrer til å sende en liste, kan du bare droppe å skrive navnet til brukeren i tittelen, og bare skrive "Hei!".

Evt er det bedre å droppe det første avsnittet, og anta at de som sender mail faktisk inkluderer dette selv. Er mest naturlig. Dermed styrer vi ingenting av det som blir sendt

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ja tenkte på det, brukte Registration som insp. og der sende dem bare til 1 om gangen, men har endra det til å være en liste med bruker id'a no

Copy link
Contributor

@MadsNyl MadsNyl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ser bra ut nå!

Litt pirk igjen. For å få bedre test coverage, så burde du lage en test som sjekker med å sende en epost til flere brukere, og du burde lage tester som sjekker hva som skjer hvis du sender inn tomme lister med user_id og paragraphs.

Copy link
Contributor

@MadsNyl MadsNyl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gucci!

@EmilJohns1 EmilJohns1 merged commit 527d0c2 into dev Sep 26, 2024
8 checks passed
@EmilJohns1 EmilJohns1 deleted the feat(email)/send-email-endpoint branch September 26, 2024 14:01
MadsNyl added a commit that referenced this pull request Oct 11, 2024
* Feat(kontres)/add image to bookable item (#785)

* added optional image to bookable item model

* added update method in serializer to handle new images

* linting

* remove update method for images

* Feat(kontres)/add approved by (#786)

* added approved by field

* endpoint will now set approved by

* serializer will return full user object in approved_by_detail

* created test for approved by

* migration

* remove unnecessary code

* removed write-only field in approved-by context

* Create minutes for Codex (#787)

* init

* format

* Feat(minute)/viewset (#788)

* added richer reponse on post and put

* added to admin panel

* added filter for minute

* Feat(kontres)/add notification (#790)

* created methods for sending notification to admin and user

* endpoint will now send notification if needed

* add migrations for new notification types

* Memberships with fines activated (#791)

init

* Feat(user)/user bio (#758)

* Created model, serializer and view for user-bio

* Created user bio model and made migrations

* Created user bio serializer + viewsets + added new endpoint

* Tested create method + added bio serializer to user serializer

* Format

* Created update method and started testing

* Debugging test failures in user retrieve

* fixed model error

* Created user_bio_factory + started testing put method

* Created fixture for UserBio

* Created custom excpetion for duplicate user bio

* Added permissions and inherited from BaseModel

* Modularized serializer for bio

* Use correct serializers in viewset + added destroy method

* Finished testing bio viewset integration + format

* Changed environent file to .env to avoid pushing up keys

* Fix: Flipped assertion statement in test, since user bio should not be deleted

* skiped buggy test from kontres

* added mark to pytest.skip

* Moved keys to .env file and reverted docker variables

* Skip buggy kontres test

* format

* Added str method to user_bio

* Removed unused imports

* format

* Changed user relation to a OneToOne-field (same affect as ForeignKey(unique=True) + removed check for duplicate bio in serializer

* Migrations + changed assertion status code in duplicate bio test (could try catch in serializer to produce 400 status code)

* format

* format

* Changed limit for description 50 -> 500 + migrations

* Migrate

* added id to serializer

* merged leaf nodes in migrations

* format

---------

Co-authored-by: Ester2109 <[email protected]>
Co-authored-by: Mads Nylund <[email protected]>
Co-authored-by: Mads Nylund <[email protected]>
Co-authored-by: Tam Le <[email protected]>

* Update CHANGELOG.md

* added filter for allowed photos for user (#794)

added filter for allowed photos

* Upped payment time when coming from waiting list (#796)

* fixed paymenttime saved to db (#798)

* fixed bug (#800)

* Disallow users to unregister when payment is done (#802)

added 400 status code for deleting paid registration

* update changelog

* Added serializer for category in  event (#804)

added serializer for category in  event

* Permission middelware (#806)

* added a check for existing user and id on request

* format

* Permission refactor of QR Codes (#807)

* added permissions to qr code and refactored viewset

* format

* removed unused imports

* Permissions for payment orders (#808)

* added read permissions

* added permissions for payment order and tests

* format

* chore(iac): updated docs and force https (#810)

chore: updated docs and force https

* feat(iac): add terraform guardrails so index don't nuke our infra (#811)

feat: add guardrails so index don't fup

* Automatic registration for new users with Feide (#809)

* started on feide registration endpoint

* made endpoint for creating user with Feide

* added test for parse group

* finished

* format

* removes three years if in digtrans

* changelog update

* Feide env variables Terraform (#814)

added feid env variables

* added delete endpoint for file (#815)

* added delete endpoint for file

* Trigger Build

* changed workflow to checkout v4

* changed from docker-compose to docker compose

* Update CHANGELOG.md

* format

* format

* fixed permission for committee leaders for group forms

* updated csv for forms (#818)

* Permission for group forms and news (#820)

added permission for committees to create news, and all leaders of groups to create group forms

* Update reservation_seralizer.py (#822)

* Update reservation_seralizer.py

* Fixed linting

* Put a band aid on it *smack*

* Removed blank line..

* ????

* Group ownership of Minutes (#847)

* Refactor MinuteFactory to include group field, and added validation for checkin group access

* added validation for POST request

* Changed endpoint response (#846)

* Changed endpoint response

* Fixed test

* Update test_reservation_integration.py

---------

Co-authored-by: Mads Nylund <[email protected]>

* updated changelog.md

* finished events now appear in the correct order (newest first) (#849)

* finished events now appear in the correct order (newest first)

* added description of change in changelog

* fixed formatting

* updated method to use Django ORM instead of using python methods

* Implement Swagger (#858)

* started on removing choiceenums

* refactored cheatsheet and membership

* refacotered strike enum

* refactored Groups enum

* removed AppModel choiceenum

* added swagger

* Swagger GitHub Action (#860)

* added github action for checking if Swagger is up

* new action

* try another

* tried implementing check for container

* added curl to docker image

* added check if swagger is up

* test if swagger does not get status code 200

* added ?format=openai to trigger error

* checking that the request is working

* updated CHANGELOG.md

* Add new app (#862)

* added script for adding new app to Lepton

* added command to Makefile

* Upgrade all dependencies to latest (#857)

* Add endpoint to create new group as admin

Signed-off-by: Tmpecho <[email protected]>

* Upgrade all dependencies to latest

Signed-off-by: Tmpecho <[email protected]>

* remove bad exception handling in serializers/group.py

* fix inheritance ordering in views/group.py

* refactored group integration test, added non_public_groups to enums

* fix linting

* reformat files

* remove unused import in groups/views/group.py

* Upgrade dependency "black"

Signed-off-by: Tmpecho <[email protected]>

* Upgrade dependency "sentry-sdk"

Signed-off-by: Tmpecho <[email protected]>

* Upgrade dependency "azure-storage-blob" and remove outdated comment in requirements.txt

Signed-off-by: Tmpecho <[email protected]>

* Upgrade all non-django dependencies

Signed-off-by: Tmpecho <[email protected]>

* Upgrade dependency "Django"

Signed-off-by: Tmpecho <[email protected]>

* Upgrade dependencies and remove ignored version from docker-compose.yml

Signed-off-by: Tmpecho <[email protected]>

---------

Signed-off-by: Tmpecho <[email protected]>
Co-authored-by: 1Cezzo <[email protected]>

* Allow HS members to create a new group (#864)

* Add endpoint to create new group as admin

Signed-off-by: Tmpecho <[email protected]>

* remove bad exception handling in serializers/group.py

* fix inheritance ordering in views/group.py

* refactored group integration test, added non_public_groups to enums

* fix linting

* reformat files

* remove unused import in groups/views/group.py

---------

Signed-off-by: Tmpecho <[email protected]>
Co-authored-by: 1Cezzo <[email protected]>

* App Script Fix (#875)

added serializers dir to script

* Event registration payment orders (#876)

* added list of payment orders for registrations

* update CHANGELOG.md

* chore(deps): update python-dotenv requirement from ~=0.21.1 to ~=1.0.1 (#871)

Updates the requirements on [python-dotenv](https://github.com/theskumar/python-dotenv) to permit the latest version.
- [Release notes](https://github.com/theskumar/python-dotenv/releases)
- [Changelog](https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md)
- [Commits](theskumar/python-dotenv@v0.21.1...v1.0.1)

---
updated-dependencies:
- dependency-name: python-dotenv
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mads Nylund <[email protected]>

* Chore(deps): Bump sentry-sdk from 1.14.0 to 2.8.0 (#866)

Bumps [sentry-sdk](https://github.com/getsentry/sentry-python) from 1.14.0 to 2.8.0.
- [Release notes](https://github.com/getsentry/sentry-python/releases)
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md)
- [Commits](getsentry/sentry-python@1.14.0...2.8.0)

---
updated-dependencies:
- dependency-name: sentry-sdk
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mads Nylund <[email protected]>

* Codex Course (#852)

* added models for course and registration, and viewset for course and tests

* added validation for date checking for courses

* added viewset for registration for codex courses

* removed unused fields from course model

* removed unused imports

* added API error mixins as mother clas

* fixed error mixin

* refactored to event model

* fixed wrong import

* fixed tests

* format

* skipped broken tests, must be refactored

* updated CHANGELOG.md

* format

* fixed filtering of groups and made tests

* fixed list endpoint for cheatsheets

* trigger

* format

* Endpoint for sending email (#883)

* fix formatting

* created tests for send_email endpoint

* Fix code scanning alert no. 45: Information exposure through an exception

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* fixed errors in send_email and in tests

* lint

* added tests for empty lists and for sending mail to multiple users

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* chore(deps): bump black from 24.3.0 to 24.8.0 (#869)

Bumps [black](https://github.com/psf/black) from 24.3.0 to 24.8.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](psf/black@24.3.0...24.8.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mads Nylund <[email protected]>

* chore(deps): Bump azure-storage-blob from 12.13.1 to 12.23.1 (#885)

Bumps [azure-storage-blob](https://github.com/Azure/azure-sdk-for-python) from 12.13.1 to 12.23.1.
- [Release notes](https://github.com/Azure/azure-sdk-for-python/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-python/blob/main/doc/esrp_release.md)
- [Commits](Azure/azure-sdk-for-python@azure-storage-blob_12.13.1...azure-storage-blob_12.23.1)

---
updated-dependencies:
- dependency-name: azure-storage-blob
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mads Nylund <[email protected]>

* Added admin.py to root in new app, and added app dir to tests (#892)

added admin.py to root in new app, and added app dir to tests

* Description to forms (#894)

added description to form

* Bug report system (#865)

* Created New App named Index

* created model

* Refactor: Change admin file

* admin

* added serializer and viewsets for list

* fixed typing error for permission_classes

* Started on the create serializer for feedback

* Made tests for create feedback

* Implemented update serializer for feedback

* made destroy method and testing create method as member

* Made destroy method and tests

* Fixed linting

* Fixed linting

---------

Co-authored-by: Tam Le <[email protected]>
Co-authored-by: Josefine Arntsen <[email protected]>
Co-authored-by: Mads Nylund <[email protected]>
Co-authored-by: Mads Nylund <[email protected]>

* Renaming of index app to feedback (#901)

renamed index app to feedback

* chore(deps): bump django from 4.2.16 to 5.1.1 (#889)

Bumps [django](https://github.com/django/django) from 4.2.16 to 5.1.1.
- [Commits](django/django@4.2.16...5.1.1)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mads Nylund <[email protected]>

* Event registration race condition (#902)

* started on fixing race condition

* fixed race condition

* upadted CHANGELOG.md

---------

Signed-off-by: Tmpecho <[email protected]>
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Erik Skjellevik <[email protected]>
Co-authored-by: haruixu <[email protected]>
Co-authored-by: Ester2109 <[email protected]>
Co-authored-by: Tam Le <[email protected]>
Co-authored-by: martcl <[email protected]>
Co-authored-by: Frikk Balder <[email protected]>
Co-authored-by: Emil Johnsen <[email protected]>
Co-authored-by: Johannes Aamot-Skeidsvoll <[email protected]>
Co-authored-by: 1Cezzo <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Josefine Arntsen <[email protected]>
Co-authored-by: Josefine Arntsen <[email protected]>
MadsNyl added a commit that referenced this pull request Nov 4, 2024
* Feat(kontres)/add image to bookable item (#785)

* added optional image to bookable item model

* added update method in serializer to handle new images

* linting

* remove update method for images

* Feat(kontres)/add approved by (#786)

* added approved by field

* endpoint will now set approved by

* serializer will return full user object in approved_by_detail

* created test for approved by

* migration

* remove unnecessary code

* removed write-only field in approved-by context

* Create minutes for Codex (#787)

* init

* format

* Feat(minute)/viewset (#788)

* added richer reponse on post and put

* added to admin panel

* added filter for minute

* Feat(kontres)/add notification (#790)

* created methods for sending notification to admin and user

* endpoint will now send notification if needed

* add migrations for new notification types

* Memberships with fines activated (#791)

init

* Feat(user)/user bio (#758)

* Created model, serializer and view for user-bio

* Created user bio model and made migrations

* Created user bio serializer + viewsets + added new endpoint

* Tested create method + added bio serializer to user serializer

* Format

* Created update method and started testing

* Debugging test failures in user retrieve

* fixed model error

* Created user_bio_factory + started testing put method

* Created fixture for UserBio

* Created custom excpetion for duplicate user bio

* Added permissions and inherited from BaseModel

* Modularized serializer for bio

* Use correct serializers in viewset + added destroy method

* Finished testing bio viewset integration + format

* Changed environent file to .env to avoid pushing up keys

* Fix: Flipped assertion statement in test, since user bio should not be deleted

* skiped buggy test from kontres

* added mark to pytest.skip

* Moved keys to .env file and reverted docker variables

* Skip buggy kontres test

* format

* Added str method to user_bio

* Removed unused imports

* format

* Changed user relation to a OneToOne-field (same affect as ForeignKey(unique=True) + removed check for duplicate bio in serializer

* Migrations + changed assertion status code in duplicate bio test (could try catch in serializer to produce 400 status code)

* format

* format

* Changed limit for description 50 -> 500 + migrations

* Migrate

* added id to serializer

* merged leaf nodes in migrations

* format

---------

Co-authored-by: Ester2109 <[email protected]>
Co-authored-by: Mads Nylund <[email protected]>
Co-authored-by: Mads Nylund <[email protected]>
Co-authored-by: Tam Le <[email protected]>

* Update CHANGELOG.md

* added filter for allowed photos for user (#794)

added filter for allowed photos

* Upped payment time when coming from waiting list (#796)

* fixed paymenttime saved to db (#798)

* fixed bug (#800)

* Disallow users to unregister when payment is done (#802)

added 400 status code for deleting paid registration

* update changelog

* Added serializer for category in  event (#804)

added serializer for category in  event

* Permission middelware (#806)

* added a check for existing user and id on request

* format

* Permission refactor of QR Codes (#807)

* added permissions to qr code and refactored viewset

* format

* removed unused imports

* Permissions for payment orders (#808)

* added read permissions

* added permissions for payment order and tests

* format

* chore(iac): updated docs and force https (#810)

chore: updated docs and force https

* feat(iac): add terraform guardrails so index don't nuke our infra (#811)

feat: add guardrails so index don't fup

* Automatic registration for new users with Feide (#809)

* started on feide registration endpoint

* made endpoint for creating user with Feide

* added test for parse group

* finished

* format

* removes three years if in digtrans

* changelog update

* Feide env variables Terraform (#814)

added feid env variables

* added delete endpoint for file (#815)

* added delete endpoint for file

* Trigger Build

* changed workflow to checkout v4

* changed from docker-compose to docker compose

* Update CHANGELOG.md

* format

* format

* fixed permission for committee leaders for group forms

* updated csv for forms (#818)

* Permission for group forms and news (#820)

added permission for committees to create news, and all leaders of groups to create group forms

* Update reservation_seralizer.py (#822)

* Update reservation_seralizer.py

* Fixed linting

* Put a band aid on it *smack*

* Removed blank line..

* ????

* Group ownership of Minutes (#847)

* Refactor MinuteFactory to include group field, and added validation for checkin group access

* added validation for POST request

* Changed endpoint response (#846)

* Changed endpoint response

* Fixed test

* Update test_reservation_integration.py

---------

Co-authored-by: Mads Nylund <[email protected]>

* updated changelog.md

* finished events now appear in the correct order (newest first) (#849)

* finished events now appear in the correct order (newest first)

* added description of change in changelog

* fixed formatting

* updated method to use Django ORM instead of using python methods

* Implement Swagger (#858)

* started on removing choiceenums

* refactored cheatsheet and membership

* refacotered strike enum

* refactored Groups enum

* removed AppModel choiceenum

* added swagger

* Swagger GitHub Action (#860)

* added github action for checking if Swagger is up

* new action

* try another

* tried implementing check for container

* added curl to docker image

* added check if swagger is up

* test if swagger does not get status code 200

* added ?format=openai to trigger error

* checking that the request is working

* updated CHANGELOG.md

* Add new app (#862)

* added script for adding new app to Lepton

* added command to Makefile

* Upgrade all dependencies to latest (#857)

* Add endpoint to create new group as admin

Signed-off-by: Tmpecho <[email protected]>

* Upgrade all dependencies to latest

Signed-off-by: Tmpecho <[email protected]>

* remove bad exception handling in serializers/group.py

* fix inheritance ordering in views/group.py

* refactored group integration test, added non_public_groups to enums

* fix linting

* reformat files

* remove unused import in groups/views/group.py

* Upgrade dependency "black"

Signed-off-by: Tmpecho <[email protected]>

* Upgrade dependency "sentry-sdk"

Signed-off-by: Tmpecho <[email protected]>

* Upgrade dependency "azure-storage-blob" and remove outdated comment in requirements.txt

Signed-off-by: Tmpecho <[email protected]>

* Upgrade all non-django dependencies

Signed-off-by: Tmpecho <[email protected]>

* Upgrade dependency "Django"

Signed-off-by: Tmpecho <[email protected]>

* Upgrade dependencies and remove ignored version from docker-compose.yml

Signed-off-by: Tmpecho <[email protected]>

---------

Signed-off-by: Tmpecho <[email protected]>
Co-authored-by: 1Cezzo <[email protected]>

* Allow HS members to create a new group (#864)

* Add endpoint to create new group as admin

Signed-off-by: Tmpecho <[email protected]>

* remove bad exception handling in serializers/group.py

* fix inheritance ordering in views/group.py

* refactored group integration test, added non_public_groups to enums

* fix linting

* reformat files

* remove unused import in groups/views/group.py

---------

Signed-off-by: Tmpecho <[email protected]>
Co-authored-by: 1Cezzo <[email protected]>

* App Script Fix (#875)

added serializers dir to script

* Event registration payment orders (#876)

* added list of payment orders for registrations

* update CHANGELOG.md

* chore(deps): update python-dotenv requirement from ~=0.21.1 to ~=1.0.1 (#871)

Updates the requirements on [python-dotenv](https://github.com/theskumar/python-dotenv) to permit the latest version.
- [Release notes](https://github.com/theskumar/python-dotenv/releases)
- [Changelog](https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md)
- [Commits](theskumar/python-dotenv@v0.21.1...v1.0.1)

---
updated-dependencies:
- dependency-name: python-dotenv
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mads Nylund <[email protected]>

* Chore(deps): Bump sentry-sdk from 1.14.0 to 2.8.0 (#866)

Bumps [sentry-sdk](https://github.com/getsentry/sentry-python) from 1.14.0 to 2.8.0.
- [Release notes](https://github.com/getsentry/sentry-python/releases)
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md)
- [Commits](getsentry/sentry-python@1.14.0...2.8.0)

---
updated-dependencies:
- dependency-name: sentry-sdk
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mads Nylund <[email protected]>

* Codex Course (#852)

* added models for course and registration, and viewset for course and tests

* added validation for date checking for courses

* added viewset for registration for codex courses

* removed unused fields from course model

* removed unused imports

* added API error mixins as mother clas

* fixed error mixin

* refactored to event model

* fixed wrong import

* fixed tests

* format

* skipped broken tests, must be refactored

* updated CHANGELOG.md

* format

* fixed filtering of groups and made tests

* fixed list endpoint for cheatsheets

* trigger

* format

* Endpoint for sending email (#883)

* fix formatting

* created tests for send_email endpoint

* Fix code scanning alert no. 45: Information exposure through an exception

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* fixed errors in send_email and in tests

* lint

* added tests for empty lists and for sending mail to multiple users

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* chore(deps): bump black from 24.3.0 to 24.8.0 (#869)

Bumps [black](https://github.com/psf/black) from 24.3.0 to 24.8.0.
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](psf/black@24.3.0...24.8.0)

---
updated-dependencies:
- dependency-name: black
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mads Nylund <[email protected]>

* chore(deps): Bump azure-storage-blob from 12.13.1 to 12.23.1 (#885)

Bumps [azure-storage-blob](https://github.com/Azure/azure-sdk-for-python) from 12.13.1 to 12.23.1.
- [Release notes](https://github.com/Azure/azure-sdk-for-python/releases)
- [Changelog](https://github.com/Azure/azure-sdk-for-python/blob/main/doc/esrp_release.md)
- [Commits](Azure/azure-sdk-for-python@azure-storage-blob_12.13.1...azure-storage-blob_12.23.1)

---
updated-dependencies:
- dependency-name: azure-storage-blob
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mads Nylund <[email protected]>

* Added admin.py to root in new app, and added app dir to tests (#892)

added admin.py to root in new app, and added app dir to tests

* Description to forms (#894)

added description to form

* Bug report system (#865)

* Created New App named Index

* created model

* Refactor: Change admin file

* admin

* added serializer and viewsets for list

* fixed typing error for permission_classes

* Started on the create serializer for feedback

* Made tests for create feedback

* Implemented update serializer for feedback

* made destroy method and testing create method as member

* Made destroy method and tests

* Fixed linting

* Fixed linting

---------

Co-authored-by: Tam Le <[email protected]>
Co-authored-by: Josefine Arntsen <[email protected]>
Co-authored-by: Mads Nylund <[email protected]>
Co-authored-by: Mads Nylund <[email protected]>

* Renaming of index app to feedback (#901)

renamed index app to feedback

* chore(deps): bump django from 4.2.16 to 5.1.1 (#889)

Bumps [django](https://github.com/django/django) from 4.2.16 to 5.1.1.
- [Commits](django/django@4.2.16...5.1.1)

---
updated-dependencies:
- dependency-name: django
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mads Nylund <[email protected]>

* Event registration race condition (#902)

* started on fixing race condition

* fixed race condition

* upadted CHANGELOG.md

* Feat(registration)/filter participants (#895)

* filtering by year and study

* linting fix

* added allergy filter

* added filter by allergies and participants with allergy count to event.

* Lint fix

* Add new fixture for admin user

* Start testing filtering + finished allergy filter test

* Added integration test for participants filtering

* lint fix

* removed unused import

* Update changelog

* merge with dev and more filters

* Fixed has_paid filter and added filter combination test

* ran linting script

---------

Co-authored-by: Harry Linrui XU <[email protected]>
Co-authored-by: Mads Nylund <[email protected]>

* Feat(registration)/filter participants (#915)

* filtering by year and study

* linting fix

* added allergy filter

* added filter by allergies and participants with allergy count to event.

* Lint fix

* Add new fixture for admin user

* Start testing filtering + finished allergy filter test

* Added integration test for participants filtering

* lint fix

* removed unused import

* Update changelog

* merge with dev and more filters

* Fixed has_paid filter and added filter combination test

* ran linting script

* fixed has allergy count bug, and has_paid bug

* post linting

---------

Co-authored-by: Harry Linrui XU <[email protected]>
Co-authored-by: Mads Nylund <[email protected]>

* Fix issue where full error is exposed to external users (#914)

Signed-off-by: Tmpecho <[email protected]>

* chore(deps): Bump sentry-sdk from 2.8.0 to 2.14.0 (#893)

Bumps [sentry-sdk](https://github.com/getsentry/sentry-python) from 2.8.0 to 2.14.0.
- [Release notes](https://github.com/getsentry/sentry-python/releases)
- [Changelog](https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md)
- [Commits](getsentry/sentry-python@2.8.0...2.14.0)

---
updated-dependencies:
- dependency-name: sentry-sdk
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mads Nylund <[email protected]>

* Refactor/minor code cleanup (#884)

* Prefix unused variable names with underscore, remove redundant parenthesis, split long lines into several, rename functions to snake_case,

Signed-off-by: Tmpecho <[email protected]>

* Update CHANGELOG.md

Signed-off-by: Tmpecho <[email protected]>

* Make constant uppercase

Signed-off-by: Tmpecho <[email protected]>

* Empty-Commit

---------

Signed-off-by: Tmpecho <[email protected]>
Co-authored-by: Mads Nylund <[email protected]>

* Add default detail to custom exceptions (#916)

Signed-off-by: Tmpecho <[email protected]>
Co-authored-by: Mads Nylund <[email protected]>

* chore(deps): bump uvicorn from 0.30.6 to 0.32.0 (#908)

Bumps [uvicorn](https://github.com/encode/uvicorn) from 0.30.6 to 0.32.0.
- [Release notes](https://github.com/encode/uvicorn/releases)
- [Changelog](https://github.com/encode/uvicorn/blob/master/CHANGELOG.md)
- [Commits](encode/uvicorn@0.30.6...0.32.0)

---
updated-dependencies:
- dependency-name: uvicorn
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mads Nylund <[email protected]>

* chore(deps): Bump pre-commit from 3.8.0 to 4.0.1 (#899)

Bumps [pre-commit](https://github.com/pre-commit/pre-commit) from 3.8.0 to 4.0.1.
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](pre-commit/pre-commit@v3.8.0...v4.0.1)

---
updated-dependencies:
- dependency-name: pre-commit
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mads Nylund <[email protected]>

* Feat(registration)/filter participants (#917)


Fixed bugs introduced in an earlier pr

---------

Co-authored-by: Harry Linrui XU <[email protected]>
Co-authored-by: Mads Nylund <[email protected]>
Co-authored-by: haruixu <[email protected]>

---------

Signed-off-by: Tmpecho <[email protected]>
Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Erik Skjellevik <[email protected]>
Co-authored-by: haruixu <[email protected]>
Co-authored-by: Ester2109 <[email protected]>
Co-authored-by: Tam Le <[email protected]>
Co-authored-by: martcl <[email protected]>
Co-authored-by: Frikk Balder <[email protected]>
Co-authored-by: Emil Johnsen <[email protected]>
Co-authored-by: Johannes Aamot-Skeidsvoll <[email protected]>
Co-authored-by: 1Cezzo <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: Josefine Arntsen <[email protected]>
Co-authored-by: Josefine Arntsen <[email protected]>
Co-authored-by: Yazan Zarka <[email protected]>
Co-authored-by: Harry Linrui XU <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Email endpoint
2 participants