forked from aeecleclair/Hyperion
-
Notifications
You must be signed in to change notification settings - Fork 0
v5.0.0 (#35) #36
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
Merged
v5.0.0 (#35) #36
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Set REFRESH_TOKEN_EXPIRE_MINUTES to 60 days (aeecleclair#753) * raid-registering: Generate PDF from HTML template with weasyprint (aeecleclair#739) Generate PDF using Jinja templates and WeasyPrint. We use: - PyMuPDF for PDF manipulation, and conversion between image and PDF - WeasyPrint for PDF generation from HTML We remove fpdf2 which html engine was too simple for complex templates --------- Co-authored-by: Foucauld Bellanger <63885990+Foukki@users.noreply.github.com> Co-authored-by: Thonyk <timr.web@free.fr> * feat: support multiple HelloAsso configurations (aeecleclair#750) Please explain the changes you made here. - [ ] Created tests which fail without the change (if possible) - [ ] All tests passing - [ ] Extended the documentation, if necessary --------- Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: armanddidierjean <95971503+armanddidierjean@users.noreply.github.com> * Accept all schools accounts for WikijsAuthClient (aeecleclair#752) * MyECLPay: use new CalypSSO UI for text assets (aeecleclair#763) The link in the mail asserting you signed the ToS now brings to a less austere page. - [x] Bump CalypSSO to 2.2.0 - [x] Update mail link - [x] Use CalypSSO methods to build the URL --------- Co-authored-by: armanddidierjean <95971503+armanddidierjean@users.noreply.github.com> * Hyperion 4.6.0 (aeecleclair#762) * Admin endpoint to send notification to group (aeecleclair#765) * Hyperion configuration using yaml file (aeecleclair#756) Hyperion will try to load its configuration, using, by precedence: - environment variables - .env.yaml file - .env file * Allow to configure AuthClients using a dictionnary (aeecleclair#757) instead of a list of list This PR introduce a breaking change Requires aeecleclair#756 * Acquire a lock before running initialization steps (aeecleclair#768) If multiple workers are detected, and a Redis client, Hyperion will raise an error. Otherwise the server won't be able to: - run initialization steps - send messages over WebSocket reliably. The logic is extracted from the great aeecleclair#375 --------- Co-authored-by: Thonyk <timr.web@free.fr> Co-authored-by: Timothée Robert <114694873+Rotheem@users.noreply.github.com> * Refactor app state using dependencies and state (aeecleclair#769) Instead of initiating objects like redis client or db connection when the dependency is called for the first time, we create a dedicated `init_app_state` dependency to initialize all these objects. These objects are stored in the application state instead of global variables. This ensures that an object may not be reused in another Hyperion app instance, which would have its own event loop. This previously caused issues for tests Requires aeecleclair#768 --------- Co-authored-by: Thonyk <timr.web@free.fr> * Use an existing default file for raid rules (aeecleclair#771) * Removed old init.py (aeecleclair#773) Please explain the changes you made here. - [ ] Created tests which fail without the change (if possible) - [ ] All tests passing - [ ] Extended the documentation, if necessary * Notification topics refactorization using a db table (aeecleclair#680) Change completely the structure of topics in Hyperion. Instead of using an Enum difficult to edit, we have a table in db with all existing topics. This allows to ensure that users can only subscribe to *real* topics. Topics can be created either in the module definition (ex: `cinema`), or using a utils from an endpoint (creation of a new topic each time we create an advertiser in `announce`). Topics can now be restricted to a specific group. By default, all users are subscribed to each topic, they can unsubscribe manually if they want. A change in the frontend is required: - using `/notification/topics` the client will get all available topics - it could be nice to group topics by `module_root` This PR will reset existing subscriptions. All users will be subscribed to all topics, except for `advert` Fix aeecleclair#479 Requires aeecleclair#768 --------- Co-authored-by: Foucauld Bellanger <63885990+Foukki@users.noreply.github.com> Co-authored-by: armanddidierjean <95971503+armanddidierjean@users.noreply.github.com> * Optional HA api-base (aeecleclair#774) * Only hash a global password for all test users (aeecleclair#776) as hashing password is a time consuming operation. We expect a 2 min gain over our test suite. * Dotenv for Docker variables in addition to yaml config file (aeecleclair#778) Please explain the changes you made here. - [ ] Created tests which fail without the change (if possible) - [ ] All tests passing - [ ] Extended the documentation, if necessary * Feat : Add base to allow factory setup (aeecleclair#375) Co-authored-by: Warix <39554785+warix8@users.noreply.github.com> Co-authored-by: cotanoine <tan.maillard@gmail.com> * Change Dockerfile entrypoint to adapt new env_file parameter (aeecleclair#781) Please explain the changes you made here. - [ ] Created tests which fail without the change (if possible) - [ ] All tests passing - [ ] Extended the documentation, if necessary * Invert logic for unlock_key (aeecleclair#782) Please explain the changes you made here. - [ ] Created tests which fail without the change (if possible) - [ ] All tests passing - [ ] Extended the documentation, if necessary * Allow to restrict registration to invited users (#6) * Allow to restrict registration to invited users * Add user to default_group on activation * Invite users * Queued emails * Lint * Cron for send mail task * Lint * Pass args directly instead of model in cruds * Test batch invite user * Docstring * Don't send emails if the address is empty * Only remove send mails from the queue * Only send 100 email per hours * Calypsso 2.3.0 * Fix * Fixup * Migration * Lint * Format * Optional default_group_id * Comment * PROXI-54: modular association groupements (#9) * feat: use modular association groupements * typo * fix: adapt factories to new system * fix: rebase * feat: change default logo * fix: rebase * fix: correct worker count when using --worker option (#10) * School configuration (#7) * Add user to default_group on activation * Configurable email regex * Configurable email regex * Parametrize application name * Configure the email regex directly in settings * Rename centrale_lyon to this_school * Import Pattern from re * Use simple quotes for regex * base_school * Rename base_school in test * Migration * Self registration in config template * Serve color and name of the project * Remove unused css file and fix yaml template * pydantic-extra-types==2.10.5 * Entity name * Remove unused imports * Rename is_user_a_school_member * Rename get_school_account_types * Rename is_user_an_ecl_member * Documentation * Lint * Rename is_user_a_school_member * fixup * Remove unused code * Validate users * fix: rebase --------- Co-authored-by: Thonyk <timr.web@free.fr> * PROXI-61: rename payment files (#11) * feat: rename payment part * feat: rename tables * fix: rebase * feat: change routes * fix: test * Fix(state management): store state in global variable to allow the scheduler to access db (#8) * Fix user batch invitation response model * Fix: add missing param in send_emails_from_queue_task * Get db directly using SessionLocal * Store state in global Python variable * Use arq 0.26.3 * Don't keep arq job results after completion to be able to queue new jobs with the same id * Cancel planned notification with the same job_id before queuing a new one * fixup state * Access GLOBAL_STATE in tests init * Remove unexpected state param while disconnecting * Lint * Parametrize test_factory fixture * Lint * Refactor test settings * Lint * Return email placeholder in variables (#15) * Feed and feed from advert (#4) * Feed * Image endpoint and location and action fields * Lint * fix: rebase * Add a logo for groups * Feed: rename image_folder to image_directory * Advert post to feed and remove tag * Fix rebase * Lint and migration * Rebase migration --------- Co-authored-by: armanddidierjean <95971503+armanddidierjean@users.noreply.github.com> Co-authored-by: Thonyk <timr.web@free.fr> * CoreAssociation (#13) * CoreAssociation * Migration * Rebase migration * Rename migration file 40 to 41 (#16) * remove tags in update model (#17) Co-authored-by: Foucauld Bellanger <63885990+Foukki@users.noreply.github.com> * fix: circular import on windows (#20) * remove status in admin query (#21) Co-authored-by: Foucauld Bellanger <63885990+Foukki@users.noreply.github.com> * Super admin (#22) * feat: add super admin attribute * feat: remove admin bypass * fix: tests * super user in factory (#23) * super user in factory * copilot this fyot --------- Co-authored-by: Foucauld Bellanger <63885990+Foukki@users.noreply.github.com> * Add for front (#24) Co-authored-by: Foucauld Bellanger <63885990+Foukki@users.noreply.github.com> * PROXI-71: patch legal texts on request and update them (#12) * feat: patch legals text on request * feat: add end of support * fix: typo * Account deletion * Apply suggestions from code review Co-authored-by: Armand Didierjean <95971503+armanddidierjean@users.noreply.github.com> * fixes * add email_placeholder to school * fix config.yaml * Fix indentation --------- Co-authored-by: armanddidierjean <95971503+armanddidierjean@users.noreply.github.com> Co-authored-by: Foucauld Bellanger <63885990+Foukki@users.noreply.github.com> * Refactor Calendar to use associations and feed (#14) * Refactor Calendar to use associations and feed * Lint * Migration * Fix calendar factory condition * Add a daylong event in calendar factory * ical: use date for daylong events instead of datetime * Parametrize ical id * Ticket url * lint * bump revision number * remove description * add post feed image * fix : add image directory * fix : use image id * update factory * admin id from GroupType enum * post feed image in calendar * Event image * Lint * Test * fixup --------- Co-authored-by: Foucauld Bellanger <63885990+Foukki@users.noreply.github.com> * Refactor advert to use associations (#18) * Refactor Calendar to use associations and feed * Migration * Refactor advert to use associations * fixup * Migration * Rebase migration * rebase migration * CalypSSO 2.4.0 (#25) * typo (#26) Co-authored-by: Foucauld Bellanger <63885990+Foukki@users.noreply.github.com> * typo (#29) Co-authored-by: Foucauld Bellanger <63885990+Foukki@users.noreply.github.com> * fix: replace placeholder in tos (#30) * fix: replace placeholder in tos * feat: prevent event with ticket and missing ticket field * fix: typo * feat: add tests * PROXI 79: mypayment multi structure (#19) * feat: add mypayment invoices * fix: clean up * Export PDF documentation * Fix migration * fix: typo * fix: use structure as bank account holder * fix: add missing config.template * fix: extend s3 directory null check to empty string * feat: add mypayment factory * fix: rebase and correct factory * fix: typo * fix: missing function call * fix: invoice pdf data * fix: typo * fix: use utils * feat: add delay penalty * fix: tests and rebase * fix: move dependency --------- Co-authored-by: armanddidierjean <95971503+armanddidierjean@users.noreply.github.com> * Fix MyPayment Invoices (#33) * fix: apply suggestions * fix: typo * fix: remove useless schema * fix: typo * Don't raise when feed picture does not exist and create data/campaigns folder at launch (#32) * Don't raise when feed picture does not exist but return an HTTPException * Create data/campaigns folder at launch --------- Co-authored-by: Armand Didierjean <95971503+armanddidierjean@users.noreply.github.com> Co-authored-by: Foucauld Bellanger <63885990+Foukki@users.noreply.github.com> Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com> Co-authored-by: Marc-Andrieu <146140470+Marc-Andrieu@users.noreply.github.com> Co-authored-by: Foucauld Bellanger <63885990+foucblg@users.noreply.github.com> Co-authored-by: Warix <39554785+warix8@users.noreply.github.com> Co-authored-by: cotanoine <tan.maillard@gmail.com>
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Set REFRESH_TOKEN_EXPIRE_MINUTES to 60 days (Set REFRESH_TOKEN_EXPIRE_MINUTES to 60 days aeecleclair/Hyperion#753)
raid-registering: Generate PDF from HTML template with weasyprint (raid-registering: Generate PDF from HTML template with weasyprint aeecleclair/Hyperion#739)
feat: support multiple HelloAsso configurations (feat: support multiple HelloAsso configurations aeecleclair/Hyperion#750)
Accept all schools accounts for WikijsAuthClient (Accept all schools accounts for WikijsAuthClient aeecleclair/Hyperion#752)
MyECLPay: use new CalypSSO UI for text assets (MyECLPay: use new CalypSSO UI for text assets aeecleclair/Hyperion#763)
Hyperion 4.6.0 (Hyperion 4.6.0 aeecleclair/Hyperion#762)
Admin endpoint to send notification to group (Admin endpoint to send notification to group aeecleclair/Hyperion#765)
Hyperion configuration using yaml file (Hyperion configuration using yaml file aeecleclair/Hyperion#756)
Allow to configure AuthClients using a dictionnary (Allow to configure AuthClients using a dictionnary aeecleclair/Hyperion#757)
Acquire a lock before running initialization steps (Acquire a lock before running initialization steps aeecleclair/Hyperion#768)
Refactor app state using dependencies and state (Refactor app state using dependencies and state aeecleclair/Hyperion#769)
Use an existing default file for raid rules (Use an existing default file for raid rules aeecleclair/Hyperion#771)
Removed old init.py (Removed old init.py aeecleclair/Hyperion#773)
Notification topics refactorization using a db table (Notification topics refactorization using a db table aeecleclair/Hyperion#680)
Optional HA api-base (Optional HA api-base aeecleclair/Hyperion#774)
Only hash a global password for all test users (Only hash a global password for all test users aeecleclair/Hyperion#776)
Dotenv for Docker variables in addition to yaml config file (Dotenv for Docker variables in addition to yaml config file aeecleclair/Hyperion#778)
Feat : Add base to allow factory setup (Feat : Add base to allow factory setup aeecleclair/Hyperion#375)
Change Dockerfile entrypoint to adapt new env_file parameter (Change Dockerfile entrypoint to adapt new env_file parameter aeecleclair/Hyperion#781)
Invert logic for unlock_key (Invert logic for unlock_key aeecleclair/Hyperion#782)
Allow to restrict registration to invited users (Allow to restrict registration to invited users #6)
Allow to restrict registration to invited users
Add user to default_group on activation
Invite users
Queued emails
Lint
Cron for send mail task
Lint
Pass args directly instead of model in cruds
Test batch invite user
Docstring
Don't send emails if the address is empty
Only remove send mails from the queue
Only send 100 email per hours
Calypsso 2.3.0
Fix
Fixup
Migration
Lint
Format
Optional default_group_id
Comment
PROXI-54: modular association groupements (PROXI-54: modular association groupements #9)
feat: use modular association groupements
typo
fix: adapt factories to new system
fix: rebase
feat: change default logo
fix: rebase
fix: correct worker count when using --worker option (PROXI-68: Correct worker count when using --worker option #10)
School configuration (School configuration #7)
Add user to default_group on activation
Configurable email regex
Configurable email regex
Parametrize application name
Configure the email regex directly in settings
Rename centrale_lyon to this_school
Import Pattern from re
Use simple quotes for regex
base_school
Rename base_school in test
Migration
Self registration in config template
Serve color and name of the project
Remove unused css file and fix yaml template
pydantic-extra-types==2.10.5
Entity name
Remove unused imports
Rename is_user_a_school_member
Rename get_school_account_types
Rename is_user_an_ecl_member
Documentation
Lint
Rename is_user_a_school_member
fixup
Remove unused code
Validate users
fix: rebase
PROXI-61: rename payment files (PROXI-61: rename payment files #11)
feat: rename payment part
feat: rename tables
fix: rebase
feat: change routes
fix: test
Fix(state management): store state in global variable to allow the scheduler to access db (Fix(state management): store state in global variable to allow the scheduler to access db #8)
Fix user batch invitation response model
Fix: add missing param in send_emails_from_queue_task
Get db directly using SessionLocal
Store state in global Python variable
Use arq 0.26.3
Don't keep arq job results after completion
Cancel planned notification with the same job_id
fixup state
Access GLOBAL_STATE in tests init
Remove unexpected state param while disconnecting
Lint
Parametrize test_factory fixture
Lint
Refactor test settings
Lint
Return email placeholder in variables (Return email placeholder in variables #15)
Feed and feed from advert (Feed and feed from advert #4)
Feed
Image endpoint and location and action fields
Lint
fix: rebase
Add a logo for groups
Feed: rename image_folder to image_directory
Advert post to feed and remove tag
Fix rebase
Lint and migration
Rebase migration
CoreAssociation (CoreAssociation #13)
CoreAssociation
Migration
Rebase migration
Rename migration file 40 to 41 (Rename migration file 40 to 41 #16)
remove tags in update model (Advert: remove tags in AdvertUpdate model #17)
fix: circular import on windows (Fix circular import between Scheduler and dependencies that only occured on Windows #20)
remove status in admin query (Feed: remove status in admin query #21)
Super admin (Super admin #22)
feat: add super admin attribute
feat: remove admin bypass
fix: tests
super user in factory (super user in factory #23)
super user in factory
copilot this fyot
Add for front (Is super admin -> front #24)
PROXI-71: patch legal texts on request and update them (PROXI-71: patch legal texts on request and update them #12)
feat: patch legals text on request
feat: add end of support
fix: typo
Account deletion
Apply suggestions from code review
fixes
add email_placeholder to school
fix config.yaml
Fix indentation
Refactor Calendar to use associations and feed (Refactor Calendar to use associations and feed #14)
Refactor Calendar to use associations and feed
Lint
Migration
Fix calendar factory condition
Add a daylong event in calendar factory
ical: use date for daylong events
Parametrize ical id
Ticket url
lint
bump revision number
remove description
add post feed image
fix : add image directory
fix : use image id
update factory
admin id from GroupType enum
post feed image in calendar
Event image
Lint
Test
fixup
Refactor advert to use associations (Refactor advert to use associations #18)
Refactor Calendar to use associations and feed
Migration
Refactor advert to use associations
fixup
Migration
Rebase migration
rebase migration
CalypSSO 2.4.0 (CalypSSO 2.4.0 #25)
typo (typo #26)
typo (typo #29)
fix: replace placeholder in tos (fix: replace placeholder in tos #30)
fix: replace placeholder in tos
feat: prevent event with ticket and missing ticket field
fix: typo
feat: add tests
PROXI 79: mypayment multi structure (PROXI 79: mypayment multi structure #19)
feat: add mypayment invoices
fix: clean up
Export PDF documentation
Fix migration
fix: typo
fix: use structure as bank account holder
fix: add missing config.template
fix: extend s3 directory null check to empty string
feat: add mypayment factory
fix: rebase and correct factory
fix: typo
fix: missing function call
fix: invoice pdf data
fix: typo
fix: use utils
feat: add delay penalty
fix: tests and rebase
fix: move dependency
Fix MyPayment Invoices (Fix MyPayment Invoices #33)
fix: apply suggestions
fix: typo
fix: remove useless schema
fix: typo
Don't raise when feed picture does not exist and create data/campaigns folder at launch (Don't raise when feed picture does not exist and create data/campaigns folder at launch #32)
Don't raise when feed picture does not exist
Create data/campaigns folder at launch