Earlier this year, we released a new Services module where you can manage projects, complete tasks, track time, service calls and more. As part of ongoing enhancements in this area, we've added the ability to bulk import tickets from a spreadsheet so that your team can be more efficient in managing ticket data. There are three importing options:
Create & Update - this updates existing tickets in the system from the data in your sheet as well as creates new tickets if the rows in your sheet do not exist in your Kodaris system yet
Create Only - this option only creates new tickets
Update Only - this option only updates existing tickets
Tickets
KOD-15098: Allow Paste into Hex Color Code Field in Theme Editor
KOD-15104: Error when Uploading Customer File on a Company Ticket or Activity
Customer API:
POST /api/account/ticket/list
Should get list of tickets assigned to companyID
POST /api/account/ticket/company/{companyID}
Should create ticket assigned to companyID
GET /api/account/ticket/{ticketID}
Should read ticket assigned to companyID by ticketID
POST /api/account/ticket/{ticketID}/customerFile/upload
Upload file to ticketID which has companyID assigned
POST /api/account/ticket/{ticketID}/customerFile/list
List files attached to ticketID which has companyID assigned.
Test this endpoint and then try to get the file and check what company assigned to this file (field companyID).
If ticket has entityType Company - those company should be assigned, if entityType Order - company from Order should be assigned.
Otherwise - throw an error.
KOD-15168: Updates to Inventory Messaging Connected to Primary Warehouse and OAN Items
KOD-15224: Form Issues - error message, no file attached in the email
KOD-15286: Put SEO titles on the rest of the pages
For {{Register}} Page check if browser tab title is [Site name] - Register.
For {{Login}} page check if browser tab title is [Site name] - Login.
For {{Contact}} page check if browser tab title is [Site name] - Contact.
For {{Quick Order}} page check if the browser tab title is [Site name] - Quick Order.
For {{Checkout Thank You}} page check if browser tab title is [Site name] - Thank You!
For {{Credit Application Register}} page check if browser tab title is [Site name] - Credit Application - Sign up.
For {{Credit Application Thank You}} page check if browser tab title is [Site name] - Credit Application - Thank You.
For {{Credit Application}} Password page check if browser tab title is [Site name] - Credit Application - Set Password.
For {{Cart}} page check if browser tab title is [Site name] - Cart.
For {{Account Retrieval}} page check if browser tab title is [Site name] - Account Retrieval.
For {{Password Reset}} page check if browser tab title is [Site name] - Reset your Password.
For {{Error}} page check if browser tab title is [Site name] - Error.
For {{Registration Successful}} page check if browser tab title is [Site name] - Registration Successful.
For {{Privacy Policy}} page check if the browser tab title is [Site name] - Privacy Policy.
For {{Terms of Use}} page check if browser tab title is [Site name] - Terms of Use.
For {{Saved for later}} page check if browser tab title is [Site name] - Cart - Saved for later.
For {{Payment Received}} page check if browser tab title is [Site name] - Payment Received.
For {{Sitemap}} page check if browser tab title is [Site name] - Sitemap.
For {{CCPA}} page check if browser tab title is [Site name] - CCPA.
Regression Tests
Check if SEO titles are correctly displayed for categories, product and content pages.
For {{Welcome}} page (default page) check if title is [Site name].
Do a general test of the site and ensure everything works as normal.
Test placing and order as public and logged in user.
KOD-15332: Fixes for Adding and Updating AP Record
Go to AR/AP -> Accounts Payable.
Check Last Modified can not be editable.
Check when change date in Invoice Date placeholder there is no error.
KOD-15401: Customer Budgets CRUD API
New CRUD added: /api/system/companyBudget.
No regression here.
KOD-15407: Trigger Error When User Attempts to Upload Image with Duplicate Name
Login as Employee.
Test A:
Go To CMS -> “Media” screen.
Upload file and check if it was saved as expected without any errors.
Try to upload file with the same name (could be the same file as previously) and check if appropriate error was returned.
Upload file with another name (could rename previous file) and check if it was saved as expected without any errors.
Test B:
Go to CMS -> “Pages” screen and choose one of existing content pages.
Go to “Public Files“ tab.
Upload file.
Try to upload file with the same name (could be the same file as previously) and check if appropriate error was returned.
Upload file with another name (could rename previous file) and check if it was saved as expected without any errors.
Test C:
Go to Products screen (“Search” or “Data” tab) and choose one of the existing products.
Go to “Public Files“ tab.
Upload same file as: media, additional image, and primary image. (We are able to upload same file under different file type, but file name should be unique for each separate type).
Try to upload the same file as: media, additional image, and primary image. Check if proper error returned.
Upload file with another name (could rename previous file) as one of file types (Media, Primary Image, or Additional Image) and check if it was saved as expected without any errors.
KOD-15442: Adding Recently Viewed Products
QA Tests:
Ensure recently viewed products are displayed on Welcome Page, Product, Category, and Search Pages. Please check desktop and Mobile Views. Ensure that the home page looks and works as normal.
Regression Tests:
Ensure the site runs normally on the customer side browsing pages with logged in and not logged in.
KOD-15441: Add Endpoint for Uploading Customer File to a Delivery by Code
New endpoint has been added:
Driver Delivery API
POST - /api/system/order/driverDelivery/uploadDeliveryDocumentByID
If Delivery doesn’t have companyCode - will return OK response and save Internal File
If Delivery has companyCode - will return OK response and save Customer File
KOD-15444: Product Category Slider Added to Parent Product Categories
Regression Tests:
Navigate to a category page that does not have a banner already.
Ensure that no banner is displayed and the category works as normal.
Test adding products to cart, filtering, sorting, etc.
Navigate to a category page that already had a banner before the deploy.
Ensure that the banner is displayed and the category works as normal.
Test adding products to cart, filtering, sorting, etc.
As a logged in customer
Navigate to a category page that does not have a banner already.
Ensure that no banner is displayed and the category works as normal.
Test adding products to cart, filtering, sorting, etc.
Navigate to a category page that already had a banner before the release.
Ensure that the banner is displayed and the category works as normal.
Test adding products to cart, filtering, sorting, etc.
Login to the employee portal
Go to a category page on the commerce site.
Test displaying and hiding the banner using the "manage category" button.
Test changing the banner image.
Test setting the banner link.
Test configuring and displaying the category’s subcategory slider.
First test displaying the subcategory; it should not show up because you didn’t set the title or configure the subcategories with primary images.
Set subcategory slider title.
Then add primary images to at least 6 of the category’s subcategories.
Test that the slider shows up on the parent category now.
Make sure it looks and works good on both desktop and mobile.
KOD-15446: BI Updates
KOD-15474: Filter Out Restricted Products from Product Page
KOD-15482: Deleting Custom Record Briefly Shows Contents
Click the Delete button on the custom record. Check that the content of the record to delete won’t be displayed.
KOD-15502: Checking All Fields Are Available in Data Tab and Column Options under AR/AP-Vendors Screen
On AR/AP -> Vendors screen ("Search" and "Data" tabs), please check if all available columns are shown, can be picked and shown.
KOD-15515: Add Detail Screen to Discounts
Regression
On Discounts -> pick discount -> detail
Please check if there are ranges and detail tabs and all works well
KOD-15522: Add Additional Endpoints for Warehouse Data Transfers
Tested on API level these new endpoints:
POST /api/system/warehouseTransfer/{warehouseTransferID}/changeBillingAddress
POST /api/system/warehouseTransfer/{warehouseTransferID}/changeDeliveryAddress
No regressions
KOD-15530: Add Import UX to Tickets Screen
Go to "Tickets" page
Go to "Data" tab
Try to import file
KOD-15534: Setup Credit Application
KOD-15543: Switch blankLogo for Hosted Image
On vendor detail and company detail screens, please check if placeholder logo is shown if you have no logo uploaded for the vendor or company
KOD-15560: Pre Selected Fields on Credit App Don't Populate in Generated PDF
Please check if these fields are saving correctly
KOD-15569: Add New Updated Credit App to Demo Site
As a guest user:
Navigate to “/spcu/credit-application-register”. Here you should enter your email address to sign up for credit.
You should receive an email with a link to reset your password.
Reset your password following the link.
Login as prompted.
After login you should automatically be redirected to the credit application form.
Fill out the credit application. If you leave and come back later, the data that you entered should pre-fill the form.
Once you are ready to submit the form, click complete.
Regression tests:
Test logging in on both the header and the login page. Make sure it works fine and you should not be redirected to credit app.
KOD-15597: Update Template to Display Inventory to Logged In Customers
KOD-15611: Add Endpoints to List Internal Files and Customer Files for a deliveryID
Endpoints to test:
GET {{/api/system/delivery/{deliveryID}/customerFile/{customerFileID}/view}} - Allows to download delivery customer file.
POST {{/api/system/delivery/{deliveryID}/customerFile/list}} - Get list of delivery customer files.
GET {{/api/system/delivery/{deliveryID}/internalFile/{internalFileID}/view}} - Allows the download of delivery internal file.
POST {{/api/system/delivery/{deliveryID}/internalFile/list }} - Get list of delivery internal files.
KOD-15635: Create Server Side API for /api/system/productFacet
These server side endpoints for ProductFacets have been tested by using JS User Scripts.
GET {{/api/system/productFacet/{productFacetID}}} - Reading Product Facet.
GET {{/api/system/productFacet/facetCategory/{facetCategoryID}}} - Reading Facet Category.
POST {{/api/system/productFacet}} - Creating Product Facet.
POST {{/api/system/productFacet/list}} - Reading list of Product Facet.
POST {{/api/system/productFacet/facetCategory}} - Creating Facet Category.
POST {{/api/system/productFacet/facetCategory/list}} - Searching DB for categories.
POST {{/api/system/productFacet/facetCategory/listByFacetCode/{facetCode}}} - Searching DB for Categories by facetCode.
POST {{/api/system/productFacet/facetCategory/{categoryID}/products}} - Searching DB for Products under facet category by category id.
POST {{/api/system/productFacet/products/list}} - List Products with facet categories from DB.
POST {{/api/system/productFacet/facetCategory/categoryID/{categoryID}/productID/{productID}}} - Assign product to a facet category by id.
POST {{/api/system/productFacet/facetCategory/categoryCode/{categoryCode}/productCode/{productCode}}} - Assign product to a facet category by code.
POST {{/api/system/productFacet/facetCategory/productCategory}} - Assign product to a facet category by code.
POST {{/api/system/productFacet/facetCategory/categoryCode/{categoryCode}/productCode/csv}} - Bulk assign Products to Category by .CSV file.
POST {{/api/system/productFacet/{productFacetCode}/import/{mappingCode}}} - Import attribute categories and associate with specific FacetGroup.
PUT {{/api/system/productFacet/{productFacetID}}} - Updating Product Facet.
PUT {{/api/system/productFacet/facetCategory/{facetCategoryID}}} - Updating Facet Category.
DELETE {{/api/system/productFacet/facetCategory/categoryID/{categoryID}/productID/{productID}}} - Unassign product from category by id.
DELETE {{/api/system/productFacet/facetCategory/categoryCode/{categoryCode}/productCode/{productCode}} - Unassign product from category by code.
DELETE {{/api/system/productFacet/facetCategory/productCategory}} - Unassign product from category by code.
KOD-15650: Error When Adding a Product List
KOD-15654: Companies -> Catalog Fix the Error ExternalID Is of Incorrect Type
Please check if external id is updatable for type string
KOD-15656: Add showInventoryPublic Setting to Install Process
Check showInventoryPublic setting if = 0
KOD-15662: Auto-tendering Should Check Against totinvord, Not Order.total
KOD-15664: Update Customer Password Email URLs
KOD-15671: UX Needed - Add Links to Ticket Screen
Check if linked ticket has link on code number
KOD-15674: Rounding Issue for Price Engine
KOD-15675: Fix Indexing Error
KOD-15699: Add Interceptor Before Company Address Lookup During Punchout Order Request
Regression Testing:
Test punchout OrderRequest endpoint with test orders and make sure that the order is still created correctly with the correct shipping and billing addresses provided.
KOD-15701: Issue with Punchout and POs
Ensure that guest checkout and logged in user checkout works as normal.
Test checking out as logged in user with the following steps:
Add item to cart.
Go to second checkout tab and select a delivery address.
Then go to third tab and enter a PO number.
Refresh the page, and select a different delivery address.
Go to third tab and make sure your PO number is still there.
Submit the order.
Go to Employee Portal and make sure your PO number is still on the order.
KOD-15705: Fix Employee updatePassword Endpoint
KOD-15729: Set a Last Modified on Synced Product Prices