All Releases
View all releases

May 25, 2023 release notes

Highlights

CRM

CRM Activities

In this release we've made an exciting new addition to your Kodaris CRM, Activities. Activities are a powerful tool for managing your customer relationships, prospects, and opportunities. From meetings, to calls, and more, log each client interaction to see a complete history of events in one concise view. In upcoming releases you'll see many new additions to CRM activities including custom activity types, tracking, notifications, and more!

To start an activity today, navigate to CRM > Companies > Company and click More > Start Activity. Enter your activity title and click Start. You'll be taken to the activity details where you can add comments, assign employees, attach files, etc.

To manage and view all activities for a company, navigate to CRM > Companies > Company > Activities.

391_start_activity_companies_screen.png
391_name_your_company_activity.png
391_finalize_activity.png

Operations Portal

Quote items by square footage

You can now quote a product in square footage, and it will automatically convert the footage to the correct stocking units and quantity. This allows you to quote the exact square footage needed for a project, and then have it automatically converted to the correct quantity without needing to do the math manually. To utilize this feature, simply go to the Items screen of the quote you are working on and edit the "Total Footage" column to the needed amount. After editing, the "Quantity" column will automatically update. This feature requires quantity conversion factors to be configured. Please reach out to your account manager if you'd like to learn how to set these up.

391_automatically_calculate_qty_off_total_footage.png

