Subversion Repositories SmartDukaan

Rev

Show changed files | Details | Compare with Previous | Blame | RSS feed

Filtering Options

Rev Age Author Path Log message Diff
35626 103 d 21 h amit /trunk/ Ticket system: add unread tracking, pagination, search, and partner notifications  
35606 105 d 21 h amit /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ Fix JavaScript errors: $ is not defined and $retailers is not defined

- ticket.vm, managerTicket.vm, my-partner-tickets.vm: Wrap all jQuery code in $(document).ready() to ensure jQuery is loaded before executing
- admin.vm: Check each variable independently (retailers, warehouses, authId) before assigning to prevent undefined variable errors
 
35602 106 d 1 h amit /trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ Fix modal backdrop not being removed on close in ticket pages

- Add cleanup handlers for #theModal and #theModal2 on hidden.bs.modal event
- Add global fallback to remove backdrop when all modals are closed
- Add proper modal attributes (tabindex, role, data-backdrop, data-keyboard)
- Prevents screen from becoming unusable after closing assign ticket dialog

Affected pages: My Ticket, My Partner Tickets, Manager Ticket
 
35594 106 d 17 h amit /trunk/ Ticket system: CRM access, category filtering, UI improvements

CRM Team Access:
- CRM users can see all tickets in myticket and managerTicket views
- CRM users can assign/edit tickets from all views
- Only CRM can mark tickets as resolved

Category Filtering (hidden from CRM):
- Sales category (ID 4) and Sales Escalation subcategory (ID 84)
- RBM category (ID 18) and RBM Escalation subcategory (ID 83)

UI Improvements:
- Partner name link opens partnerPerformance in new tab (reusable via .partner-link class)
- Edit modal shows ticket ID and partner name in title
- Resolve confirm shows ticket ID and partner name
- Fixed duplicate class attributes in buttons
- Modal shows after content loads (removed data-toggle conflicts)

Version bump: JS 313, CSS 34
 
35592 107 d 1 h amit /trunk/ Ticket system improvements: N+1 query fixes, authorization checks, CRM access, UI fixes

- Fix N+1 queries in getSubCategoryIdAndCategoryMap and getAuthUserAndEsclationByPartnerId
- Add authorization checks to ticket endpoints (getActivities, closeTicket, createActivity, editTicket, editPartnerTicket, createLastActivity)
- CRM users can now see all tickets to handle partner communications
- Only CRM team members can mark tickets as resolved
- Fix duplicate HTML IDs in ticket templates (changed to classes)
- Fix getSubCategoryId() bug in edit-ticket modals
- Add message field to create-ticket form
- Update cs.js to use class selectors
 
35571 115 d 17 h amit /trunk/profitmandi-fofo/src/main/ Quick wins and medium effort improvements for ticket system

Quick Wins:
- Add input validation to updatePartnerPosition (check positionId, regionId, fofoIds exist)
- Keep SortOrder import (from javax.swing, needed for pagination)

Medium Effort:
- Extract common modal CSS and HTML to shared partials (activity-modal-styles.vm, activity-modal.vm)
- Add null safety checks for maps in getTicket, getMyPartyTicketTicket, getManagerTickets
- Fix N+1 query in getMyPartyTicketTicket: batch fetch tickets using selectAllOpenTickets(fofoIds) instead of loop
 
35569 115 d 17 h amit /trunk/profitmandi-fofo/src/main/ CRM-only external communication + performance & security improvements

Feature:
- Restrict external communication (COMMUNICATION_OUT) to CRM team only (category_id=9)
- Non-CRM users can only send internal communications
- Hide internal/external checkbox for non-CRM users in UI

Performance:
- Eliminate duplicate AuthUser fetch in getTicket() - reuse variable
- Eliminate duplicate activity query (selectAll called twice)
- Fetch only needed AuthUsers instead of all users for activity display
- Same optimizations applied to getMyPartyTicketTicket()

Security:
- Add escapeHtml() function to prevent XSS in activity messages
- Applied to all user-generated content display

UX:
- Add loading spinner while fetching activities

Code Quality:
- Add ActivityType constants for consistent usage
- Add toBool() helper for cleaner boolean checks
- Refactored loadActivities() for better readability
 
34913 259 d 13 h ranu /trunk/profitmandi-fofo/src/main/ show all parties ticket to abm