CreataCRM Features Added from r9667 to r9875

Period: October 17, 2025 - February 10, 2026
Total Commits: 208 revisions (r9667 - r9875)
Contributors: Josh, Reece


📅 October 2025

🔄 MYOB Integration Improvements (October 2025)

Invoice Sync (r9668)

  • MYOB invoice sync now uses correct filter on date and last payment date when syncing data from MYOB

📧 Email Enhancements (October 2025)

Exchange Integration (r9672)

  • Improvements with Email popup with Exchange
  • 2025 feature list documentation

🛠️ Job Management (October 2025)

Component Purchase Orders (r9673)

  • Fixed component Purchase Order on Jobs
  • Added mappings for component purchase orders to work correctly

📅 Scheduler Improvements (October 2025)

Activity Modal Enhancements (r9674)

  • Added address search for location field in scheduler activity modal popup
  • Added option for default new customer when creating customer from activity scheduler modal

📊 Table Builder Enhancements (October 2025)

Grouping Options (r9675)

  • Table builder add disable grouping option
  • Grouping for any column that uses a collection editor is always disabled

🔗 Data Model Updates (October 2025)

Job Associations (r9676, r9677)

  • Removed many to many associations on Job
  • Project file updates

📍 Address Search (October 2025)

Sale Address Improvements (r9679)

  • Address search on SaleAddressEdit.vue includes company now
  • Added criteria for Notifications

💰 Sales & Reckon Integration (October 2025)

Ship Date Support (r9680)

  • Add ShipDate to Sale BO
  • When sending sale quote or order to Reckon add ShipDate to the invoice

🔧 System Improvements (October 2025)

Field & Action Updates (r9681, r9682)

  • Fixed aliases on job link classes
  • Required fields override for actions and record space merging required fields from actions

📅 November 2025

📦 Purchase Order Enhancements (November 2025)

Material Management (r9683)

  • Added order to SaleAddMaterialsAction
  • Created AddMaterialLinesToPurchaseOrderAction
  • Added header to ProductServiceDisplay.vue

🏢 Supplier Management (November 2025)

Supplier Dashboard (r9684, r9685)

  • Improvement of SupplierDetailView.vue
  • Added Product Tab and Bill Tab
  • EmailAddress on Supplier to verify button
  • Clean of SupplierDetailView and added actions buttons Layout/SupplierDetailViewLayout.ts
  • Created SupplierDashboard
  • Fixed BillViewMode.vue and BillEditMode.vue crashing
  • Fixed PurchaseOrderDetailView.vue not loading

🏢 Company Features (November 2025)

Parent Company Support (r9686)

  • On Company use ParentCompany option

🔌 Integration Services (November 2025)

Slack Integration (r9687, r9688)

  • Added a Slack controller
  • Fixed up the SlackEventsController

⚙️ Workflow Enhancements (November 2025)

Workflow Blocks (r9689)

  • Added UnixTimestampToDateActivity block

📋 Board Improvements (November 2025)

Drag and Drop (r9690)

  • Improvements with dragging and dropping for boards

📊 Opportunities & Leads (November 2025)

Display Enhancements (r9691)

  • Added orderby for opps and leads and style improvements

💰 Price List Management (November 2025)

Price List Detail View (r9692, r9694)

  • Add expression editor
  • Add price list detail view, add rules action and update cache action
  • Improvements on Price List BasicTable.vue
  • Added Pagination
  • Added Expression editor
  • Added 2 Actions AddCompaniesAction.ts AddContactsAction.ts
  • Improvement design for Price List

🎨 UI Components (November 2025)

Opportunity Cards (r9693)

  • Added a popup layout 2 for Opportunity/OpportunityCard.vue
  • Improvements to arrange of widgets connected to it

🏢 Company Divisions (November 2025)

Division Management (r9695, r9696)

  • Added DIVISION button on company
  • Added AttachDivisionsAction.ts

🔍 Search Improvements (November 2025)

Linked Record Search (r9697)

  • Allow searching in all linked record columns header filter select thing

📝 Editor Enhancements (November 2025)

Basic Editor (r9698, r9699)

  • Improvement to basic editor
  • Added NumberCompare

🎨 Styling Updates (November 2025)

