CHANGELOG 2014-01-01 Jethro Carr * Released version 2.0.1 New Functionality * Invoices and credit notes can be downloaded via SOAP API call (thanks to Max Milaney's contribution). * Database schema updater now supported hosted/multi-instance mode. Bug Fixes * Service type "licenses" was missing in release 2.0.0 * Quotes page was missing edit/delete links (issue 395) * Compatibility fixes for MySQL 5.6 STRICT mode. * Fixes to the PHP HTTPS redirect (thanks to Dmitry Smirnov) * Minor user interface fixes. Other * Upgraded to latest Amberphplib framework. * Developer stats collection option provide more details about what gets sent home to developers. 2013-06-09 Jethro Carr * Released version 2.0.0 * (Formally 1.5.0 - version bumped to reflect vast amount of changes) New Functionality * Improved UX of CDR service history. * Added customer balance total option to customers page Bug Fixes * Bug Fix: Minor packaging fixes and adjustments * Bug Fix: Workaround for dealing with OSes shipping poor wkhtmltopdf versions. * Bug Fix: Disabling & re-enabling a service caused duplicate periods bug * Bug Fix: Resolved issues where CDR call charges were billed in the incorrect order * Bug Fix: Fixed calculation of customer balance. Was previously not taking into account credit note refund/payments. 2012-08-11 Jethro Carr * Released version 1.5.0_rc_1 New Functionality * Added ability for Customers to have multiple contacts (issue 130) * Added ability to add new projects/ phases without leaving page. * Added ability to clean and validate multiple email addresses in form fields for issue 164 * Added ability to set default taxes as per issue 222 * Added bulk payment features for AR accounts as per issue 187 * Added CDR CSV output to the service detail for phone_* services. This allows the customer to be selected for automatic CDR CSV output at time of the billing run (issue 335) * Added classic theme as per issue 34 * Added dependency status page as per issue 183 * Added dorm_helper_prepare_dromfownfromobj function - creates dropdown from SQL object rather than string - will replace CURRENTID key with default value at render time if needbe * Added email form at bottom of account statements page to allow for customer reminder emails * Added error check for currency separators to ensure the values are different * Added groups and the ability to mass select and deselect * Added Jquery UI for additional application capabilities * Added local prefix column to DDI display to ease config debugging * Added local prefix field to customer DDI configuration (issue 273) * Added missing discount field. (issue 90) * Added missing discount functionality (issue 90) * Added missing translation (issue 90) * Added multiple contacts to vendors as per issue 130 * Added new date format dd-Mmm-yyyy (issue 293) * Added new searchable dropdowns to user options page to match user details admin pages. * Added new SQL for recent theme and attribute page changes. * Added orders delete safety check (issue 90) * Added parent service reference. (issue 307) * Added recent DB changes for issue 335, issue 346 and issue 345 to install/update SQL. * Added roles to customers * Added search box to filter invoice list based on notes field (issue 201) * Added support for billgroup to NAD import (issue 300) * Added the ability to configure decimal and thousands separators * Added translation mode icon. (issue 166) * Added web 2.0 theme * Additional improvements to clear out incorrect unbilled periods due to date change (issue 334) * Addition of previous activity section to invoice templates which support it. * Adjusted activity timer with flexible configuration field. (issue 276) * Adjusted CDR export to use code_customer value rather than the backend DB ID. (issue 335) * Adjusted display code to support new AR/AP credit notes (issue 30) * Adjusted format of invoice trunk and DDI pricing to include date range and handle 0 included better (issue 296) * Adjusted invoice generation to use currency format consistantly * Adjusted invoicing backend to use same logic for both form-based email sending and cron-based email sending. (issue 130) * Adjusted linkage to resellers page to only be displayed if the customer *is* a reseller. (issue 335) * Adjusted locations of some AJAX files. * Adjusted permissions checks for new project/phase AJAX add forms on the time keeping interface. * Adjusted require functions to reflect recent OO code changes leading to breakage as per issue 177. * Adjusted UI to provide better appearance for grouped checkboxes. (issue 200) * Adjusting page configuration options order (issue 223) * Adjustments to CDR and IPv4 logic and UI. (issue 180) * Adjust ordering of CDR export columns to suit with specification. (issue 335) * An SQL function will need to be created to transfer some contact details from Customer table into the new customer_contacts and customer_contact_records tables. * Added bulk payment feature to AP (issue 187) * Auto complete and auto display new attribute rows * Changes for issue 146: Adding the quotes section to the templates page * Changes for issue 146: Adding the quote template thumbnail images * Changes for issue 146: Improving a quote template thumbnail images * Changes for issue 146, making latex quotes work again, and adding xhtml quote templates * Changes to packaging helper scripts to reflect move from CVS to SVN * Changes to support 4 SF rate tables (issue 311) * Checking in a fix in bankstatement-csv.php for issue 165 * Checking in a modification to the template page and javascript to remove an ID being used twice * Completed changes needed to provide credit note journaling. (issue 30) * Completed partial period logic and increase debugging verobisty and usefulness of messages. (issue 32) * Core functionalities of attribute page completed * Corrected file naming format of selinux modules to suit RPMs * Correct sample cronfile mistake, not including correct usage script. * Created log_debug function to allow for safer bug tracking * DB changes for account statement/reminder page (issue 221) * DB changes for IPv6 compatibility (issue 234) * DB changes for multiple contacts (issue 130) * DB changes for simplified permissions page (issue 200) * DB changes for translation tool (issue 166) * Defined user ID as 0 to prevent undefined index warning. * Delete attributes and groups * Deleteing a customer now deletes both contacts and records * Disabled new coding being done for issue 167, will roll with web 1.0 style DDI management and deploy javascript interface in future release. * Displays all overdue invoices, with option to email reminders in bulk * Displays sent status and errors without user having to manually refresh * Edited pages that use customer database to deal with new format * Enhancements for auto-reload after download for issue 1156 * Error handling is broken still * Expanded capabilities of format_arraytocommastring function for more formatting options * Extracted more inline css * FR: Enable adjustment of service start date when service has yet to be billed. (issue 334) * Implementation of new support functions in Amberphplib (to support features required for issue 335) * Implemented ability to charge for self-calls in different methods. (issue 289) * Implemented ability to display service charge details for all customers or for all services for a particular customer. (issue 345) * Implemented ability to enable/disable specific service types (issue 223) * Implemented ability to enable/disable specific service usage unit types (issue 223) * Implemented ability to export CDR records in the configured format (issue 335) * Implemented ability to lock credit notes. (issue 30) * Implemented ability to make payment of invoices from customer/vendor credit pools. (issue 30) * Implemented ability to override data_usage data caps and excess pricing. (issue 308) * Implemented ability to rename/adjust descriptions for service types, to enable customers wanting to add detailed instructions for staff. (issue 223) * Implemented Account Statements as per issue 221 * Implemented additional NAD import modes (expanding on issue 273) * Implemented AJAX actions for customer/invoice selection when adding or editing credit notes. (issue 30) * Implemented alpha-grade credit note handling for AR credits. (issue 30) * Implemented autocomplete capability for Amberphplib, using jquery-ui logic * Implemented automatic addition of order items to regular service invoices. (issue 90) * Implemented base of customer orders functionality (issue 90) * Implemented basic customer credit pool for refunds/credit notes to be stored against an account. (issue 30) * Implemented basic NAD import functionality. (issue 273) * Implemented beginning of credit note handling for AP credits. (issue 30) * Implemented better configuration options for invoice emailing. * Implemented bill groups for CDRs (issue 300) * Implemented billing cycle and billing mode enable/disable options. (issue 223) * Implemented bug fix for SQL queries on cron scripts when executing on a hosted platform - issue was caused by a change in approach of Amberphplib's handling of DB sessions. (issue 177) * Implemented CDR export generate & email logic. (issue 335) * Implemented CDR internal data source for call records. (issue 224) * Implemented configurable autopayment option to have automatically generated invoices paid from customer credit when applicable. (issue 30) * Implemented configuration option for default language (issue 166) * Implemented credit refund transaction handling. (issue 30) * Implemented date shifting for invoice dates. (issue 318) * Implemented DDI and trunk allocation overrides. (issue 296) * Implemented external database traffic accounting and usage notification. (issue 178) * Implemented fixes for credit notes in annual reports. (issue 197) * Implemented fixes for trial balance totals. (issue 197) * Implemented fix to support legacy API with new multiple-contacts capabilities. (issue 369) * Implemented fix to support legacy API with new multiple-contacts capabilities. (issue 369) * Implemented function to import form data from an associative array * Implemented improved bank statement import error handling. (issue 31) * Implemented improved rate filtering/grouping logic using javascript (issue 302). * Implemented local call charging. (issue 220) * Implemented monthly cron process for generating order invoices. (issue 90) * Implemented more advanced billing reports for batch processing jobs. (issue 277) * Implemented new configuration option for selecting CDR output format. Currently limited to one, but possible for others in future. (issue 335) * Implemented new customer attribute feature as per issue 132 * Implemented new data traffic service usage notifications to support multiple data cap/traffic type functionalities. (issue 319) * Implemented new fields for storing upstream/provider vendor ID and general notes. (issue 223) * Implemented new functions for generating grouped array data structures * Implemented new repair scripts to issue credits against incorrectly billed service usage (issue 310) * Implemented new structure, cronjob seporation and configuration options for service usage notifications (issue 320) * Implemented new traffic type billing capabilities - services will now bill and itemise different traffic types. (issue 319) * Implemented new UI features for timekeeping * Implemented new user interface for performing application translations. (issue 166) * Implemented new weekly, fortnightly and quarterly billing cycle options (issue 206) * Implemented region-based local calling prefix (issue 220) * Implemented region-based local prefix configuration (issue 220) * Implemented repair script to compare call pricing between historical and new periods. * Implemented repair script to enable sending of bulk invoices (issue 342) * Implemented seporatation of usage notification from invoicing. (issue 320) * Implemented service end date and termination (issue 309) * Implemented service rebilling for repair script processes. (issue 310) * Implemented service setup fee -> orders handling (issue 90) * Implemented support for traffic_summary schema. (issue 286) * Implemented traffic type management UI for regional/type data traffic billing (issue 319) * Implemented type-specific data cap override functionality (issue 319) * Implement invoicing history in telco style invoice. * Improved CSS for translation popup (issue 166) * Improved customer attributes page handling (issue 132) * Improved handling of prefixes (issue 233) * Improved matching of NAD records. (issue 273) * Improved service and product group handling * Improved UI of rate displays to better handle large tables of prefixes and to shorten to selected region/bill groups. (issue 302) * Improved UI showing usage vs plan invoice billed status. (issue 33) * Improvements to CDR repair to provide the ability to refund *just* CDR charges, and not the DDI/trunk charges associated. (issue 310) * Improvided CSV import functionality and display of call records. (issue 273) * Improvments to service usage functionality * Issue 144: Minor Invoice Tweaks - bug fixed in if statements, text unbolded, address fixed * Issue 144: Minor Invoice Tweaks - telco style invoice fixed * Large number of bug fixes and improvements to the codebase resulting from testing. (issue 31) * Lightened up gray border * Made adjustments to structure of usage code sections. (issue 179) * Main bits and bobs should be working, but not yet thoroughly tested * Merged Amberphplib v_20110327 * Merged in SQL changes required for new Credit Notes functionality (issue 30) * Minor adjustments due to need to support PHP < 5.3 * Minor adjustments to ordering and display of new permissions groups. (issue 200) * Minor adjustments to remove debugging that breaks non-developer systems (issue 132) * Minor logging change to framework * Missed a couple debugging lines, now removed * More features and bug fixes for attributes page * Move attributes * Moved generic usage handling into seporate class/file * Moving AJAX files out of include/ * New Groups * New schema changes including features from issue 206, 187 and 184. * New tables to be added as such: * Now using money_format function to format output * Prepared new clean install SQL file to reflect changed database structure. * Refresh invoice-export page when invoice is downloaded/ emailed * Removed deprecated taxation calculation logic (issue 285) * Resolved bug with handling of error code returns from authentication that lead to silent access denial * Safety check: Unable to delete an invoice which has a credit note assigned to it. (issue 30) * Schema upgrade 20100803 for numerious issues. * see issue 200 for necessary DB changes * SELinux policies for Fedora 13 (required for issue 171) * separated css to enable simpler themeing * SQL changes for usage bug fixes (issue 33) * SQL changes required for NAD import and region-based local calling prefixes. * Started assembly of new schemea update * Tided up reseller's user interface and added filter option for resellers to the customer list page. (issue 335) * Tidying up of the permissions UI * Tweaks to service usage handling code. (issue 180) * UI changes and improvements to support credit notes for customers/AR (issue 30) * UI for DDI ranges to be added to services page * UI improvement: added product name to items table * Updated copyright for 2011 * Updated currency processing to accept user configs as per issue 184 * Updated dropdowns throughout billing system to order by codes rather than names and to hide closed customers/vendors/projects etc * Updated for schema changes for 20110519. * Updated menu links for customer orders page. (issue 90) * Updated product documentation - for changes introduced in issue 319 * Updated tax reports to include credit notes into calculations. (issue 30) * Upgraded framework to provide filtering options (issue 302) * Upgraded handling of product taxes to provide the same behaviour as customers and vendors. * Upgrades to Amberphplib CLI-based debugging & logging. (issue 285) * Usability: Extended timer from 1second to 2seconds (handles slower servers better) * Various credit note functional changes and fixes. (issue 30) * Very rough customer attributes UI/ group abilities Bug Fixes: * Bug Fix: Added billgroup dropdown for CSV import (issue 273) * Bug Fix: Added handling code for non-usage services to prevent fatal errors. (issue 274) * Bug Fix: Added missing debug statements to new function. (issue 130) * Bug Fix: Adding a contact without a description would add a broken entry. (issue 130) * Bug Fix: Added missing dependency php-pear-Mail to RPM (issue 171) * Bug Fix: Adjusted automatic page reload timer from 2000 ms to 8000 ms to handle delays in invoice prep (issue 280) * Bug Fix: Better handling when unexpected issues cause a template file to be missing * Bug Fix: CDR rates view page showing items belonging to other rates tables. (issue 180) * Bug Fix: Charge for trunk calls on tollfree phone services. (issue 297) * Bug Fix: Check on credit balance before accepting credit payments. (issue 30) * Bug Fix: Check for both mail modules in inc_invoices (issue 183) * Bug Fix: Commited fix to handle phone_* items properly for partial periods. (issue 298) * Bug Fix: Commited fix to handle telco mode usage periods properly for partial time periods. (issue 298) * Bug Fix: Commited fix for Issue 140: Invoice text template * Bug Fix: Correct by usage unit billing to return to 2 significant figures (eg 27.12 GB) and to bill and display accordingly. (issue 328) * Bug Fix: Corrected broken button on service bundle parent link. (issue 323) * Bug Fix: Corrected clearence of SQL query cache * Bug Fix: Corrected config attribute name * Bug Fix: Corrected display of billing modes that have been disabled/de-activated. * Bug Fix: Corrected display problem of service usage groups vs service plan groups * Bug Fix: Corrected handling of service invoice billing date * Bug Fix: Corrected incorrect SQL query (issue 223) * Bug Fix: corrected issue where checkbox states not being saved across error returns. * Bug Fix: corrected reference to "balance owing" in quotes template. (issue 263) * Bug Fix: Corrected return path email address to ensure bounces return to a useful mailbox address. (issue 185) * Bug Fix: Corrected service usage notifications to respect service override options using new OO classes. (issue 320) * Bug Fix: Corrected traffic type edit check - related to issue 319 * Bug Fix: Correctly disable services rather than infiloop (issue 329) * Bug Fix: Correctly handle incremental usage alerts, so that slow accurual of usage will still trigger alerts. (issue 33) * Bug Fix: Correctly handling CSS require paths * Bug Fix: Correctly import configuration values from DB * Bug Fix: Correct statement history invoice order and prevent more recent invoices from appearing. * Bug Fix: CSS class was being broken when help messages were also used. (issue 292) * Bug Fix: Eliminated billgroups that have no charges associated from invoices to reduce clutter. (issue 300) * Bug Fix: Emails now work from cron. (issue 130) * Bug Fix: Enabled ability to override a service fee with $0. (issue 322) * Bug Fix: Corrected E_NOTICE errors (issue 279) * Bug Fix for new service final period/termination option. (issue 309) * Bug Fix: Removed pricing display for individual services from bundle members. (issue 180) * Bug Fix: Excess PHP error notices (issue 279) * Bug Fix: Fixed deletion of credit payments to prevent breaking other credit payments. (issue 30) * Bug Fix: Fixed local call charging application bug. * Bug Fix: Fixed problem with bad invoices causing complete billing run failure, now will only impact one invoice. (issue 277) * Bug Fix: Fixed sanity and safety checks of input for orders (issue 325) * Bug Fix: Fixed UI error. (issue 300) * Bug Fix: Fixing up field display formatting, recent code changes resulted in removal of newline after each checkbox * Bug Fix: Fixed transaction handling where a new transaction would not be opened after completing the previous one. (issue 282) * Bug Fix: Fixed issue with $_GET paramater handling * Bug Fix: Fixed a magic quotes bug with API input data * Bug Fix: Fixed API functionality for release 1.5.0 (issue 369) * Bug Fix: fixed a taborder bug in customers page * Bug Fix: Fixed bug in customer attributes page caused by new translation dialogue options * Bug Fix: Fixed bug with new contacts handling (issue 130) * Bug Fix: Fixed css themeing bugs as per issue 154 * Bug Fix: Fixed customer orders deletion after invoicing. (issue 90) * Bug Fix: Fixed customers page to work with new database structure * Bug Fix: Fixed error messages and processing order in AR Bulk Payment * Bug Fix: Fixed errors caused by OO code structure changes. * Bug Fix: Fixed issue with incorrect include of bundled services. (issue 345) * Bug Fix: Fixed minor javascript logic bug where aftering adding a new project, the add phase field would remain disabled. * Bug Fix: Fixed missing dest_account for automatic invoice payments from customer credit. (issue 317) * Bug Fix: Fixed missing dest_account on credit note items. (issue 317) * Bug Fix: Fixed missing include in cronjob for service/orders billing * Bug Fix: Fixed number of PHP notice errors (issue 279) * Bug Fix: Fixed packaging bug. * Bug Fix: Fixed payment processeing bug for AR bulk payments * Bug Fix: Fixed problems with select filtering working with dynamically created elements * Bug Fix: Fixed SQL query mistake * Bug Fix: Fixed version number. :-) * Bug Fix: Fixes for 4 SF CDR call rates. (issue 311) * Bug Fix: Fixes for issue 144: Minor Invoice Tweaks - PO and order numbers in XHTML templates, PO number in LaTeX templates * Bug Fix: Fixing a spelling error, charactors to characters. * Bug Fix for month-based billing with periods > 1 month (eg bimonthly, 6monthly, yearly) to correctly bill for partial periods. (issue 333) * Bug Fix: Framework grouped structure bug * Bug Fix: generic_usage, license service types usage field broken (issue 281) * Bug Fix: If an email address doesn't exist for a customer, don't generate one. * Bug Fix: Implemented support for accurate usage notifications on short and long billing periods. (issue 320) * Bug Fix: Improved 100% internet usage check * Bug Fix: Incorrect error handling for traffic modes * Bug Fix - Incorrectly ignoring the final DDI with ranges when billing. Bug found by Junewon Park. * Bug Fix: Invalid reference to table_highlight_green CSS attribute replaced with table_highlight_open * Bug Fix: Missing helpmessage javascript and CSS logic * Bug Fix: mistake in date shift function logic * Bug Fix: No invoice generated field, use send date (issue 180) * Bug Fix: Orders invoices are still emailed when ACCOUNTS_INVOICE_AUTOEMAIL is disabled. (issue 326) * Bug Fix: Removed left over console message * Bug Fix: Removed obsolete search keyword terms * Bug Fix: Resellers logic sometimes causes invalid errors due to no reseller ID provided when not needed. * Bug Fix: Resolution of debugging issue where page becomes overly wide on chrome. (issue 275) * Bug Fix: Resolved issue caused by new "active" field in joined tables. * Bug Fix: Resolved issue with invoice wrapping failing on newlines in invoice descriptions. (issue 306) * Bug Fix: Resolved issue with overdue notifications being applied to non-overdue invoices. UI now correctly shows invoices 1+ days overdue. (issue 221) * Bug Fix: Service IPv4 and DDI information will now be deleted when the service is deleted from the customer. (issue 180) * Bug Fix to correctly bill yearly services with month-based billing yearly, rather than monthly (issue 333) * Bug Fix: UI improvement, no longer display 0 as the default for a generic_with_usage service. (issue 321) * Bug Fix: unable to enable/disable service units. * Bug Fix: Various fixes for E_NOTICE handling. (issue 279) * Bug Fix: When generating batch invoices from the cron process, only the first invoice would succeed, subsequent invoices would be unable to load the template file due to being stuck in /tmp directory. * Bug Fix: When generating multiple invoices in an automated process, the includes can cause functional breakage - replaced with include once and surpressed errors 2010-06-28 Jethro Carr * Released version 1.5.0_beta_1 Invoicing Changes * Implementation of new XHTML/CSS to PDF rendering code using the wkhtmltopdf application powered by webkit * Implementation of service and product group support on some invoice templates. * Implementation of new XHTML-based version of the basic english invoice. * Implementation of new XHTML-based telco/provider style invoice. * Improved template configuration/selection page. * Improved template logic processing to provide multiple levels of foreach loops and if statements * Improved new template loops to inherit global values inside loops when no loop value has been supplied. * Improved various invoices to show customer tax field (issue 120) New Product Capabilities * Removed manual tax capabilities from products page due to breaking conformity with rest of application as well as being the cause of a lot of user confusion. It is not believed that this feature was useful to anyone. * Implemented ability to display discount in product listing. New Service Capabilities * Implementation of new object-orientated code structure and functions for better development and expandability of service billing logic. * Implemented new billing methods - telcoperiod and telecomonth for arrears billing of usage costs * Implementation of service bundling, allowing different service types to be grouped and billed * Implementation of new service groups feature, including service group nesting/levels. * Implementation of new invoice itme type "service" to better handle service entries on invoices. * Implementation of discounts on services. * Implementation of capability to override price and discount on services on a per-customer basis * Improved customer-service handling functions inside ABS. * Improved a number of internal APIs and class structures. New VoIP Service Capabilities * Implemented new VoIP billing capabilities * Implemented phone_trunk, phone_tollfree and phone_single service types. * Implemented call rate table features for handling different region charges. * Implemented ability to override call charges for a specific customer or service/plan. * Implemented interface for setting DDIs assigned to a customer. * Implemented interface for setting IPv4s assigned to a customer. * Implemented CSV import function for call rates from VoIP providers * Implemented CDR rate billing & call record history viewing for selected customers. Timekeeping * Removed unnecessary steps for accessing timekeeping page. * Improved time entry by splitting project/phase dropdown into two AJAX dropdowns. Customer Portal * Implemented various new SOAP API calls for customer portal integration. * Implemented new customer management tab for setting portal login details. Usability Changes * Added external JQuery library to provider greater javascript capabilities. * Added Javascript logic for growing the GL entry form on demand as well as automatically calculating the totals. * Added popup.php page for more options for user interaction. * Added shipping/billing same address option to customers and vendors (issue 128) * Added new search dropdown logic throughout most of application as per issue 94 * Added new AJAX logic and improved item entry for invoices and quotes. * Added theming ability. New directory created: "themes" to store subdirectory of custom CSS and logos * Improved use of CSS and HTML throughout the application. * Improved radio and button items to use labels for better usability when clicking on items. * Improved configuration page by splitting into multiple pages. * Improved menu navigation by breaking products, services and projects into separate menu categories * Improved forms by updating application to use new "money" field type that includes currency information. Amberphplib Support Functions: * Implemented function to allow selecting a single row from the database. * Implemented features to allow if logic for table row links. * Implemented SQL query catching for form elements to reduce repeat queries. * Implemented new percentage field. * Implemented new "money" form field for better usability. * Implemented of new $this->requires structure for including CSS and Javascript files. * Implemented translation functions. * Implemented multisession capabilities for Amberphplib. * Implemented ipv4 subnet query function. * Implemented function for splicing arrays into other arrays by key. * Implemented function to select a target column from the database. * Merged LDAP authentication capabilities developed for ldapauthmanager project. Other Capabilities * Implemented migration options for adding services to customers * Implemented initial version of bank statement importing * Improved code fields to allow text prefixes as per issue 127, including invoice numbers. Bug Fixes: * Bug Fix: Fixed broken journal quick entry function. * Bug Fix: Journal only posts notification to UI if a non-event journal entry is created to prevent unnessacary user notifications. * Bug Fix: Service delete page for customer did not pass correct ID * Bug Fix: Incorrect return code on database selection failure * Bug Fix: Newly created ABS accounts would appear to have debugging enabled, despite it being turned off. * Bug Fix: Corrected order of loading user configuration settings, previously session overrides for debugging were being ignored 2010-03-08 Jethro Carr * Released version 1.4.1 Potential Security Risks: * Security Fix: Fixed a bug with the bruteforce settings not being obeyed. * Security Fix: Resolved issue where stale cache data could linger on in hosted installation cronjobs, breaking service usage Application Changes: * Improvements: Updated for PHP 5.3 support by removing use of deprecated functions. * Improvements: Fixed E_NOTICE error messages that were appearing. * Improvements: Interface enhancements to use more CSS * Bug Fix: Fixes to Fedora 12 SELinux Policies * Bug Fix: Everytime a vendor was saved, their code would change. * Bug Fix: Fix to prevent the Euro charater from breaking PDFs due to LaTeX limitations. * Bug Fix: Added missing function for PDF export of time booked to projects Documentation Changes * Bug Fix: Minor adjustments and clarifications to installation manual. (thanks to Alex King) 2009-12-08 Jethro Carr * Released version 1.4.0 Application changes: * New Feature: Invoice journal now includes copy of any PDFs emailed to customers (previously only had text) * New Feature: Template selection interface to allow various PDF styles to be generated * New Feature: German AR invoice template (Contributed by Fischer Markus) * New Feature: Improved fonts when generating invoices. * New Feature: Added "Hide Non Billable Hours" filter to staff timesheets * New Feature: Added ability to disable/enable phone home via admin page. * New Feature: Vastly improved install documentation. * New Feature: SELinux policies for RHEL/CentOS 5, Fedora 11 and Fedora 12 Application Bug Fixes: * Bug Fix: Error when trying to adjust an existing project phase. * Bug Fix: Prevent errors when no sales taxes are configured. * Bug Fix: Fixed journal entry of email generated when sending invoice. * Bug Fix: Enforcing all passwords to be minimum of 4 characters. * Bug Fix: Fixed bug where usernames of less than 4 characters were unable to login. * Bug Fix: All characters are acceptable in usernames or passwords. * Bug Fix: Fax number no longer a required field in company configuration screen. * Bug Fix: Missing } prevent project deletion (Reported by Peter Lynch) * Bug Fix: Fixed typo "owned" to "owing" in english invoice template. * Bug Fix: Warning generated when uploading files with PHP warnings enabled. (Reported by Liz Quilty) 2009-10-14 Jethro Carr * Released version 1.3.0 Application changes: * New Feature - Upgraded all SQL queries to be transaction safe (ACID compliant) and to use sql_query framework class. * New Feature - Enhanced user permission controls for handling timesheets, time groups and unbilled hours. * New Feature - Service invoices for $0 are no-longer emailed to customers automatically. * New Feature - Improved past period invoicing so that an invoice with a date in the past will have all the periods generated at once and added to a single invoice. * New Feature - Option to change position of currency display from front to back (eg: NZD $20.00 or $20.00 NZD) * New Feature - Generate PDF or CSV output of almost all record tables. * New Feature - Ability to set the default employeeid to use for users when they have access to more than one employee. * New Feature - Clicking the create invoice link from vendor/customer page will cause the invoice to have the customer/vendor field automatically set * New Feature - PDF invoice now shows any payments already made on the invoice. * New Feature - MySQL database export ability from within the application. * New Feature - Integrated source download and patch generation features to meet requirements of AGPL and also providing the ability to quickly and easily submit patches to Amberdms. * New Feature - All database fields and PDFs are now using UTF8 charsets. * UI Improvement - Updated all displays to include code and names for fields such as customers, staff, etc in a single, unified way. * UI Improvement - Unified formatting of buttons/links * UI Improvement - Fixes for rendering issues on IE 7 * UI Improvement - Consistant ordering of columns on employee/staff list page. * UI Improvement - Adjusted the menu for taxes to make tax collected/paid screens eaiser to find. Application Bug Fixes: * Bug Fix - Fixed broken overdue summary fields for AR & AP invoices. * Bug Fix - Adding time item to invoice adds both billable and non-billable hours. * Bug Fix - Obsolete & incorrect message about partial payments on tax page removed. * Bug Fix - Exporting tax reports to CVS included hyperlinks in output. * Bug Fix - Tax report generated weird output when no invoices match with numerious $0 invoices. * Bug Fix - Incorrect permission check for gl/view * Bug Fix - Invoice with multiple services would not be totaled correctly. * Bug Fix - Removed caching from action_update_total() invoice function to prevent coding bugs. * Bug Fix - Valid till date on quote PDFs was incorrect. * Bug Fix - Corrected the service period code so that periods end the day before their renewal date. (eg: 14-06-2009 -> 13-07-2009) * Bug Fix - Under some situations, multiple invoices were created for historical periods. * Bug Fix - Products page should not display closed entries without EOL option * Bug Fix - Added missing date_start and date_end fields from products list page. * Bug Fix - Resolved problem where files including a space in their filename would not be accepted for upload into the journal. * Bug Fix - Fixed various search filter boxes to prevent the search from ignoring the "hide closed entries" option. * Bug Fix - Quote summary box in web interface didn't show correct currency, always defaulting to $. * Bug Fix - When using invoice item edit, if no quantity was supplied the page would return error but forget all fields. * Bug Fix - Edit a time item, change to a different time group, then no-longer able to add orig time group. * Bug Fix - Eliminated 0.00 price appearing for basic items on PDF invoices. * Bug Fix - All email sender names are now quoted to avoid issues with special characters. * Bug Fix - Email sending is now verifed to prevent failed sends being reported as successful. * Bug Fix - Both the PHP and the ABS maximum file upload limit handled gracefully. * Bug Fix - Various tweaks to fix rendering issues in IE 7 * Bug Fix - "#" char not being slashed out \ when used in LaTeX generation. * Bug Fix - Fixed problem of texlive 2007 forcing the creation of files & directories in the home directory of the webserver users. (needed for Fedora 11 OS support) * Bug Fix - Fixed typo in installer. (minor) * Bug Fix - Correct mistake in installation manual. Framework changes: * New Feature - Added new error handling functions * New Feature - Implemented language preloading features * New Feature - Implemented ACID compliance for SQL classes * New Feature - Upgrade all framework code to use sql_query class rather than direct mysql calls. * New Feature - Added caching for common user information lookup, reducing number of SQL queries * New Feature - Created format_arraytostring function to ease SQL query development. * New Feature - Implemented javascript action support in forms for changing forms when various options are selected. * New Feature - Table framework can now generate PDF of the table * New Feature - Implemented format_size_bytes function to convert human values to bytes. * New Feature - Implemented ability to enable/disable wrapping for textarea form fields. * New Feature - Implemented new temporary file and directory functions. * New Feature - Implemented new text formatting and processing function. * New Feature - Implemented quick HTTP return code lookup function. * New Feature - Phone home feature to Amberdms with PHP & server versions for userbase statistics. * Improvements - Rewrote file-upload framework code for better design reasons * Improvements - Enhanced internal translation code & APIs * Improvements - Restructed main menu code and added new render options. * Improvements - Added checkbox and date_string input validation checks * Improvements - Added various new support functions to reduce code duplication * Improvements - Added timestamp_date table render type 2009-04-07 Jethro Carr * Released version 1.2.0 * Bug Fix - (UI tweak) Missing label for quote_convert_financials form section * Bug Fix - (UI tweak) Missing label for service_options_licenses form section * Bug Fix - (UI tweak) Removed internal-only UI display of id_projects field * Bug Fix - Sending emails from web-interface of billing system has ' quoted as /' * Bug Fix - Removed unusable order-by option from GL dropdown. * Bug Fix - Date field not allowing updates from form on balance sheet report. * Bug Fix - Account ledger filter options failed to work correctly. * Bug Fix - Corrected broken max 24-hour check on booked time * Bug Fix - Error/Notification messages not correctly styled on vendor's invoices page. * New Feature - Improved tax reports cash mode to report partial payments * New Feature - Implemented product/customer/vendor discounting * New Feature - Added ability to have labels appear after standard form input fields * New Feature - Improved money/currency formatting * New Feature - Improved float input verification to accept either floats or ints * New Feature - Debugging now counts number of SQL queries made 2009-03-10 Jethro Carr * Released version 1.1.0 * Bug Fix - Account dropdowns are not sorting by chart ID. * Bug Fix - Tax deletion deletes taxes assigned to services. * Bug Fix - Fixed incorrect reference to fixed-price taxes on services page. * Bug Fix - Deleting a service will delete service-tax assignments. * Bug Fix - Deleting services from customer's accounts, removes service options, periods and usage records. * Bug Fix - Prevent customer deletion when services are assigned to customer account. * Bug Fix - Do not display hours which are marked as unbillable in a time group in the unbilled hours display. * Bug Fix - Dropdown generation code failed to work if label0 was empty. * Bug Fix - Employee code field now compulsary and automatically generates * Bug Fix - Removed incorrect time group date search feature * Bug Fix - Fixed errors on unbilled time page when there is no unbilled time. * Bug Fix - date_trans & source values of payments not being supplied via SOAP API. * Bug Fix - Add customer ID to generated invoices * Bug Fix - Prevent price of 0.00 from appearing on standard items on invoices * Bug Fix - When saving configuration with dangerous options hidden, do not disable email. * UI Improvement - Standardised dropdown UI on various pages. * UI Improvement - details field on support tickets too small * UI Improvement - Expanded description field for project phases * UI Improvement - Email message field too small * UI Improvement - Time group customer field too small. * New Feature - Added time group filter option to hide time groups belonging to invoices. * New Feature - Implemented new internal-only feature for projects to limit amount of unbilled hours shown. * New Feature - Implemented new usage alerts/notifications feature * New Feature - Added SOAP API function to fetch customer ID using the code_customer field * New Feature - Added SOAP API function to fetch invoice ID using the code_invoice field * New Feature - Generated PDF invoices now include customer/account ID on the invoice to assist customers with invoice payment. 2009-02-16 Jethro Carr * Released as version 1.0.0 * Inital product release by Amberdms.