Note: This release has a companion 4.0.8 appliance release.
Enhancements
General
- Added a
summary_display()
device module hook function to control display of the summary box on a device page (return value must be one of the following constants:device_module::ALWAYS_HIDE
,device_module::ALWAYS_DISPLAY
,device_module::HIDE_IF_EMPTY
) - Added more details to the “DB error: connect failed” error message to help troubleshooting
Client Manager
- Authentication can now be allowed/revoked for a client and/or contact through a simple checkbox in the “Change Password” and “Edit Contact” popups
Device Manager
- Added TLS connectivity support for R1Soft CDP servers
Support Manager
- Tickets will now indicate their origin (“Email” or “UI/API”) on the ticket view and in the
support.ticket_get
,support.ticket_list
andsupport.ticket_post_list
API methods
Sales Manager
- Added “Quote Viewed” log event for quotes
- Quote signature page now allows displaying no payment methods whatsoever
Bugfixes
General
- Added pruning to the
event_trigger_queue
database table - Fixed spacing around the company name/logo on the login screen
- Fixed spacing around the search icon on the search results page
- Improved security when handling and storing cPanel or DirectAdmin user credentials in order forms, orders and services
- Fixed display bug with notification messages
- Fixed “send mail to list” in advanced search results
- Fixed viewing details of some events showing “This event does not appear to be of the correct type” error (specifically for add/edit/remove events for clients, credits, services, devices and opportunities)
- Fixed an issue which could generate errors when using the default MySQL internal locking mechanism
- Removed unwanted details link on
service_edited
anddevice_edited
trigger log entries in Event Log - “Client Viewable” field no longer shows up as changed when it was not for quote comment edited log entry in Event Log
- Fixed attachments disappearing due to page reload when changing department in the system’s many “Submit Support Ticket” popups
Client Manager
- Clarified many error messages in the Bandwidth Billing service module
- Setting a service’s end date to today or earlier will cause that service to be automatically cancelled
- Fixed Unit Price incorrectly showing Total Price on invoice lines with quantity greater than 1
- Setting a parent service for a service will now only display services belonging to the same client
- Fixed attachments not being included when “Send me a copy” and “Open as ticket” are selected for a client’s “Send Email” functionality
- Fixed suspend/unsuspend, cancel/uncancel and deactivation events not being properly triggered for cPanel Control Panel Account Integration service module
- Rate plan association is now correctly retained when editing a service’s pricing
- Fixed implementation of the “any” filter for Client Manager advanced search
- Fixed rounding issues on invoices which could cause Invoice Total to be off by 0.01$
- Improved UI handling of client names longer than 27 characters
- Fixed service note add/edits not being recorded in the event log
- Service start date is now a required field when editing a service, to avoid problematic service states
- Fixed before and after values of service comment edits not being stored correctly in event log
- Fixed PDF invoices so all world currency symbols should now display correctly
- Fixed option data not being fully removed from a coupon when it is disassociated from a service plan
- Fixed attachments disappearing due to page reload when changing department with the “Open as ticket” option in a client’s “Send Email” functionality
- Fixed issues with proration in some cases being applied more than once when saving a service’s “Billing Information” without applying any changes
- Fixed incorrect ‘Billing Start Date can not be empty’ error message when trying to edit a service
- Fixed a (mostly visual) bug which could cause a service price to be multiplied by the quantity twice when migrating to 4.x
- Fixed an issue which would cause a service’s Start Date to be incorrectly set to today when editing said service
Support Manager
- Fixed double-encoding in the title of some Support Manager listings which was breaking embedded links
- New tickets will no longer be associated to a client when sender’s email address is from a deactivated contact
- Fixed typo in auto-refresh feature
- Changed the default setting for “Only Accept New Tickets from Authorized Contacts:” to “No” on the “Add Department” popup for added security
Device Manager
- Replaced “Configurable Fields” with “Custom Fields” in Add Device popup for uniformity
- Standardize units in Bandwidth Monitoring graphs so bytes are used instead of bits for transfer totals
- Fixed device comment added events displaying “This event does not appear to be of the correct type” error when attempting to view details
- Fixed before and after values of device comment edits not being stored correctly in event log
- Fixed R1Soft CDP 3.0 Enterprise Server graph
- Improved visibility of deactivated devices by showing their names in strikethrough, adding a “Status: Deactivated” line in the device info and fixing the deactivated device icon
Order Manager
- Taxes defined in order forms are now properly transferred to resulting services
- Error messages for missing required fields in order module configuration will now identify missing fields by their actual labels
- Fixed some display issues in Order Form wizard
- Fixed “Access Denied” error being displayed when trying to view an order in a deactivated order queue
- Fixed Send Templated Email order queue action improperly escaping “<” symbols
Sales Manager
- “Save” button is now displayed again in the “Duplicate Quote” popup
Reports
- Fixed the standard bar graphs not displaying correctly
API
- Fixed
device.ip_assignment_add
API method so it properly assigns only the requested subnet, instead of all the similar subnets in the block - Fixed the
required
property for order modules config items (declared in theconfig_items()
method) - Fixed structure of
uber.admin_permission_list
API method output to be consistent with documentation order_modules::buttons()
implementation now properly handles returningPEAR_Error
objects- Service start date will now default to today’s date when not specified for
client.service_add
API method
Client Portal
- Internal tickets will no longer be included in a client’s ticket count