Tickets

  1. KOD-12894: Add Line Item User Fields to Display Inventory & Back-Order Items
    • Test entering an order and ensure user1 and user2 are populating.
  2. KOD-13843: Pricing Records Not Showing
  3. KOD-13901: Add details page for non-stock product
  4. KOD-14238: Create dynamic product list based on previous orders
  5. KOD-14265: Porting pages to the new site
  6. KOD-14268: Home page template for new site
  7. KOD-14271: Link Ticket to Jira if Ticket is from Jira
    • Login into Employee portal.
      • Case 1
        • Open Services -> Tickets page.
        • Create new ticket and set Created By=JIRA value (if they're any)
        • Search for ticket that's Created By JIRA
        • Ensure that the Code column has a clickable link to Jira
    • Regression: Make sure that page layout is correct.
  8. KOD-14339: Limit CMS Form File Upload to Only PDFs
    • the file input should only accept PDFs, uploading other file types should return an error
    • Test uploading a pdf file and make sure there is no error
    • Regression test for about - contact form
  9. KOD-14367: Convert Services Section to CMS
  10. KOD-14366: Convert Articles Section to CMS
  11. KOD-14368: Convert Section to CMS
  12. KOD-14369: Convert Section to CMS
  13. KOD-14442: Content - Set Up Home Page Content
    • QA homepage content and links and check content menu for any issues.
  14. KOD-14443: QA - Content
  15. KOD-14458: QA - Customer portal
  16. KOD-14457: QA - Commerce as a logged in user
  17. KOD-14456: QA - Commerce as a public user
  18. KOD-14455: QA - Website Branding & Auth Flows
  19. KOD-14462: QA - Payments
  20. KOD-14459: QA - DDA app on android
  21. KOD-14464: Content - Set Up Home Page Content
    • Check over homepage content and links to make sure all are good, then proof content menu looking for any issues.
  22. KOD-14483: Company Catalog Price and Display Issues
    • Tests for Issue 1:
      • Prerequisites:
        • 1. User is logged in.
        • 2. Company catalog contains items.
        • 3. Company Group catalog contains items.
        • 4. Setting to change the number of displayed items: categoryPageSize, default value: 25
    • Below tests to be done for both Company catalog and Company group catalog.
      • Case 1:
        • 1. Open company catalog.
        • 2. Make sure that catalog items count is less then companyCatalogPageSize.
        • 3. Make sure there is no paging displayed.
      • Case 2:
        • 1. Open company catalog.
        • 2. Make sure that catalog items count is more than companyCatalogPageSize.
        • 3. Make sure that:
          • 3.1 paging is displayed.
          • 3.2 expected number of pages are shown.
      • Case 3:
        • 1. Perform Case 2.
        • 2. Make sure that:
          • 2.1 It’s possible to change the page with forward/backward arrows.
          • 2.2 It’s possible to change the page by typing page number into page number input.
          • 2.3 It’s possible to change the page by changing url in browser.
    • Regression:
      • Make sure category pages paging works as expected.
  23. KOD-14486: Product Name Display Logic
    • Name calculation:
      • cartItem/orderItem name: item.altLanguageName || item.name
      • cartItem/orderItem description: item setting altCartItemName || item setting defaultCartItemName || ( item.altLanguageName || item.name)
      • *Note: altCartItemName and defaultCartItemName will be set when global setting useCustomCartItemNameFields is set to 1.
    • Prerequisites:
      • Global setting enableOrderItemAddInterceptor => 1.
    • Case 1:
      • On the store front, go to the categories page.
      • Find product with pimStatus = ‘UPDATED’
      • Make sure the product name is displayed as the product name.
    • Case 1.1:
      • For the product from Case 1, open product details.
      • Make sure the product name is displayed as the product name.
    • Case 2:
      • On the store front, go to the categories page.
      • Find product with pimStatus = ‘ADDED’
      • Make sure the product description is displayed as the product name.
    • Case 2.1:
      • For the product from Case 1, open product details.
      • Make sure the product descriptionis displayed as the product name.
    • Case 3:
      • Add to the cart product with pimStatus = ‘ADDED’
      • Go to the cart.
      • Make sure that cartItem name is calculated as described in Name calculation.2
    • Case 4:
      • Add to cart item with pimStatus = ‘UPDATED’
      • Go to cart.
      • Make sure that cartItem name is calculated as described in Name calculation.1.
    • Case 5:
      • Submit an order with products from Case 3 and 4.
      • Make sure that on order Thank you page order item names are the same as described in Case 3 and 4.
    • Case 6:
      • Check the email for the order from Case 4.
      • Make sure that on order Thank you page order item names are the same as described in Case 3 and 4.
    • Case 7:
      • Generate a pdf the order from Case 4.
      • Make sure that on order Thank you page order item names are the same as described in Case 3 and 4.
    • Regression:
      • Case 1
        • For any directShipped item make sure name is always being displayed as a product/cartItem/orderItem name.
        • *Note that cart item/ order item name is calculated as described in Name calculation.1.
      • Case 2:
        • Set enableOrderItemAddInterceptor => 0.
        • For order email, pdf, thank-you page make sure product name is displayed as the item name;
    • Case 3:
      • Set enableOrderItemAddInterceptor => 0.
      • For cart items screen make sure product description is displayed for item name;
  24. KOD-14510: CRM - Create CRM View of Tickets Screen
    • To be tested in Employee portal.
    • Add Ticket and Add Activity dialogs look exactly the same except the title.
      • Case 0:
        • Permissions check:
        • Company Tickets and Action screens should be available for: superuser, administrator, companyView, companyEdit, crmCompanyView, crmCompanyEdit.
        • Tickets global screen should be available for: administrator, superuser, ticketView, ticketEdit.
        • Make sure that:
          • Company Tickets and Action screens are working as expected for:
            • companyView, companyEdit
            • crmCompanyView, crmCompanyEdit
        • Make sure that Company Tickets and Action screens are not available for: ticketView, ticketEdit.
        • Make sure that Tickets global screen is not available for: companyView, companyEdit, crmCompanyView, crmCompanyEdit
      • Case 1:
        • Go to any company details screen.
        • Make sure there is a More button in the top bar, which contains:
          • Start Activity.
          • Start Ticket.
          • Make sure there is a new tab next to Tickets called Activities.
      • Case 1.1:
        • Go to Company => Activities
        • Make sure that it lists all company activities
      • Case 1.2:
        • Go to Company => Tickets
        • Make sure that
          • It lists all company tickets except activities
          • Table was changed to search grid and it’s not possible to:
          • Add a ticket using a bottom row
          • Update ticket inline.
      • Case 2:
        • Perform Case 1.
        • Click More => Start Activity button.
        • Make sure Start Activity dialog appeared.
        • Fill in the fields, press Start.
        • Make sure that:
          • You were redirected to company activity details screen .
          • Creator and Reporter fields have values(on the top right of details screen)
          • Newly added activity appeared in company Activities table
      • Case 3:
        • Perform Case 1.
        • Click the Start Ticket button.
        • Make sure Start Ticket dialog appeared.
        • Fill in the fields, press Start.
        • Make sure that:
          • You were redirected to company ticket details screen .
          • Creator and Reporter fields have values(on the top right of details screen)
          • Newly added ticket appeared in company Tickets table
      • Case 4:
        • Go to Company => Activities.
        • Open any activity details.
        • Make sure that it contains next fields:
          • Title
          • Due Date
          • Priority
          • Status
          • Start Date
          • End Date
          • Description text area
          • Comments(no input - TBD)
          • Read only fields on the right: Ticket #, Created,Last Modified, Creator, Reporter
          • Make sure it’s possible to update fields 3.1 - 3.8
      • Case 5:
        • Go to Company => Activities.
        • Press delete button to delete an activity.
        • Make sure that activity was deleted
      • Case 6:
        • Go to Company => Tickets.
        • Press delete button to delete a ticket.
        • Make sure that ticket was deleted
      • Case 7:
        • Go to Tickets global screen.
        • Open any activity details
        • Make sure that:
        • It contains all the fields mentioned in Case 4.3
        • It’s possible to update the editable fields.
    • Regression:
      • Case 1:
        • Make sure Tickets global screen work as expected.
      • Case 2:
      • Go to Company => Tickets.
      • Open any ticket details.
      • Make sure that:
        • It contains all the expected fields.
        • It’s possible to update editable fields.
      • Case 3:
        • Go to Tickets global screen.
        • Open any ticket details (not activity details)
        • Make sure that:
          • It contains all the expected fields.
          • It’s possible to update editable fields.
  25. KOD-14512: CRM - Add Activities to Operations Portal Home Screen
  26. KOD-14513: CRM - Add Activity Create Button to top of Company Screen
  27. KOD-14535: QA - Commerce as a public user
  28. KOD-14534: QA - Website Branding & Auth Flows
  29. KOD-14538: QA - DDA app on android
  30. KOD-14537: QA - Customer portal
  31. KOD-14536: QA - Commerce as a logged in user
  32. KOD-14541: QA - Payments
  33. KOD-14549: Install & brand website & customer portal
  34. KOD-14562: Content - Set Up Home Page Content
    • Review all homepage content and all content menu links etc looking for any issues.
  35. KOD-14572: Update Password Needs Reset Code to Trigger Message
  36. KOD-14585: Add Payment Amount Field to Pay Order Screen
    • When team has added Payment Amount field, try to use it.
    • Result -> should pay with specified amount
    • Regressions:
      • If no Payment Amount specified, should pay with order total amount
  37. KOD-14626: Module Content - Content Management System
  38. KOD-14628: Module Content - CRM
  39. KOD-14627: Module Content - Middleware / Integration Hub
  40. KOD-14631: Module Content - Proof Of Delivery
  41. KOD-14632: Module Content - PIM
  42. KOD-14682: Add Login Step to Quick Order Feature
    • Check the header and home page. Make sure all looks fine and you can shop by category etc.
    • If you are logged out, ensure that if you click on quick order it takes you to the login screen. Once you login you should be automatically redirected to the quick order screen
    • If you are logged in, ensure that if you click on quick order the panel drops down. Make sure you can quick order as normal from here.
    • Perform above tests with your console open and make sure there are no errors
  43. KOD-14692: Be Able to Calculate Orders by Stocking Unit
    • Regression tests will be entering an order with 5 items on the employee portal side and place an order on the customer side with 5 items.
    • In order to use feature, this will be quantity conversions entered in the ICSS screen with special cost type - kpqtyfootage and the product code and then the conversions same place that ICSS records have. This would be a limited version of ICSS record
  44. KOD-14722: New User Added to Your Account Email Logos Not Visible in Outlook
  45. KOD-14772: Pages under 'Releases' not showing up
    • Go to page tab -> create child page release -> assign parent 'Release' code to new child page -> check if this new page exists in list under "Release" on page tree
  46. KOD-14774: Migrate more data
  47. KOD-14789: Warehouse Transfer Controller and Services
  48. KOD-14795: Add Selected Delivery Date to Order Confirmation Email
    • Please check order, orderEmail and orderPDF if they have delivery dates
  49. KOD-14879: Turn on BI for sites
  50. KOD-14906: Convert Section to CMS
  51. KOD-14910: Orders not Printing
  52. KOD-14911: UX to Add Additional Job Import Options
    • Go to Jobs -> Data screen -> check import menu, new importers should be available
    • Regression:
      • Recheck Construct Connect and Dodge imports it should work as previously
  53. KOD-14920: Unlimited facet limits are ignored
  54. KOD-14930: CMS Main Menu Broken on Initial Server Rollout
  55. KOD-14935: Enable Editing Total Square Footage
    • To be tested in Employee Portal => Orders => Order details => Order Items.
      • Screens to test:
      • Order-items
      • Cash-quote-items
      • Quote-items
      • Vendor-invoice-items
      • *Note: you can add a quantityConversion option by adding an inventory conversion with speccostty (Special Cost Type): "kpqtyfootage".
    • Case 1:
      • Go to Order items screen.
      • Make sure that Total Footage column is editable.
      • Case 1.1:
        • Change value for Total Footage.
        • Make sure that:
          • Quantity was recalculated.
          • Total Footage was recalculated.
      • Case 2:
        • Go to Order items screen.
        • Make sure Qty Conv(quantity conversion) column exists.
      • Case 2.1:
        • Change value for Qty Conv.
        • Make sure that nothing was updated.
  56. KOD-14965: Issue with CMS Content Menu
  57. KOD-14966: Unable to Import Product Lists
  58. KOD-14970: [Employee Portal]: Permissions issues for Tickets details tabs under Orders, Quotes, Leads
    • Create user without ticketView and ticketEdit permissions but with orderView, orderEdit, quoteView, quoteEdit, leadView, leadEdit
    • Go to orders -> order -> tickets -> ticket -> you should be available to see the ticket and url should be /orders/:orderID/tickets/:ticketID
    • Go to quotes -> quote -> tickets -> ticket -> you should be available to see the ticket and url should be /quotes/quote/:orderID/tickets/:ticketID
    • Go to jobs -> lead -> tickets -> ticket -> you should be available to see the ticket and url should be /jobs/lead/:orderID/tickets/:ticketID
  59. KOD-14972: Specify Template to use for Statement PDF
    • Probably will need UX to test newly added templateCode parameter to generate specified statements template pdf.
      • payment/active/generateStatementPdf/{companyID}
      • payment/active/generateStatementPdfAsCustomerFile/{companyID}
  60. KOD-14980: Fix Product Codes Format on Quick Order Process
    • In quick order, the dropdown should show product's code - user1 name
    • Once the user clicks on a product, the product's user1 should show in the input field
    • User should be able to add to cart without errors
  61. KOD-14991: Change Verbiage
  62. KOD-14992: Update Links
  63. KOD-14999: Require PO flag
    • Updated all companies including the ones in the spreadsheet attached and more. Check a few companies in the spreadsheet. See if the purchaseOrderRequired field is set in the employee portal. Also see if it is required during checkout.
    • Syncs: Wait for a new company to come in or an update in the ERP to see if the flag is set properly. Turn one on for testing. Once it syncs over, check the flag is set. We can then turn it off which should switch it back to po required = false.
  64. KOD-15002: Add endpoint for fetch all customerFiles from Customer Portal
    • No UX testing , newly added endpoint.
    • Swagger tests:
      • 1) company/{companyID}/customerFiles which returns company's customer files if user has access to specified company.
        • Needed roles : companyAdmin or accountsPayable
      • 2) company/{companyID}/customerFiles try to send companyID which user has NO access
        • Needed roles : companyAdmin or accountsPayable
  65. KOD-15004: Enable 'doNotDisplay' Function for Facet Groups
    • Newly added field to FacetGroup, no UX testing. Only swagger testing if needed.
    • We will need a UX tickets to update the portal and also update the customer templates
  66. KOD-15011: restrictedCatalog says incorrect type when the correct type was entered in
    • Details Tab:
      • Go to companies under CRM. Select any company. Open Details Tab.
      • Search for restrictedCatalog field in SHIPPING Section. Try selecting the opposite value. Yes -> No and vice versa. No error should arise.
      • Repeat step 2 on Company Addresses Details Tab and Customers Details Tab. Check restrictedCatalog field behavior as on the 2nd step.
    • Development Tab:
      • Go to companies under CRM. Select any company. Open the Development tab.
      • Search for restrictedCatalog field in Database Record. Try selecting the opposite value. Yes -> No and vice versa. No error should arise.
      • Repeat steps 1-2 for fields: spendingLimitEnabled, canUsePOs, purchaseOrderRequired.
      • Repeat step 2 on Company Addresses (Development) and Customers (Development) Tabs. Check restrictedCatalog field behavior as on the 2nd step.
  67. KOD-15013: Tracking Numbers No Longer Showing
  68. KOD-15017: Issue Validating Schema Markup
  69. KOD-15019: Setup basic BI dashboard
  70. KOD-15040: General QA, Cross Browser QA, & Mobile
  71. KOD-15046: Google Tag Manager
  72. KOD-15051: Proof for grammer
  73. KOD-15054: Update Mobile App
    • If embedded in the mobile app, the header and footer should be removed, welcome page should also be updated as mentioned in the comments
    • Please remove the cookie (applicationName, CustomerApp) once done testing so you can revert back to the original content of the page.
  74. KOD-15061: Update UX in Operations Portal for doNotDisplay Facet Groups
    • In the Operations Portal (OP) go to PIM -> Filter Categories.
    • On the top right corner of the table search for the 'Show/Hide Columns' button. Click it. Search for the Display option. Check this option.
    • On the table search for the Display column. It should persist in the table. This column should include either Yes or No values. Try to select values Yes or No. The look should be similar to the look on the attached screenshot.
  75. KOD-15062: UX for contract pricing
    • On the following pages:
      • Home
      • Category
      • Search
      • Product
    • Do the following tests:
      • As a logged out user, make sure you see inventory, add to cart btn, qty input and add to list btn. Test clicking add to cart and add to list. Make sure you are re-directed to login screen.
      • As a logged in user, make sure that products which are not in you erp display "call for availability" instead of add to cart, qty, and add to list btns. Test adding the products that are in your erp to the cart and to your lists. Should work as normal.
      • As a logged in user on a restricted catalog, make sure that products which are not in your catalog display "call for availability" instead of add to cart, qty, and add to list btns. Test adding the products that are in your catalog to the cart and to your lists.
  76. KOD-15065: More Whitelisting Items
  77. KOD-15066: Company catalog items point to the wrong product when built from ERP orders
    • Setup:
      • Take any product (let it be erpProduct) and set to its hostCode value 1. Also add to its setting new record with code 'itemid' and put into mediumValue any value, that's actually imitate erp code of this product.
      • Take another product(masterProduct) and put in its user1 the same value you used for product1.setting.
      • Make reindex for masterProducts.
      • Make sure that multiErpMode is turned ON.
      • Make sure that global setting 'updateRecentlyOrderedOnCheckout' is turned ON.
    • Test case 1:
      • Create an order with one order item based on product1.
      • Call endpoint companyProductCategory/updateRecentlyOrderedItems
      • Check the response body, it should contain entry with masterProduct ID.
    • Test case 2:
      • Remove from masterProduct.user1 one previously set value
      • Call again endpoint companyProductCategory/updateRecentlyOrderedItems
      • Check the response body, this time it has to contain two entries with erpProduct and masterProduct IDs.
  78. KOD-15069: Support Sorting on Company Catalog Pages
    • To be tested on the store front for a logged in customer.
    • Case 1:
      • Go to Company catalog page.
      • Make sure there is no Sort by select box above the product list.
    • Case 2:
      • Go to Group catalog page.
      • Make sure there is no Sort by select box above the product list.
    • Regression:
      • For any other category page, make sure there is a Sort by select box above the product list and it’s possible to sort the list.
  79. KOD-15071: Don't Index when Searchable is Set to False
    • FacetGroup (Filter Category) should be created with "fg_" prefix.
    • Create new Filter Category with code "displayFootageCalculator"
    • The created Filter Category code should automatically be converted to "fg_displayFootageCalculator"
    • Update Filter Category with code "fg_displayFootageCalculator": edit code to be "displayFootageCalculatorUPD"
    • The updated Filter Category code should automatically be converted to "fg_displayFootageCalculatorUPD"
  80. KOD-15074: Manually convert company lists to company catalogs
  81. KOD-15080: Create a new page
  82. KOD-15084: Credit App - Make exempt from sales tax field consistent