Project

General

Profile

Edit Copy Actions

Bug #8318

open

Service Subscription

Added by Divya Inapakurthi 20 days ago. Updated 20 days ago.

Status:
Resolved
Priority:
Normal
Target version:
-
Start date:
03/19/2026
Due date:
03/19/2026 (20 days late)
% Done:

100%

Estimated time:
Tested Date:
03/19/2026
Raised by Tester:
Page/ Module (POS):
Product Subscription

Add

Subtasks


Add

Related issues

Updated by Divya Inapakurthi 20 days ago

1. Fixed Evergreen Service update validation to allow same field name with different units across product options (`length` in `ft` and `sqft`) by deduping on `name+unit` instead of hard-failing.
2. Fixed backend `jobspagin` date filtering by changing schedule range logic to string-date overlap (`YYYY-MM-DD`) so March calendar filters return correct jobs.
3. Fixed frontend `Jobspartner.tsx` to send `from`, `to`, `timezone`, `search`, and `status` params to `jobspagin` instead of relying on incorrect local-only filtering.
4. Fixed frontend card click behavior so selecting a card triggers proper API fetch with the related status filter (Total/New/In Progress/Completed).
5. Fixed frontend time-filter behavior so calendar/time selections refetch jobs from backend and stay in sync with the displayed table data.
6. Fixed backend card counts to use the active filtered query (calendar/search/subscription/isDeleted) instead of always showing all-time totals.
7. Updated card period label to show filtered context (`Filtered range`) when date filters are applied, instead of always `All time`.
8. Fixed `Schema hasn't been registered for model "NurseryUser"` in `jobspagin` by explicitly populating `actionHistory.performedBy` with tenant-scoped `UserModel`.

Updated by Divya Inapakurthi 20 days ago

  • % Done changed from 0 to 100

Backend: Implemented automatic 7% tax calculation for finalPrice and customerPayable in subscription email logic.
Backend: Fixed a variable typo (customerPa to customerPayable) in the off-store payment webhook handler to ensure correct pricing display.
Backend: Updated the Subscription Service to include the endDate field in plan variant data for better synchronization.
Backend: Corrected syntax errors and cleaned up the templateData object mapping in the invoice payment handlers.
Frontend (Emails): Added billing frequency visibility to both On-Store and Off-Store subscription confirmation email templates.
Frontend (Emails): Integrated frequency data into the email trigger logic to ensure customers see their billing cycle (Monthly/Weekly/etc.).

Updated by Divya Inapakurthi 20 days ago

  • Status changed from New to Resolved

Subscription Plan UI: Added the "Plan End Date" to service cards and standardized the date formatting to US standard (Mar 19, 2027).
Action Hidden for Subscriptions: Conditionally hid 'Resend' and 'Payment' actions for subscription-based Quotes and Invoices, replacing them with em-dash placeholders for a cleaner interface.
Service Plans Consistency: Added the "Monthly" frequency button to the second plan card to ensure a uniform UI layout across different service levels.
Jobs Date Persistence: Fixed the date range logic on the main Jobs page so clicking status cards no longer resets the active calendar filter.
Data Field Sync: Standardized the createdAt field across the frontend to match the backend API, resolving the issue where jobs were not appearing in the table.
Backend Filter Integration: Updated the Jobspartner component to use server-side filtering for time ranges and job statuses, ensuring accurate data retrieval from the API.
'Auto' Status Support: Implemented a new 'Auto' status Chip with dedicated purple styling and added it to the status filtering logic across the platform.
Partner Data Extraction: Refined the API response handling to correctly extract job lists for both Admin and Partner roles, preventing "Empty Table" errors.
Interactive Analytics Cards: Enabled clickable status cards in the Jobspartner overview that dynamically update the job table without breaking existing date filters.
Performance Optimization: Improved Jobspartner performance by moving local filtering logic to the server level, allowing the component to handle 1000+ records efficiently.

Edit Copy Actions

Also available in: Atom PDF