Commit Graph

312 Commits

Author SHA1 Message Date
ncoronel 8220fb5aaf feat(notification): add PDF attachments to ticket availability emails 2026-08-26 08:54:15 -03:00
ncoronel bf02d37a33 feat(sales): add Excel exports 2026-08-25 11:37:53 -03:00
ncoronel 78ce263849 feat(notification): update email branding to use website type for welcome and password reset emails 2026-08-25 11:03:06 -03:00
ncoronel 0c8419a5eb feat(notification): implement branding for emails using WebsiteType and update templates 2026-08-25 11:03:06 -03:00
ncoronel c2921166bd feat(catalog): exclude out-of-stock items and update variant visibility logic 2026-08-25 10:49:05 -03:00
ncoronel 0f67e66b6b feat(category-visibility): add success messages for category visibility updates 2026-08-25 10:47:53 -03:00
ncoronel 725abed06a feat(category-visibility): implement category visibility controller and service with update functionality 2026-08-25 10:47:53 -03:00
ncoronel 743939fc63 feat(category-visibility): add success messages for category visibility updates 2026-08-25 10:47:53 -03:00
ncoronel eb50e65fef feat(purchase): add filtering for multiple statuses in purchase index and order by status then date 2026-08-25 10:47:53 -03:00
ncoronel 1cf13501d8 feat(category-visibility): implement category visibility controller and service with update functionality 2026-08-25 10:47:53 -03:00
ncoronel 2eeef8d392 feat(catalog): add is_enabled attribute to categories and filter items accordingly 2026-08-25 10:47:53 -03:00
ncoronel 87a4fa6288 feat(catalog): add group_order field to catalog items and update related logic 2026-08-25 10:45:12 -03:00
ncoronel 6b06028771 fix(sales): render PDFs in client timezone 2026-08-24 16:42:38 -03:00
ncoronel 0aa423e90e feat(sales): validate PDF timezone parameter 2026-08-24 16:42:38 -03:00
ncoronel e7bf2f887a Merge branch 'hotfix/change_history_time' 2026-08-24 16:13:19 -03:00
ncoronel 80a02fdc52 feat(sale): add changed_at serialization to SaleModificationResource 2026-08-24 16:12:55 -03:00
nahu 36eb41a18a feat(invitation): update seat allocation structure and enhance provisioning logic 2026-08-22 14:16:57 +00:00
ncoronel 1dd2366957 feat(catalog): expose product unavailability messages 2026-08-21 16:47:15 -03:00
ncoronel e8bcaa2026 feat(sales): handle in-review purchases as pending 2026-08-21 16:15:59 -03:00
ncoronel 5548fe8511 feat(purchase): restore in-review transfer lifecycle 2026-08-21 16:15:55 -03:00
ncoronel dc0fbe06b8 fix(cart): invalidate checkout on mutation 2026-08-21 14:06:11 -03:00
ncoronel afd69b8393 feat(checkout): track current cart purchase 2026-08-21 14:05:33 -03:00
ncoronel a34d5cba1a test(sale): require purchase item snapshots 2026-08-21 13:42:30 -03:00
ncoronel 1650176aa0 refactor(checkout): keep source cart active 2026-08-21 13:42:30 -03:00
ncoronel 79e721ae63 refactor(checkout): disable purchase item editing 2026-08-21 11:03:48 -03:00
ncoronel 3a2dc8b7e0 feat(cart): implement restoration and reservation of source cart on expired checkout modification 2026-08-21 10:10:28 -03:00
ncoronel 0510c1aa12 test(checkout): cover source cart restoration 2026-08-21 09:29:23 -03:00
ncoronel eafb02ffd5 fix(purchase): enhance handling of cart items for created and pending payment purchases 2026-08-21 08:58:51 -03:00
ncoronel cb56e33685 fix(purchase): unify expired checkout errors 2026-08-21 08:58:51 -03:00
ncoronel dd81e3b3f7 feat: enhance sale detail retrieval by including trashed cart items and update related tests 2026-08-21 08:58:18 -03:00
ncoronel 8c09ca1204 feat: update sales query to use cart quantity when purchase items are absent and enhance related tests 2026-08-21 08:48:27 -03:00
ncoronel ae6149df84 feat: enable full cart editing for Desfile tenant and update related tests 2026-08-20 15:13:23 -03:00
ncoronel 1776cfe581 Revert "feat: add session partitioned cookie support and update related tests"
This reverts commit 5ad18694e1.
2026-08-20 15:12:41 -03:00
ncoronel 5ad18694e1 feat: add session partitioned cookie support and update related tests 2026-08-20 14:47:51 -03:00
ncoronel 6775fb110c feat: simplify cart restoration logic in ReleaseCheckoutService and SourceCartService 2026-08-20 13:53:04 -03:00
ncoronel 9c46eff880 feat: add checkout editing policy to tenants and update related logic across services and resources 2026-08-20 12:38:22 -03:00
ncoronel c8ce3b0da3 feat(checkout): enforce editing policy on items 2026-08-20 10:56:19 -03:00
ncoronel d36a929f8c feat(tenant): add checkout editing policy 2026-08-20 10:56:13 -03:00
ncoronel 5c0b3503b7 feat(purchase): implement purchase limit enforcement and custom exception handling 2026-08-19 16:48:32 -03:00
ncoronel 8537d2ed0a feat(catalog): implement maximum addable quantity logic and user quota sharing across variants 2026-08-19 16:48:32 -03:00
ncoronel d97cc12af6 Merge branch 'feature/cart_editing_policy' into dev 2026-08-19 16:47:30 -03:00
ncoronel 161693509f feat(telepagos): enhance webhook handling 2026-08-19 15:26:44 -03:00
ncoronel 32d2b182c6 Merge branch 'feature/reserved_invitations' into dev 2026-08-19 14:33:38 -03:00
ncoronel 2632a80722 feat(invitation): implement InvitationPurchaseProvisioner and related migration and seeder updates 2026-08-19 14:33:08 -03:00
ncoronel a2c5e687f9 feat(logging): record reservation cleanup attempts 2026-08-19 14:17:05 -03:00
ncoronel 1dc4e29c69 refactor(reservations): unify expiration command 2026-08-19 13:58:03 -03:00
ncoronel 093e894cc3 feat(cart): expire abandoned stock reservations 2026-08-19 13:48:09 -03:00
ncoronel fdf0f3328f refactor(stock): implement expiration for stock reservations and add configuration 2026-08-19 13:43:08 -03:00
ncoronel 8d6bcdcc43 refactor(cart): invalidate payment on actual changes 2026-08-19 13:43:08 -03:00
ncoronel 3206e293eb refactor(cart): own checkout item editing 2026-08-19 13:43:08 -03:00
ncoronel aed99bd05e refactor(checkout): remove legacy purchase item reservations 2026-08-19 13:43:08 -03:00
ncoronel f1649e0e4b refactor(checkout): materialize purchase items on confirmation 2026-08-19 13:43:08 -03:00
ncoronel e6c4b40a37 feat(inventory): add traceable cart stock reservations 2026-08-19 13:43:08 -03:00
ncoronel d6574bfd0d feat(logging): implement dedicated logging for Telepagos events and update logging configuration 2026-08-19 13:37:21 -03:00
ncoronel 16bc657a31 refactor(catalog): add ticket_label to item attributes and update related logic 2026-08-19 11:23:41 -03:00
ncoronel 7cea8d3495 feat(cart): enhance item update functionality to support variant changes and improve cart editing policies 2026-08-19 10:46:19 -03:00
ncoronel 014b5bb012 feat(cart): implement cart editing policies and update related functionality 2026-08-19 10:15:37 -03:00
ncoronel a8973f6171 feat: separate tenant domain and base path, update related models, requests, and tests 2026-08-18 17:23:01 -03:00
ncoronel 8e26611097 feat: add display_cart_item_images feature to tenants and update related resources 2026-08-18 16:46:45 -03:00
ncoronel a2298c9de2 feat: add cart editing feature to tenants
- Added 'cart_editing_enabled' attribute to Tenant model with default value true.
- Updated StoreTenantRequest and UpdateTenantRequest to include validation for 'cart_editing_enabled'.
- Modified TenantResource to expose 'cart_editing_enabled' in API responses.
- Created migration to add 'cart_editing_enabled' column to tenants table, defaulting to true, and set to false for specific tenant.
- Updated DesfilePuraTendenciaSeeder to set 'cart_editing_enabled' to false for the desfile tenant.
- Enhanced Postman collection generation script to include 'cart_editing_enabled' in tenant creation and update requests.
- Added tests to verify the correct behavior of 'cart_editing_enabled' during migrations and tenant provisioning.
2026-08-18 16:32:17 -03:00
ncoronel d73b4d1daf feat: Introduce client management and integration updates
- Added client_id field to StoreTenantRequest and UpdateTenantRequest for tenant management.
- Updated TenantResource to include client_id in the response.
- Created migration to establish clients table and link tenants to clients.
- Migrated existing tenant integrations to client_integrations table.
- Grouped specific tenants under a shared client (OnTicket) in a new migration.
- Updated seeders to reflect new client structure and relationships.
- Adjusted integration configurations to require client instead of tenant.
- Added tests for client integration functionality and ensured existing tests reflect the new client structure.
2026-08-18 16:18:34 -03:00
ncoronel e6785eb5af feat(seeder): add Desfile Pura Tendencia seeder and corresponding test 2026-08-18 15:44:20 -03:00
ncoronel e619c51ac9 Refactor attachment cropping functionality to support multiple variants
- Introduced AttachmentCrop model to manage crop variants for attachments.
- Updated Attachment model to remove direct crop fields and establish relationships with AttachmentCrop.
- Modified AttachmentService to handle storing and updating multiple crop variants (desktop and mobile).
- Adjusted validation rules to accommodate new crop structure.
- Updated database migration to create attachment_crops table and migrate existing crop data.
- Refactored tests to ensure compatibility with the new cropping structure and validate multiple crop variants.
- Enhanced documentation to reflect changes in attachment handling and cropping capabilities.
2026-08-18 14:40:22 -03:00
ncoronel 9cfd49f233 feat(attachment): refactor image cropping functionality to use range objects and update related tests 2026-08-18 12:54:47 -03:00
ncoronel 58cc35fd61 feat(attachment): implement deletion of cropped attachments alongside original and update README 2026-08-18 12:20:47 -03:00
ncoronel 460ed528cf feat(attachment): add cropping functionality for images and update metadata storage 2026-08-18 12:04:39 -03:00
ncoronel 1c2f6c4127 refactor(variant-selection): update variant options retrieval to use catalog item's variants and enhance response structure 2026-08-18 10:45:40 -03:00
ncoronel 9e74e21fb5 refactor(catalog): enhance variant options retrieval by restoring canonical values from reserved cart items 2026-08-18 09:27:26 -03:00
ncoronel 7c2880646f refactor(cart): simplify CartItemResource response structure to prioritize selected variant details 2026-08-18 09:05:50 -03:00
ncoronel 4817cb28fe refactor(cart): update CartItemResource to serialize only selected variant and remove unused variant data 2026-08-18 09:02:45 -03:00
ncoronel c1bfab471c feat(bootstrap): update tenant bootstrap endpoint to accept domain and path as query parameters, enhancing tenant resolution logic 2026-08-14 15:17:24 -03:00
ncoronel de8da72354 feat(desfile): refactor entry management to use row-based configuration and expand seat options 2026-08-14 13:32:02 -03:00
ncoronel 4be94275f1 feat(migration): implement row and seat swapping logic for desfile tenant 2026-08-14 12:17:40 -03:00
ncoronel 21b0517e6c feat(desfile): implement entry management with image handling and variant synchronization 2026-08-14 11:24:17 -03:00
ncoronel 7fbdc00c64 feat(catalog): add is_enabled field to catalog item attachments 2026-08-14 10:24:11 -03:00
ncoronel a63aea0463 refactor(catalog): return compact ticket selector options 2026-08-14 10:08:58 -03:00
ncoronel b8251f3b63 fix(catalog): return only matching variant options 2026-08-14 09:57:55 -03:00
ncoronel a919e9366b refactor(catalog): rely on inventory for variant availability 2026-08-14 09:54:40 -03:00
ncoronel 11dbcb4082 test(catalog): cover partial variant option resolution 2026-08-14 09:43:43 -03:00
ncoronel 573d4fe5e6 Refactor ticket validity handling and improve tests
- Updated tests for Accommodation, Entry, Food, Merchandise, and Sale controllers to use soft deletes for variants and ensure proper inventory counts.
- Enhanced ticket generation logic to resolve validity from soft-deleted catalog sources.
- Introduced a new TicketValidityResolver service to manage ticket validity based on event dates and variant definitions.
- Removed unnecessary database assertions and improved the clarity of validity checks in tests.
- Added comprehensive tests for the new TicketValidityResolver service, ensuring correct handling of event dates and multi-select options.
- Cleaned up unused code and assertions in existing tests for better maintainability.
2026-08-14 09:00:51 -03:00
ncoronel bfdaf1c38b feat(tenant): add site title and favicon support for tenants and website types 2026-08-14 08:55:59 -03:00
ncoronel a4a4c9afbc feat(auth): enhance password reset attempt handling with new reasons and update related services 2026-08-13 16:49:19 -03:00
ncoronel 630b49cad7 feat(scanner): implement password reset attempt functionality for scanner users 2026-08-13 16:44:27 -03:00
ncoronel e33ebf0af1 feat(auth): implement admin app password reset attempt functionality 2026-08-13 12:15:14 -03:00
ncoronel a2592987f5 feat(scanner): add scanner category validation logic and related tests 2026-08-13 11:26:13 -03:00
ncoronel 97995ae728 feat(catalog): replace selectionOptions with selectorOptions to filter hidden attributes 2026-08-13 08:30:03 -03:00
ncoronel 7c7a295625 feat(catalog): add show_in_selector attribute to item attributes and update related logic 2026-08-12 16:11:53 -03:00
ncoronel 8359f0831f feat(cart): update guest token cookie settings for improved session handling in tests 2026-08-12 15:49:53 -03:00
ncoronel a12b3dd0c8 feat(purchase): refactor imports and add test for InsufficientStockException handling 2026-08-12 15:22:19 -03:00
ncoronel 8e94cf7856 feat(inventory): add InventorySubject enum and integrate into catalog item management 2026-08-12 14:42:30 -03:00
ncoronel 5b089e71b2 feat(purchase): update direct item handling to support multiple items in checkout 2026-08-12 14:29:10 -03:00
ncoronel 45d74e166f feat(tenant): add Desfile footer background asset migration
- Add footer background image for Desfile Pura Tendencia
- Upload and associate the asset with the tenant during migration
- Extend migration coverage to verify attachment creation and storage
2026-08-12 13:54:05 -03:00
ncoronel f50d3d0587 feat(tenant): provision Desfile Pura Tendencia and extend tenant customization
- Add Desfile Pura Tendencia tenant migration with catalog, variants, event, menus and assets
- Support tenant header/footer background images
- Add configurable cart visibility
- Update tenant seeding and API resources
- Add migration and bootstrap feature tests
2026-08-12 13:53:22 -03:00
ncoronel 36c1c185ee feat(layouts): add 'Single' layout option to GroupLayout and update related functionality 2026-08-12 11:09:11 -03:00
ncoronel 1d7c484510 feat(scanner): implement scanner bootstrap functionality with controller, request, resource, and service; add routes and migration for scanner domain 2026-08-12 08:40:45 -03:00
ncoronel cb98652e2f feat(ticket): add client and category fields to ticket resource and update related tests 2026-08-11 16:59:50 -03:00
ncoronel 622a3eef86 feat(scanner): enhance ticket scanning functionality with search and pagination support 2026-08-11 16:34:14 -03:00
ncoronel 498b4d9eac fix(auth): correct tenant code handling in login failure registration 2026-08-11 16:05:37 -03:00
ncoronel 7d9489169d feat(auth): implement permission-based access for scanner functionality and update related tests 2026-08-11 14:53:51 -03:00
ncoronel 3eaa3f8202 feat(scanner): add scanner authentication and context services with routes and tests 2026-08-11 14:53:51 -03:00