Private
Project *AFC ai genetic for bench sales APPFORSOLARArrow LogisticsArtificial Intillegence » Algo Trade Automation » Algo Trade Manual » Bulk mail Automation with web interface » Bulk Mail Service For Bench Sales » Code Generation Tool » Cold Emailing Automation (AI-Driven) » Invoice Inventory Automation » invoice to inventory for evergreen » Test Automation » What's app Bulk messaging with AI agents » Zelle Payment for evergreenAsk RideBowls&blendsCharan Technologies _ DevelopmentEver green Farms USA (static website)Evergreen farms (pos)Evergreen React ApplicationFinwareHackthonLucky BraidsMy Produce StandNexPumpNexZen Printer AgentNoxa_JewelleryOffice Requirments » Daily Tasks For Madhu » Employees requirements » Recruitment senior mern stack developer » Red MIne Speed » Senior Mern Stack DeveloperOPT - (USA) UpdatesQA TestersRare FruitsRegal SolarRegal Solar DMRegal Solar Energy_ ReactReliance Home Builders_ reactRemit2AnyRestaurant POSRSVPRushi GardensRV_ EngraverSoloar AppSri Farms _ DMSri_FarmsSuthra OneSuthra QNova LabsTech FourceTechnical RequirementsTechy_DevelopmentTechy_POS Travel Matex
Tracker *Bug Feature Support Testing
Subject *
Description Edit While commit 39f27b74 unblocked administrators from approving product quotes older than 30 days, customer-facing acceptance in acceptQuote still invokes canAcceptQuote(quote), which rejects quotes created >30 days ago (now > createdAt + 30 days). When resendQuoteEmail or sendQuoteEmail is called on an older product quotation, it does not renew acceptanceTokenExpires or acceptanceToken (unlike Landscaping Quotes in QuotationController.js). As a result, resending an old quote sends an expired link that the customer cannot accept. 2. Acceptance Criteria AC 2.1 (Token Renewal on Resend): Given an existing product quotation where acceptanceTokenExpires <= Date.now() or is missing, When resendQuoteEmail or sendAcceptanceLink is called, Then the backend MUST generate a fresh acceptanceToken = uuidv4() and set acceptanceTokenExpires = new Date(Date.now() + 30 * 24 * 60 * 60 * 1000) before sending the email/SMS. AC 2.2 (Customer Acceptance Grace Period): Given an older product quotation that was explicitly resent by an admin, When the customer clicks the new link within the newly granted 30-day window, Then canAcceptQuote MUST evaluate validity based on acceptanceTokenExpires rather than strictly createdAt + 30 days. AC 2.3 (Action History Logging): Every token renewal on resend MUST append a "token_renewed" or "resent" entry into actionHistory with timestamp and user ID.
Status New
Priority *Low Normal High Immediate
Assignee Ajit ABindu DandaChandra SekharDivya InapakurthiKarthik PalakondaPavan Kumar MuralaRavi Shankar PalleRavindra AtthotaSai MahanandaSai Priyatham SadineniSowjanya atthotaSravani RangannapalemTeja Sriram SanganiYalavarthi Thriveni
Target version Sprint (10/05/2026- 10/09/2026) sprint (10/12/2026 - 10/31/2026) Backlog
Parent task
Start date
Due date
Estimated time Hours
% Done0 % 10 % 20 % 30 % 40 % 50 % 60 % 70 % 80 % 90 % 100 %
Tested Date *
Raised by Tester Mahananda Sai Manikanta Sravani Phanindra
Page/ Module (POS) *--- Please select ---E2E Dashboard POS Customers Requests Quotes Invoices Jobs Users Partners Labor Field Staff Events Warehouse Featured Items Help Guide Services – Categories Services – Services Products – Categories Products – Sub Categories Products – Products Assets – Categories Assets – Assets Assets – Usage Sales Sales Return Purchases – Vendors purchases - vendor invoices Admin – View Orders Admin – Offers Admin – PreOrders Admin – Coupons Admin - Delivery Configuration Maintenance – Products Maintenance – Assets Subscriptions – service Plans Subscriptions – Subscribers Subscriptions – Buy Plan Subscriptions – Share Plans Login Product Subscription E commerce Product Qoutations post job flow Expenses