Style Standards (r9702, r9705)

  • Fix the BasicTable/BasicTableBody.vue deep issue
  • Added styles on summary
  • BasicTable.vue refresh false
  • Style improvements for creatacrm
  • Starting to make style standards

⚙️ Workflow & Notifications (November 2025)

Expression Editor Integration (r9703, r9704)

  • Commit changes when updating workflow service name
  • Increase z-index of notifications window so it sits over the scrollable table header
  • Expression editor - fix duplicated suggestions
  • Add expression editor to custom field expression for calculated field
  • Use expression editor to allow criteria of Notifications to be edited

💰 Sales Lines Editor (November 2025)

Quantity Fixes (r9706)

  • Fix sales lines editor attempting to set the Quantity on a line to the old value of the product service field when it changes

🎨 Modern Line Items (November 2025)

UI Components (r9707, r9708)

  • Added ModernLineItem.vue WIP and other fix ups
  • Fix up vuejs/creatacrm-components/vue.config.js because of typescript issue fork-ts-checker parallel: false
  • Improvement with SaleLinesEditor/Lines/

📊 Survey System (November 2025)

Survey Features (r9711, r9712, r9717)

  • Add survey detail view
  • Add survey editor widget
  • Add survey results table widget - auto generate table config based on survey questions, switch to different config for different survey
  • Add generate table config action - generate table config based on survey, overwrite existing or create new if not exists
  • Detect changes in survey and ask to update changes to table config
  • Surveys save ranking answers
  • Fix display of date fields in results table
  • Add indicator to survey editor if there are unsaved changes
  • Change display column of checkbox field to drop-list
  • Remove some debugger statements

💰 Reckon Sales Integration (November 2025)

Quote & Order Actions (r9713, r9714, r9715, r9716, r9719)

  • Added complete code for createorder and createquote
  • Added 2 reckon actions from Reckon:
    • Create Reckon job off a sale
    • Link reckon jobs from customer
  • Link reckon jobs on orders section
  • Added popup create job
  • Sales quote to reckon jobs
  • NewSaleOnOppsComponent.vue spinner
  • Fix up ReckonGroupItem as it was not saving of sales order
  • Added groups to display on ReckonSalesOrderDetailView.vue
  • Fix sending groups to Reckon sales order

🛠️ Job Creation from Sales (November 2025)

Component Items (r9718, r9726, r9727)

  • On Sale Detail Layout v1, on create Job on Quote
  • Added Component Items
  • Custom job Name popup
  • Changed save on the sale to check if there is no customer
  • Also added create jobs to OrderContent.vue and CreateJob
  • PO Drop Down on QuoteContent.vue

📦 Purchase Order Improvements (November 2025)

Supplier Filtering (r9721, r9722)

  • Searching for Item on Purchase Order Line can be filtered by linked Supplier if setting in Settings bo is enabled
  • Fix being able to create purchase order from Sales Order Lines on Sale when there are no Sales Order Lines
  • Purchase order action on v1 sale view now uses component select modal
  • Purchase order line field on quote item noncloneable
  • Slightly changed quantity check when creating line data in ComponentPurchaseOrderModal
  • Fix non-record space issue in SalesOrderToInvoiceAction

💰 Reckon Groups (November 2025)

Group Handling (r9723, r9724, r9725)

  • Fix up Reckon Groups for CreataCRM Sale order to Reckon Sales or invoice
  • Improvements to the Purchase order on a QuoteContent.vue
  • Missing elements to the purchase order on quotecontent

📋 Quote Approval (November 2025)

Approval System (r9728)

  • Added SaleQuote Approval

🎨 UI Enhancements (November 2025)

Command Buttons & Popovers (r9729, r9730, r9732, r9733, r9735, r9736, r9737)

  • Added popover on CommandButton.vue
  • OrderContent.vue added popover tips
  • Alternative color on quotelines
  • Added CreataBlue to SaleContentEdit.vue and SaleContentView.vue and QuoteContent.vue
  • Fix up on QuoteContent.vue for createjob and more features
  • Added Style for SalesOrderLines.vue and others
  • Added Styles for Sales for InvoiceContent.vue, PurchaseOrders/PoContent.vue
  • Fix up ComponentPurchaseOrderModal.vue, PartialInvoiceFromQuotePopup.vue
  • Styles for QuoteContent.vue, PoContent.vue PurchaseOrders/PoContent.vue, OrderContent.vue
  • Footer and header for sales

