Nenda kwenye maudhui
KAMOUniverse

Mabadiliko

Nini kipya.

Kila kuboresha jukwaa, kama ni meli.

  1. · kamo-shared-library

    Enterprise validation in POSService

    - createRetailOrder: null check on request - createLineItem: null check, quantity > 0, unitPrice >= 0 validation

  2. · kamo-internal

    Enterprise-grade POS UI and API

    - posApi: POSApiError class, fetchWithError, structured error handling - useToast + POSToast: centralized snackbar for success/error feedback - posUtils: formatCurrency, formatDate, toCSV, downloadBlob - PipelineOrdersTab: search, sort, pagination, CSV export, skeleton loading, toast notifications, empty state CTA, confirm empty order - PipelineApplicationsTab: search, CSV export, skeleton, toast - PipelineProductsTab: search, delete confirmation dialog, skeleton, toast - PipelineInventoryTab: toast notifications - PipelineDashboardTab: skeleton loading, refresh, export summary, toast - PipelinePOSDomainConfigTab: toast on save

  3. · kamo-internal

    POS domain config, retail order line items, dynamic pipeline tabs

    - Add getPOSConfig/updatePOSConfig to posApi, posDomainLabels utility - Extend createOrder with lineItems, add getOrder, RetailOrderLineItem type - PipelineOrdersTab: product-based order creation, line item selector, order detail drawer - Pipeline: dynamic tabs from POS config, domain-specific titles (Orders, Applications) - PipelineDashboardTab: metrics filtered by enabled domains - Settings POS: Domains tab with enable/disable toggles for RETAIL, MORTGAGE, RENTAL, VENDOR, SUBSCRIPTION - Empty state when no domains enabled

  4. · SecurityService

    Add POS controllers for retail products, inventory, and orders

    - RetailProductController: CRUD for products - RetailInventoryController: inventory stock management - POSController: orders and mortgage applications

  5. · kamo-shared-library

    Add POS/inventory domain entities, DTOs, repos and services

    - Add POS beans (retail, rental, mortgage, subscription, vendor) - Add RetailProduct, RetailInventoryStock, RetailOrder, MortgageApp DTOs - Add RetailProductService, RetailInventoryStockService, POSService - Add repositories for retail, mortgage, rental, subscription, vendor - Update EmbRecordState

  6. · kamo-shared-library

    Populate vendorProduct relationship when fetching leads

    Update getLeadsByOrganizationId() to populate the @Transient vendorProduct field for each lead that has a vendorProductId. This ensures the vendor and product data is available for the LeadDTO mapping.

  7. · kamo-internal

    Improve lead grid with base30 IDs, raven icon, All Markets tab, and Market column

    - Add toBase30() function for consistent ID representation across LeadManager and DocManager - Fix Grim status icon in tabs to use raven.ico (matching the datagrid status renderer) - Add "All Markets" tab as first option in market tabs to show leads from all markets - Add Market column between Street and Status columns in datagrid - Update currentMarket logic to support tab 0 as "All Markets" (no filter)

  8. · kamo-shared-library

    Add status, subStatus, source, and dateCreated fields

    - Added status, subStatus, source, dateCreated, and isActive fields to Lead entity - Updated LeadDTO with frontend-compatible fields (status, subStatus, source, createdAt, primaryContact, vendor, product, agentAssigned) - Added PrimaryContactDTO for frontend compatibility - Added @PrePersist hook to set default values for new leads This fixes the leads page data grid showing empty columns for contact, status, sub-status, vendor, product, source, agent, created, and assigned fields.

  9. · kamo-shared-library

    Refactor Lead assignment from String to Employee reference

    - Changed Lead.assignedUser (String) to Lead.assignedEmployee (Employee) - Added LeadAssignment entity to track assignment history - Added LeadAssignmentType enum with various assignment types - Added LeadCredit entity for tracking employee lead credits - Added LeadAllotment entity for managing employee lead allotments - Added corresponding repositories and services - Updated LeadService to record assignments automatically - Updated LeadDTO and request DTOs for the new structure - Added MemberService methods for retrieving employees by organization - Database datetime fields now use DB-level defaults for consistency

  10. · KlusterServices

    Add HTTP to HTTPS redirect middleware and IngressRoute

    - Create redirect-to-https middleware for permanent redirects - Add catch-all IngressRoute on web entrypoint to redirect all kamocrm.com domains to HTTPS - Fixes 404 errors when users access sites via HTTP instead of HTTPS

  11. · KlusterServices

    Add automatic *** secret creation

    - Create *** secret on both k1m1 and k2m1 - Secret contains MINIO_CURRENT_HOST pointing to k0m1 MinIO instance (http://10.8.0.1:9000) - Fixes kamowssecurity-deployment CreateContainerConfigError

  12. · kamo-internal

    Reorganize form layout for better field grouping

  13. · kamo-internal

    Reposition Add Lead tab and improve market tab UX

  14. · kamo-internal

    Add live tab label updates based on first/last name input

  15. · kamo-internal

    Convert Add Lead button to tab and implement data persistence

  16. · kamo-internal

    Overhaul lead creation UI with pane-based interface

  17. · kamo-internal

    Move Add Lead button to filter row and convert to popup dialog

  18. · kamo-internal

    Reorganize lead creation form into elegant two-column layout

    - Split form fields into two columns: contact/personal info (left) and lead/business info (right) - Add visual separation with semi-transparent backgrounds, borders, and shadows - Improve form organization and visual hierarchy - Maintain responsive design for mobile devices

  19. · kamo-marketing

    Enable Turbopack for faster builds (Next.js 16)

  20. · kamo-register

    Enable Turbopack for faster builds (Next.js 16)

  21. · kamo-login

    Enable Turbopack for faster builds (Next.js 16)

  22. · kamo-internal

    Enable Turbopack for faster builds (Next.js 16)

  23. · kamo-internal

    Redesign lead creation form with complete name fields, proper dropdown sizing, country field, and improved phone layout

  24. · kamo-internal

    Enhance lead creation form with modern UI, validation, error handling, and improved UX

  25. · kamo-shared-library

    Add phone extension support to CreateLeadRequest, UpdateLeadRequest, and LeadDTO

  26. · kamo-internal

    Add LeadProspectType, vendor/product, bestContactTime, phone extension/isText, and residential mortgage fields to lead creation form

  27. · kamo-shared-library

    Add salesSubType field to LeadMarketDTO for mortgage field detection

    - Added salesSubType field to distinguish between parent SaleType and sub-types - When SaleType has a parent (e.g., RESIDENTIAL_MORTGAGE), salesType becomes the parent (SERVICE) and salesSubType becomes the child (RESIDENTIAL_MORTGAGE) - This allows frontend to correctly detect when to show mortgage fields from LeadClaimMortgage.java

  28. · kamo-internal

    Add missing Next.js API routes for leads endpoints

    - Added /api/security/leads route for GET (all leads) and POST (create lead) - Added /api/security/leads/[id] route for GET, PUT, DELETE operations - Added **************** route for market configuration - Fixes 'Unknown error' when accessing /leads page by properly proxying requests to backend

  29. · SecurityService

    Add backend validation for required fields in lead imports

    - Add validateRequiredFields method to check required fields before import - Validate email, firstName, and lastName are present - Validate mortgage-specific fields (loanAmount) when market is mortgage type - Skip rows with missing required fields and add to error list - Use LeadMarketService to determine market type for validation

  30. · kamo-internal

    Add validation for required fields in lead imports

    - Mark email, firstName, and lastName as required fields in leadFields.ts - Add validation in handleStartImport to check all required fields are mapped - Add validation in ReviewStep to show errors for missing required field mappings - Display user-friendly error messages when required fields are missing

Ulimwengu wako unasubiri.

Kuanza bure katika dakika. Ongeza bidhaa wakati wowote wewe ni tayari - hakuna uhamiaji, hakuna logins mpya.

Bure milele - hakuna kadi ya mkopo inahitajika