Subversion Repositories SmartDukaan

Rev

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

Filtering Options

Rev Age Author Path Log message Diff Changes
35626 103 d 20 h amit /trunk/ Ticket system: add unread tracking, pagination, search, and partner notifications  
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/entity/cs/TicketReadStatus.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/TicketReadStatusRepository.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/TicketReadStatusRepositoryImpl.java
/trunk/profitmandi-dao/src/main/resources/partner-ticket-update.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/managerTicket-content.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/my-partner-tickets-content.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ticket-content.vm
/trunk/profitmandi-fofo/src/main/webapp/resources/js/ticket-manager.js
/trunk/profitmandi-fofo/src/main/webapp/resources/js/ticket-renderer.js
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/managerTicket-paginated.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ticket-paginated.vm
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/model/TicketViewModel.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/CsService.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/CsServiceImpl.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/PositionRepository.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/PositionRepositoryImpl.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/TicketRepository.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/TicketRepositoryImpl.java
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/CsController.java
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/managerTicket.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/my-partner-tickets.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ticket.vm
/trunk/profitmandi-fofo/src/main/webapp/resources/js/common.js
/trunk/profitmandi-fofo/src/main/webapp/resources/js/cs.js
/trunk/profitmandi-web/src/main/java/com/spice/profitmandi/web/controller/TicketChatActivityController.java
35606 105 d 20 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
 
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/admin.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/managerTicket.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/my-partner-tickets.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ticket.vm
35602 106 d 0 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
 
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/managerTicket.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/my-partner-tickets.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ticket.vm
35594 106 d 16 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
 
/trunk/profitmandi-common/src/main/java/com/spice/profitmandi/common/model/ProfitMandiConstants.java
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/config/AppConfig.java
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/CsController.java
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/edit-ticket-modal.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/edit-ticket-partner-modal.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/managerTicket.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/my-partner-tickets.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ticket.vm
/trunk/profitmandi-fofo/src/main/webapp/resources/js/common.js
/trunk/profitmandi-fofo/src/main/webapp/resources/js/cs.js
35592 107 d 0 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
 
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/CsServiceImpl.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/TicketRepository.java
/trunk/profitmandi-dao/src/main/java/com/spice/profitmandi/dao/repository/cs/TicketRepositoryImpl.java
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/CsController.java
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/create-ticket.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/edit-ticket-modal.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/edit-ticket-partner-modal.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/managerTicket.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/my-partner-tickets.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ticket.vm
/trunk/profitmandi-fofo/src/main/webapp/resources/js/cs.js
35571 115 d 16 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
 
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/activity-modal-styles.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/activity-modal.vm
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/CsController.java
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/my-partner-tickets.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ticket.vm
35569 115 d 16 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
 
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/CsController.java
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/my-partner-tickets.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/ticket.vm
/trunk/profitmandi-fofo/src/main/webapp/resources/js/cs.js
34913 259 d 12 h ranu /trunk/profitmandi-fofo/src/main/ show all parties ticket to abm  
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/edit-ticket-partner-modal.vm
/trunk/profitmandi-fofo/src/main/webapp/WEB-INF/views/ftl/my-partner-tickets.vm
/trunk/profitmandi-fofo/src/main/java/com/spice/profitmandi/web/controller/CsController.java
/trunk/profitmandi-fofo/src/main/webapp/resources/js/cs.js