📊 Dashboard Views (November 2025)

Sales Dashboards (r9734)

  • Added SalesQuote Sales Order and Sales Invoice Dashboard Views
  • Added sideActions on Nav/NavManager.cs

🔌 Plugin Support (November 2025)

Customization (r9738)

  • Customise the SaleCustomerEdit.vue and SaleContentView.vue to have plugins

📅 December 2025

🔗 Webhook System (December 2025)

Distribution Service (r9739, r9743)

  • Add webhook distribution service
  • Modify postal message tag field to include public server url for all non-campaign emails that use the creatamail Postal endpoint
  • Add events to hook on and clean up for MiniApp ObjectSpaceProvider
  • Cleanup and error handling for webhook distributor

📅 Timeline Enhancements (December 2025)

Campaign Events (r9740, r9741)

  • Added CampaignEventEntry.vue for Timeline/DateGroup.vue for Sales
  • Added Timeline/TimelineHelper.js for all entry
  • Added Styles for TimelineCalendarDateGroup.vue

💰 Reckon Conversion (December 2025)

Group Fixes (r9742)

  • Fix up the SalesOrderConverter for Groups again
  • Fix up InvoiceConverter for groups again

💰 Sales Creation (December 2025)

Job to Sale (r9744)

  • Change sales creation from job - remove option to create sale and just always do it
  • Reckon invoice import - if we complete an import if an invoice without setting the Customer, set the Customer to the TopLevelCustomer (if we found it)
  • Remove Browsable(false) from TopLevelCustomer property on Reckon Invoice

🎨 Navigation Styling (December 2025)

  • New styles for Nav/CreataMenu.vue and Tabs and Contact Tabs

📦 Purchase Order Design (December 2025)

UI Improvements (r9746)

  • Creata design for purchase order

📋 Kanban Board (December 2025)

Board Feature (r9747)

  • Added Kanban Board

📦 Warehouse Management (December 2025)

Warehouse Features (r9748)

  • Warehouse Improvements:
    • Added Flat Items List View
    • Added search in the api WarehouseController.cs to get to pagination
    • Added Menu in the warehouse detail View
    • Added 3 actions:
      • Add location
      • OpeningStockComponent.vue
      • OpeningStockTrackedComponent.vue

📊 Survey Fixes (December 2025)

Loading Issues (r9749)

  • Fixing up survey not loading

🛠️ Job to Sale Order (December 2025)

User Experience (r9750)

  • Fix up Job to Sale Order
  • Better user experience
  • Popover and click to Sales
  • Also fixing tool tips on scheduler not working

🔒 Security Roles (December 2025)

Customer Restrictions (r9751)

  • Added New Security Roles that stops users from adding Customers

🔄 Reckon Sync (December 2025)

Deduplication (r9752)

  • Dedup the items from controller in ReckonSync

🔢 Number Templates (December 2025)

Template Enhancements (r9753)

  • Fix number template prepend requiring data between its brackets
  • Add Count option to number template - returns number of items of current type in the database plus one (1)
  • Prepend is now optional in a number template, if no prepend is specified PrependCount will do the same thing as Count

📧 Email Templates (December 2025)

Error Handling (r9754)

  • Add Error on Sending Merge Templates, doesn't hide

📅 Email Events (December 2025)

Timeline Integration (r9755)

  • Added email events on Opportunities/OpportunityDetailView.vue for timeline
  • Added Nav/NavManager.cs email menus
  • Activity attached when sending email

💰 Reckon Invoice (December 2025)

Crash Fix (r9756)

  • Sending Reckon invoice on a Sales order when creating a contact and then a invoice crash on creating a invoice, fix this

📅 Scheduler Filtering (December 2025)

Activity Type Filter (r9757)

  • Added a Activity Type Filter for the Scheduler.vue
  • So users can narrow down the Activity Displayed
  • Right delete for Tasks and Activity

📋 Board Popovers (December 2025)

UI Fix (r9758)

  • Fix the popover popup on boards

📱 Mobile Upgrade (December 2025)

