Releases: psc-musicwebproject/website
v0.2-1 | Quality of Life Update
Description
This release introduces several improvements and bug fixes related to booking and club approval flows, as well as enhancements to how musical abilities are displayed in the admin interface. The most significant changes include correcting approval status checks, improving the display of user abilities, and refining notification and UI logic.
What's Changed
- qol: recheck function call and value checking by @toonshouin in #6
- Changed the approval status check in
BookingControllerfrom'waiting'to'waiting_approval'to ensure bookings are properly identified for approval. - Updated the club member approval logic in
ClubApprovalControllerto use thestatus === 'waiting'check for initial decisions, ensuring notifications are only sent on first-time approvals or rejections. Also, fixed a Thai translation in the rejection message. - Added a new static method
parseAbilitiesForDisplayinClubMember.phpto parse and display musical abilities in a user-friendly format, omitting the "checked" text and providing Thai labels for each instrument. - Updated the club approval admin view to use the new ability display method and improved the column header for clarity. [1] [2]
- Changed the approval status check in
Full Changelog: final-0.2...v0.2-1
This is a first-pre-release that suitable and approved to run in production without an issues (for the most part, still need optimization for some features)
v0.2 Final Exam Build
(This still be in 0.1 in the build, since it a initial build for v0.2 and will be update in the future.)
This introduces several new features and improvements across the codebase, focusing on notification handling, calendar event privacy, admin tooling, and developer experience. The most significant changes include enhanced notification logic for bookings and club registrations, improved privacy for calendar events, new endpoints for user and club photo lookup, and the addition of a full devcontainer setup for easier local development.
Notification and Booking Logic Improvements:
- Enhanced booking creation and approval logic in
BookingController: Now sends notifications to owners, attendees (internal and guest), and admins when bookings are created or approved. Also adds support for "book on behalf" for admins and robust attendee parsing from JSON. - Club approval and registration now trigger notifications to users and admins, including new notification classes for approved, denied, and submitted actions. [1] [2]
Calendar and Privacy Enhancements:
- The new
CalendarControllerAPI endpoint returns booking events, redacting owner names and attendee lists unless the viewer is an admin or authorized attendee, improving privacy for calendar data.
Admin and Utility Endpoints:
- Added a user lookup endpoint in
BookingControllerfor searching users by student ID or email, returning detailed user info if found. - Introduced
ClubPhotoControllerwith access-controlled endpoint to serve club member profile photos only to admins or the owner.
App Settings and User Type Management:
- Expanded
AppSettingControllerto support updating notices, general settings, and CRUD operations for user type mappings, with improved validation and error handling. [1] [2]
Developer Experience:
- Added a complete devcontainer setup (
.devcontainer/Dockerfile,devcontainer.json,docker-compose.yml) for local development with PHP, MariaDB, Xdebug, and recommended VS Code extensions. Also added Dependabot config for devcontainer updates. [1] [2] [3] [4]
What's Changed
- v0.2 for final exam! by @toonshouin in #4
- qol: parsing music ability to display by @toonshouin in #5
Full Changelog: midterm-term2-v0.1...final-0.2
midterm-term2-v0.1
This is progress for the website part of the project, by introduces significant foundational changes to the project, transitioning it to a Laravel-based structure and implementing modern best practices for configuration, authentication, and controller logic.
What's Changed
- Added several new Laravel controllers in
app/Http/Controllersfor handling authentication (LoginController), booking (BookingController), club registration/approval (ClubRegisterController,ClubApprovalController), and application settings (AppSettingController). These controllers implement validation, error handling, and use Laravel's authentication and model features. - Removed legacy PHP authentication scripts and direct database connection logic, including
api/auth/login/index.php,api/auth/logout/index.php, andapi/db/mysql/connect.php. This eliminates old, insecure, or redundant code now replaced by Laravel's built-in mechanisms. - The website now on MVP State (Minimum Viable Product) that can do basic booking and Club Member Registration, and other function like attendee and other will coming along the way from now on
Mostly AI Generated, Review the code before committing!
New Contributors
- @toonshouin made their first contribution in #2
Full Changelog: https://github.com/psc-musicwebproject/website/commits/midterm-term2-v0.1