Framework Updates (r9759, r9760, r9761-r9777)

  • Update mobile to Quasar 2 + Vue 3 + Node 22
  • Upgrade to Node 20
  • Multiple build script fixes for:
    • NVM version handling
    • Quasar build issues
    • ESLint configuration (changed console.log and debugger from "error" to "warn")
    • Java 21 upgrade on server
    • Gradle daemon issues
    • Gradle version upgrades (8.0.2 → 8.5 → 8.13)
    • Android Gradle Plugin compatibility
    • Missing version properties in build.gradle

📅 January 2026

📱 Mobile App Improvements (January 2026)

Login & Configuration (r9807, r9808, r9810-r9818)

  • Fix reckon invoice line view
  • App settings now affects options in the main nav without having to refresh the view
  • Fix login and other fixes
  • Increased retry limit: from 50 (5 seconds) to 150 (15 seconds) to allow more time for slow API calls
  • Improved logging: logs every 10 retries to reduce noise, and logs detailed config state when it times out
  • Ensured retry starts in mounted: even if config isn't ready, it starts the retry logic
  • Fix up logging and other improvements
  • Move debug console to appsettings

Date & Time Input (r9819)

  • Added new date picker for time like Apple which was called CrmTimeInput.vue does date and time
  • Added save loaded for ActivityModalContent.vue and others

Detail View Fixes (r9820)

  • Fix dial on the detail views

🎨 Layout Designer (January 2026)

Detail View Layouts (r9821, r9822, r9823, r9824)

  • Added DetailViewLayout for Mobile
  • This is the CompanyDetailView.vue
  • Added DetailViewLayout designer
  • Fix the issue when we have web hooks from site.creatacrm.com/api/Postal/All it will handle this
  • Added missing item
  • Add another missing file

📊 Survey System (January 2026)

Standalone Survey (r9825, r9826)

  • Reduce the Survey from 200mb vue js to 1 mb size which we can add to the web Site
  • Added survey-entry.js

📱 Android App (January 2026)

Download Support (r9827, r9828)

  • Adding Download to Android
  • Fixing up the dialing of the phone on the app

🎨 Designer Enhancements (January 2026)

Settings & Tabs (r9829, r9830, r9831, r9832, r9833)

  • Added Types and edit settings for Designer.vue
  • Added Tabs on Mobile for CompanyDetailView.vue for DetailViewLayout
  • Added designer to ContactDetailView.vue on Quasar
  • Added database updates for mobile for company and contact detail view
  • Added reckon plugin
  • Fix download link

📊 Survey Printing (January 2026)

  • Added YYYY-MM-DD mm:ss on StringToDateBlock.cs
  • Add Print to Survey to Job company and contact

📅 Date Tracking (January 2026)

Last Email Date (r9835)

  • Added LastEmailDate on Contact Company and Opportunities
  • Add LastEmailDate property to Company.bo.cs
  • Add LastEmailDate property to Contact.bo.cs
  • Add LastEmailDate property to Opportunity.bo.cs
  • Update Activity OnSaving to set LastEmailDate for Email activities
  • Added LastStageChangedDate Field on Opportunities
  • ActualWonDate Field - Added to Opportunity.bo.cs with UtcTimeZoneConverter, automatically set in the OnChanged method when Status changes to ClosedWon
  • ActualLostDate Field

⚙️ Workflow Blocks (January 2026)

Null Handling (r9836, r9837)

  • Add a NullCheckActivity block before your StringToDateActivity
  • Set the TheObject input to your date data source
  • The activity will output IsNotNull as true or false
  • Use an If/Then condition block with the IsNotNull result
  • Add date been null in SetMemberValueActivity.cs

📋 Process Management (January 2026)

Process Editor (r9838, r9839)

  • Added A new process to ProcessList.vue with delete process
  • Added Assign to another Stage in ProcessEdit.vue

💰 Reckon Sync (January 2026)

Invoice Sync Action (r9840)

  • Added a Action to Sync a Reckon Invoice and improve or fix invoiceSync for Reckon

📁 Document Management (January 2026)

Image Preview (r9841)

  • Added Preview for images for DocumentFolders.vue

🐛 Bug Fixes (January 2026)

CMS Crash Fix (r9843)

  • Fixed CMS crash relating to MyobObjectSpaceWatcher registering handlers for ManyToManyAlias collections
  • The bug was exposed when SalesOrder.Jobs, Job.SalesOrders, Invoice.Jobs, Job.Invoices ManyToManyAlias properties were accessed
  • The fix handles both XPBaseCollection and XPManyToManyAliasList

📊 Collection Enhancements (January 2026)

Nested Properties & Templates (r9844)

  • Enhanced Collection and CollectionPill components with nested property support and calculated captions
  • Fixed blank pill display issue by using getPropertyValue() for Record objects
  • Added support for nested property access using dot notation (e.g., "Item.Name", "Item.QuantityOnHand")
  • Implemented template expression support for calculated captions combining multiple fields
  • Fixed DevExtreme E1047 error by disabling header filtering for collection-pill columns
  • Updated deprecated DxHeaderFilter allowSearch to use search.enabled syntax
  • Fixed NullReferenceException in FilterConverter.cs when searching collection columns
  • Fixed SQL conversion error when filtering collection columns with template expressions

💬 Popup Comments (January 2026)

New Column Type (r9845)

  • Added new "Popup Comments" column type for TableBuilder
  • Target: Text/String fields with multiline comment support and timestamp notes
  • Features:
    • Popup modal editor with CreataCRM brand styling
    • Multiline textarea with auto-focus
    • "Add Note" button that prepends timestamped entries
    • Timestamp format: [DD/MM/YYYY HH:mm:ss] followed by two line feeds
    • Configurable fixed column width and maximum height
    • Scrollable view with word-wrap support

📅 Timeline Calendar (January 2026)

Company Timeline (r9846)

  • ShowTimelineCalendarAction.ts - Action class
  • ID: 'show-timeline-calendar:Company'
  • Icon: calendar
  • Color: #2C86D3
  • Requires a single Company record
  • ShowTimelineCalendarActionComponent.vue - Vue component that shows UiFabricModal with TimelineCalendar

🐛 Sales Order Fix (January 2026)

Object Reference Error (r9847)

  • Ticket 4029 - Edit Sales order - 'Object reference' error

🔍 Polymorphic Filtering (January 2026)

Collection Filter Fix (r9848)

  • Fixed polymorphic collection filtering for DevExtreme TableBuilder
  • Problem: Filtering on polymorphic collection properties (e.g., MyobItem.Name in ItemSalesOrderLine) was causing InvalidPropertyPathException
  • Solution:
    • Enhanced polymorphic filter detection to handle AggregateOperand
    • Updated all filter detection methods
    • Fixed in-memory filtering evaluation to use contains matching (case-insensitive)
    • Added comprehensive debug logging

🐛 Job Invoices (January 2026)

Non-clonable Fix (r9849)

  • Ticket 4037 - Added nonclonable to Invoices on jobs

💰 Price List (January 2026)

Expression Validation (r9850)

  • Price List In update cache swal a warning on bad Expressions
  • Added Edit and Save and View on the layout

💰 Reckon Groups (January 2026)

Group Preservation (r9851)

  • SalesOrderLines.vue - Fixed PreventGroupModification default value: changed from true to false so groups are editable by default
  • Fixed bundle loading: updated search criteria to include bundles even when a price list is active
  • Fixed endless spinner: handled empty bundles by creating header/subtotal and properly closing the modal
  • ReckonSettings.cs - Added PreserveGroup property (defaults to true)
  • SalesOrderConverter.cs & InvoiceConverter.cs - Updated all methods to check both PreventGroupModification AND PreserveGroup
  • Fix Reckon XML generation issues and add diagnostic logging
  • Fix empty address/company name causing XML parsing errors
  • Add XML sanitization for CustomerAdd/Mod

📎 Opportunity Attachments (January 2026)

Attachment Fix (r9852)

  • Fixed typo: Changed "linkFieldName": "Opportunties" → "Opportunity"
  • Added Attachments collection field to Opportunity recordSpace config
  • Added OpportunityAttachment type with fields (Oid, Name, Category) and linked fields (Opportunity, Folder)
  • Fixed bug in Documents.vue: Changed :LinkToFieldName="recordType" → :LinkToFieldName="actualLinkField"
  • Rewrote created() method to detect if linkFieldName is a collection field and derive PayloadType correctly

📋 Kanban Board (January 2026)

Process Persistence (r9853, r9854)

  • Fix: Process saving and selection persistence in JobKanbanBoard
  • Save process edits to TaskProcess table for virtual kanban mode
  • Added saveProcessesToTaskProcess() and calculateStageDiffs() methods
  • Extended Preferences.ts with jobKanbanSelectedProcess for persistence
  • Use database Oid as process ID instead of nanoid() for consistency
  • Process selection now persists across page reloads
  • Drag and drop at the right spot

⚙️ Workflow Blocks (January 2026)

Date Formatting (r9855)

  • Add missing WorkflowName property to web config

🔔 Push Notifications (January 2026)

Error Handling (r9856)

  • Added Try catch to the postpusherNotifer

📅 February 2026

📱 Mobile Layout Designer (February 2026)

Widget System (r9857, r9858, r9859, r9860, r9861, r9862)

  • Mobile Layout Designer: Implement widget-based layout system with grid layout support
  • Major Features:
    • Mobile layout designer and editor (NavEditor) for configuring mobile menu items
    • Widget-based layout rendering system for mobile devices
    • CSS Grid layout support using areaTemplate for flexible area positioning
    • Mobile layout preview and editing capabilities
  • Widget System:
    • TableWidget: Full-featured data table with pagination, sorting, filtering, and row click navigation
    • ChartWidget: DevExtreme charts (bar, line, pie) with aggregated data support
    • BoSearchWidget: Business object search filter with repository-scoped filtering
    • EnumFilterWidget: Enum value filter dropdown
    • ActionsContainerWidget: Action buttons and dropdown menus
    • HeaderWidget: Title display without breadcrumbs
    • ButtonWidget: Command buttons with code action support
    • ModalWidget: Dialog modals with variable binding
    • CardWidget, ListWidget, TextWidget, ImageWidget, HtmlTemplateWidget: Content widgets
    • PlaceholderWidget: Fallback for unsupported widget types
  • Layout Features:
    • areaTemplate grid layout: Define area positions using CSS Grid
    • Flexbox area styling: Support for row/column layouts, flexWrap, gap, placeContent, placeItems
    • Repository-scoped filtering: Filters applied per repository within layouts
    • Edit mode: Toggle to show/hide area headers and item labels for cleaner view
  • Navigation:
    • Mobile NavEditor: Design and configure mobile menu sections and items
    • Custom items: Support for custom menu items linked to mobile layouts
    • Layout routing: Dynamic routing to mobile layouts via /Mobile/Layout/{layoutName}
  • Fix up Web.config added slack and added new tablebuilder api
  • Manage layouts design for mobile
  • Mobile shop chart

🛠️ Job & MYOB Integration (February 2026)

Order & Invoice Fixes (r9863, r9864)

  • Fix order when creating job items in table on job
  • MYOB OS Watcher: On Invoice save set Myob Job from a Job if there's a Job that has a MYOB Job linked
  • Fix truncation not matching field size when creating invoice lines to send to MYOB

🛒 Mobile Shopfront (February 2026)

Product Card Templates (r9865, r9866)

  • Restore and enhance dynamic product card template loading in mobile shopfront
  • Restored dynamic template loading functionality
  • Re-implemented loadCardTemplate() method to fetch templates from ClientPageResource named "QuasarProductCardTemplateMobile"
  • Added fallback mechanism: if handler returns empty, fetches via API
  • Enhanced cache-busting for template loading
  • Added dynamic mappings support - parses JSON mappings from ClientPageResource.Mappings field
  • Added ItemType badge color helper - Maps ItemType values to Quasar color scheme
  • Fixed Vue reactivity warning - Wrapped component definition with markRaw()
  • Allows clients to customize product card templates without recompiling code

💰 Sales & Reckon Actions (February 2026)

Authorization Fixes (r9867, r9868)

  • Fix missing over rights from reckon for SaleDetailView.vue added actions back in and CompanyDetailView.vue
  • Authorization working

⚙️ Workflow Blocks (February 2026)

Date Formatting & URL Blocks (r9869)

  • Add workflow block for formatting dates - currently only Iso8601, options can be added later
  • Modify GetFromUrl block to allow sending a body (optional), changes to Post if body is added

📦 Warehouse & Stock Management (February 2026)

Stock Locations Popover (r9870)

  • Added Stock Locations Popover in Quote Lines
  • Added StockLocationsPopover component to QuoteLinesGroup.vue
  • Matched the format from SalesOrderLines.vue (single with template blocks)
  • Consolidated plugin columns (Myob, Reckon, Xero) into single column with templates
  • Added IInventory, ReckonItem, and ReckonItemGroup mappings to QuoteContent.vue
  • Warehouse Mapping Fixes:
    • Added Warehouse property to FakeQuote object in QuoteContent.vue
    • This ensures Quote.Warehouse is available in QuoteLinesGroup.vue for stock locations popover
  • Warehouse Locations Loading:
    • Added async loadWarehouseLocations() function in OrderContent.vue
    • Loads Locations when a different warehouse is selected for fulfilment
    • Fixed null reference error in Actions.js when warehouse.Locations is undefined
    • Added defensive checks for warehouse.Locations before accessing
  • UI Improvements:
    • Enhanced warehouse display in PickContent.vue with better styling
    • Improved warehouse selection modal in OrderContent.vue with custom header, description, and styled buttons
    • Updated stock required modal to use table format instead of list
    • Changed warehouse-info background to rgba(200, 228, 250, 0.8) with darker grey text

🛠️ Job Creation (February 2026)

Order to Job Fix (r9871)

  • Order to Create Job fix up

📥 File Downloads (February 2026)

Select All Option (r9872)

  • Added selected all to download file

💰 Sales Total Editing (February 2026)

Reactive Total Changes (r9873)

  • Reactive change of total edit mode will change the fields

📊 CollectionPill Enhancements (February 2026)

HTML Styling & Excel Export (r9874, r9875)

  • Enhanced CollectionPill column type with mail merge support, HTML styling, line feed option, and improved Excel export functionality
  • Mail Merge Support:
    • Supports ` and[FieldName]` formats
    • Handles nested properties (e.g., Item.QuantityOnHand)
    • Resolves template expressions like Item.Name - Item.Number
    • Properly handles numeric values including 0 and boolean values
  • Line Feed Option:
    • Checkbox in Options.vue to display each collection item on a new line
    • CSS styling to change flex direction to column when enabled
  • HTML Styling:
    • Checkbox to enable HTML styling
    • HTML editor modal (HtmlFieldEditModal) to edit HTML templates
    • Support for `` placeholder
    • Conditional expression support
    • XSS protection via HTML escaping
  • Excel Export Enhancements:
    • "Display HTML in Export" checkbox in TableBuilder toolbar
    • HTML-to-Excel rich text conversion:
      • Converts HTML tags (<b>, <i>, <u>, <span>, etc.) to Excel formatting
      • Preserves font colors, background colors, bold, italic, underline
      • Applies cell fill (background color) to entire Excel cell
      • Supports conditional styling based on field values
    • Plain text export option (default) that strips HTML tags
  • Technical Details:
    • Parses HTML using DOM API
    • Converts hex colors to Excel ARGB format (FF + RGB)
    • Maps HTML tags to ExcelJS properties
    • Updated styling: Changed from bright blue (#2C86D3) to lighter blue (#E3F2FD) with darker blue text (#1976D2)

📊 Summary Statistics

By Month

Month Commits Period Key Focus Areas
October 2025 ~15 Oct 17-31 MYOB Sync, Email, Scheduler, Table Builder
November 2025 ~60 Nov 1-30 Price Lists, Surveys, Reckon Integration, Sales
December 2025 ~50 Dec 1-31 Webhooks, Timeline, Mobile Upgrade, Warehouse
January 2026 ~60 Jan 1-31 Mobile Layouts, Collections, Comments, Kanban
February 2026 ~23 Feb 1-10 Mobile Widgets, Shopfront, Workflow Blocks, CollectionPill, Warehouse

By Category

Category Features Impact
Mobile App 40+ High
Sales & Quotes 35+ High
Reckon Integration 25+ High
Table Builder 25+ High
Survey System 15+ Medium
Workflow Blocks 12+ Medium
Price Lists 10+ Medium
Warehouse Management 8+ Medium
Webhooks 5+ Medium
Kanban Boards 5+ Medium

By Developer

Developer Commits Percentage
reece ~146 70%
josh ~62 30%

🎯 Major Milestones

October 2025

  • ✅ MYOB invoice sync improvements
  • ✅ Scheduler activity modal enhancements
  • ✅ Table builder grouping options
  • ✅ Reckon ShipDate support

November 2025

  • ✅ Supplier dashboard and management
  • ✅ Price list detail view with expression editor
  • ✅ Survey system with auto-generated table configs
  • ✅ Reckon job creation from sales
  • ✅ Quote approval system
  • ✅ Sales dashboard views

December 2025

  • ✅ Webhook distribution service
  • ✅ Timeline campaign events
  • ✅ Mobile app upgrade to Quasar 2 + Vue 3 + Node 22
  • ✅ Warehouse management improvements
  • ✅ Security roles for customer restrictions
  • ✅ Number template enhancements

January 2026

  • ✅ Mobile DetailViewLayout designer
  • ✅ Survey standalone version (200MB → 1MB)
  • ✅ LastEmailDate tracking on Contacts, Companies, Opportunities
  • ✅ Collection nested properties and template expressions
  • ✅ Popup Comments column type
  • ✅ Polymorphic collection filtering fixes
  • ✅ Kanban board process persistence

February 2026

  • ✅ Mobile Layout Designer with widget system
  • ✅ Mobile shopfront with dynamic product card templates
  • ✅ Workflow date formatting blocks
  • ✅ Enhanced GetFromUrl block with POST body support
  • ✅ Stock locations popover in quote lines
  • ✅ Warehouse location loading improvements
  • ✅ CollectionPill HTML styling and Excel export enhancements

🚀 Top 10 Features of This Period

  1. Mobile Layout Designer — Complete widget-based layout system with grid support
  2. Survey System — Auto-generated table configs, standalone version, print support
  3. CollectionPill Enhancements — HTML styling, mail merge, Excel export with rich text formatting
  4. Collection Enhancements — Nested properties, template expressions, calculated captions
  5. Reckon Integration — Job creation, group handling, invoice sync improvements
  6. Price List Management — Expression editor, detail view, company/contact actions
  7. Mobile App Upgrade — Quasar 2, Vue 3, Node 22, Java 21, Gradle 8.13
  8. Popup Comments Column — Timestamped notes with multiline support
  9. Warehouse Management — Stock locations popover, location loading, flat items list
  10. Webhook Distribution — Service for distributing webhooks with error handling

💡 Innovation Highlights

Mobile Experience

  • Widget-based layout system for complete customization
  • Dynamic product card templates for shopfront
  • DetailViewLayout designer for mobile views
  • Standalone survey component (99.5% size reduction)

Data Management

  • Nested property access in collections
  • Template expressions for calculated captions
  • CollectionPill HTML styling with conditional expressions
  • HTML-to-Excel rich text conversion
  • Polymorphic collection filtering
  • LastEmailDate tracking across entities

Integration

  • Reckon: Job creation, group preservation, invoice sync
  • MYOB: Invoice sync improvements, job linking
  • Webhooks: Distribution service with error handling

User Experience

  • Popup Comments with timestamped notes
  • Expression editor for calculated fields
  • Activity type filtering in scheduler
  • Timeline calendar for companies

Workflow Automation

  • Date formatting blocks (ISO8601)
  • Enhanced GetFromUrl with POST body support
  • NullCheckActivity for date handling
  • UnixTimestampToDateActivity block

🔧 Technical Improvements

Architecture

  • Mobile widget system with 15+ widget types
  • Repository-scoped filtering
  • CSS Grid layout support
  • Dynamic template compilation

Code Quality

  • Fixed CMS crash with ManyToManyAlias handling
  • Polymorphic filter detection improvements
  • Error handling in push notifications
  • Comprehensive debug logging

Performance

  • Survey size reduction (200MB → 1MB)
  • Cache-busting for dynamic templates
  • Retry logic improvements (5s → 15s)
  • Gradle and build optimizations

Security

  • Security roles for customer restrictions
  • Authorization fixes for Reckon actions
  • Webhook error handling

📖 Documentation

  • ANDROID_STUDIO_UPGRADE_GUIDE.md
  • DEVELOPMENT_NOTES.md (updated)
  • Mobile DetailViewLayout documentation
  • Collection properties documentation
  • Widget system architecture docs

Generated from SVN log: r9667 - r9875 (208 commits from October 17, 2025 to February 10, 2026)

results matching ""

    No results matching ""