Changes
phpaga 0.6
New features
- PDF files are now generated by TCPDF. The previously used PDF templates can
no longer be used, but simple plugins can customize the base PDF classes.
- The dashboard has been extended to show the user’s manhours per current
year/month/week.
- Added jQuery UI.
- Various user interface enhancements.
- The bill, person and project detail pages have been “tabbified”.
- Manhours charts can now be browsed through by month and/or year without
reloading the page.
- Replaced the previous color picker with the jQuery-based “Really Simple Color
Picker”.
- Replaced the previous date picker with the jQuery UI Datepicker.
Fixed
- Invoices without line items can no longer be saved; old invoices without line
items can now be removed.
New billing method plugins
- Cynick Young has contributed various Canadian billing plugins.
Translations
- Full Spanish (Castilian) translation by Ricardo A. Hermosilla Carrillo
Other
- The handling of languages and language settings has been simplified.
- Billing plugins have been moved to the directory plugins/billing/. If you had
any custom plugins under lib/bill/ make sure you move them to their new
place.
- Also, billing plugins are now classes that extend the base class
BillingDetails. Plugins that ship with phpaga have been converted. If you use
a custom billing plugin you will need to migrate it to the new format. See
Billing plugins for information on how to migrate existing plugins.
- For developers: New sitewide settings can now be added without the need of
adding database records. The default settings are defined in the array
$phpaga_default_settings in etc/globals.php.
- The handling of user settings has been simplified (a user’s settings are
now stored as a serialized array with the user record).
- Lots of code cleanup, mainly regarding templates and JavaScript code.
- The (optional) sidebar has been removed in favour of a cleaner layout.
- The tasks’ start and end date have finally been migrated to use proper data
types (instead of Unix time, “timestamp without time zone” for PostgreSQL and
“datetime” for MySQL are now used).
- smarty-gettext has been included in the repository (under ext/), thus it is
no longer necessary to install it separetely.
- Smarty 3 is used. If you have written your own template set, mnake sure your
templates are valid for Smarty 3.0.5 or later.
phpaga 0.5.1
New features
- The company page has been “tabbified”.
Fixed
- Fixed an issue with finance calculations when the fiscal year does not start
in January.
- Fixed a minor layout issue on the finances report.
phpaga 0.5
New features
- Charts are now generated via JavaScript by using the jqPlot library.
Therefore ezComponents are no longer required.
- Late Fees - Manual process; Adds late fee to invoice for unpaid balance. Late
fee amount calculation based on percentage specified in Sitewide Settings.
Updated bill page and pdf invoice to display late fees
- Payments - Support for payments on unpaid invoices/bills.
- Updated finances reports to use payments in calucations
- Updated bill page and pdf invoice to display payments and balance due; ticket #42
- Payment date automatically set when payments equal or exceed invoice amount.
- Added option to Sitewide Settings to show/hide ‘Set Payment
Date’ link. May be times when date needs to be set manaully.
- Updated all existing billing plugins to include support for payments and late
fees. NOTE to authors of billing plugins: Please verify changes are
backward-compatible.
- Added Notes field to invoices and payments.
- Added ability to enable/disable display of currency abbreviation after
monetary values.
- Added field to Sitewide Settings for monetary symbol to be displayed in
front of monetary values e.g. $ or €
- Added Bar Chart highlighting to display exact monetary amount for each
bar on Finances Invoiced/Received/Missing chart. Also added option to
Sitewide Settings to enable/disable highlighting.
- New billing plugin by Tim Esselens (Belgium VAT)
- Ticket #55: Allow an invoice’s payment date to be modified
- Ticket #72: PDF template sets
- Ticket #74: Show/hide the unbilled hours panel
Fixed
- Replaced _REQUEST with REQUEST_DATA that contains only _GET and _POST,
addressing a problem reported and analyzed by Jools Wills (cookie
collision).
- Fixed bug making it possible to bill again already invoiced expenses.
- Ticket #42: Balance Due now calulated and displayed on invoices when payment
has been made.
- phpaga.css: references missing sortable.gif; fixed path and added
sortable.gif to htdocs/img/phpaga/
- Fixed bug causing paid invoices with due date in the past to be displayed
with red due date text.
- A company’s financial information is no longer displayed if the user does
not have the required permission
- Ticket #78: Handling of time in task entry inconsistent
- Ticket #59: Cannot delete expenses
- Ticket #57: Finance report chart: Wrong value for the “missing” bar
- Ticket #54: Do not allow project removal when related invoices
exist
phpaga 0.4
New or changed requirements
- UTF-8 locales
- PostgreSQL >= 7.4, MySQL >= 4.1.16
- PHP >= 5.2 is required with PDO and the PDO driver for PostgreSQL
or MySQL
- eZ Components are required
- JpGraph is no longer used
- PEAR packages are no longer required - all dependencies from PEAR
have been removed.
- The project timeline has been removed
- Picking a date is now handled by the “Unobtrusive Date-Picker
Widgit” by frequency-decoder.com. (The coolest DHTML calendar
widget is no longer required.)
New features
- Simple recurring invoices. (Ticket #7)
- Improved databased abstraction, new error handling, HTML cleanup.
- Files can be uploaded and associated to persons. (The “foto”
feature has been removed from person’s details. A migration script
is available at tools/migrate_personpictures.php.)
- UTF-8 support (read the relevant sections in the INSTALL file
before upgrading your existing installation)
- An optional contact person has been added to invoices and
quotations. (Ticket #34)
- An invoice due date has been added. (Ticket #35)
- When a quotation is turned into an invoice, the quotation number
can optionally be used as invoice number. (Ticket #30)
- It is no longer possible to store two invoices with the same
number within the same year. (Ticket #31)
- Filed expenses can be added to an invoice (existing custom billing
plugins need to be slightly changed).
- Jeremy from omnitechpro.com has submitted the following patches:
- Show materials amount on unbilled hours page
- Show invoice amount on invoice list page
- Add “unpaid” bar to finances graph
- Add invoice popup on Unbilled Hours screen
Updated translations
- Norwegian (Roger Bystrøm)
New billing method plugins
- Netherlands: nld_btw_hoog.php (Angelo Höngens)
Fixed
- Ticket #48: Letterhead layout problems with PDF documents in “letter” format.
- Ticket #25: With MySQL new projects would show up as blank under
the unbilled hours page.
- Unbilled hours would show up on invoices.
- Fixed problems related to Javascript behaviour under various browsers.
phpaga 0.3a
Fixed
- Fixed a minor issue with the installer in 0.3 that could be
triggered when trying to create the database on a remote MySQL
server.
phpaga 0.3
New requirements
- PHP with gettext enabled
- smarty-gettext
- PEAR DB >= 1.7.6
- PEAR HTTP_Upload >= 0.9.1
- HTTP_Download >= 1.1.1
- HTTP_Header >= 1.2.0
- locales for desired supported languages
- Graphviz and PEAR IMAGE_Graphviz (optional, if you want to see
project relationship graphs)
- Removed Overlib dependency, tooltips now shown with Walter Zorn’s
DHTML JavaScript Tooltips library (comes bundled with phpaga)
- If you are using MySQL then MySQL >= 4.1.15 is required
- 3rd party libraries are now moved to their own subdirectory ext/
New features
- A web interface for assisted database upgrade during phpaga upgrades has been added.
- First time “wizard” has been enhanced to create database structure and
import core data.
- Added the possibility to assign default hourly rates per task
type; per task type per project; per task type, project and
project member.
- Multiple invoices can be exported to a single PDF file.
- Invoices can be created from within a project page, and tracked
material and tasks can be added.
- Quotations can be deleted as long as they are not tied to a project.
- Material can now be tracked per project.
- Product management added. Also, if a product with the product code
of a new line item exists in the database, the description and price
are added automatically to the line item.
- Files can be uploaded and associated to projects.
- The day and month of the beginning of the fiscal year can be
defined. All financial reports are now based on the fiscal year.
- A default term of payment can be saved per company. This value can
be fetched when creating an invoice.
- Let only users with the right permissions see all projects; other
users see only projects they created or they are a member of. This
is both true for the projects search interface and for the projects
timeline.
- Hide a project’s financial information (hourly rates, human cost)
from “common” project members. Show “common” project members their
own expenses but nobody elses.
- Added the possibility to upload and assign a picture to a person.
- When a project is created from a quotation then add a reference to
said quotation
- Added a simple system information and an application log viewer
- Added project priority (suggested by Mark Parssey)
- Search bills/quotations between two dates
- Enable/disable installed billing plugins. Disabled plugins don’t
show up in drop-downs when creating new invoices/quotations
- Line items for invoices and quotations (conversion script for
existing inv/quot)
- Search interfaces for persons and for companies (Mark Parssey)
- Only persons with a user account are shown when adding a new project
member (Mark Parssey)
- Show project relationship graph (optional - Graphviz and PEAR
Image_Graphviz required)
- Added a “summary overview” page
- An individual color can be specified for each operation category
- Persons: show projects person is owner or member of
- List summary overview of unbilled hours per customer and project;
create invoice from unbilled hours
- Projects search interface; print project list to PDF (Mark Parssey)
- Projects: Added deadline (Mark Parssey)
- Projects: Added estimated manhours, estimated cost manhours,
estimated cost material, parent project, billable status
- Get persons’s default job category when adding a project member
(Mark Parssey)
- Default hourly rate per person (this rate is suggested when adding a
new project member)
- First time setup “wizard” (to create first user and person via web)
- Permission system
- All user submitted data is escaped/quoted by PEAR DB’s methods
before being stored in the database
- When selecting a language it is first checked whether the required
locale is installed
- Second address field added to companies and persons
- Delete users
- Added task category matrix/graph to company page
- A list of invoices and the billing summary is shown on a company’s
details page
- Added a detailed overview to the project page that shows the sum of
time per task category per person in a matrix
- Delete companies
- Billing method plugin installer/uninstaller
- Delete invoices that have not been paid yet
- Translations handled by gettext
- New billing method plugin by Daniel Cabezas
- Main page: show only projects the current user created or is a
member of
- Limit number of characters shown for project title and task category
title in task lists
New billing method plugins
- Spain: esp_liberoprof_euro.php (Daniel Cabezas)
- Canada: cdn_gstpst.php (Ken)
- USA: usa_sales.php (Arif Hamirani)
- Germany: de_mwst.php (Jens Bierkandt)
New translations
- Norwegian (Sverre Farstad)
- French (Benoit Nicolas)
Fixed
- Include JpGraph libraries only when actually creating a graph
- When changing a task, the task is no longer “taken over” by the
changing user
- Thousands and decimal separator settings were not respected on the
financial overview page
- New invoice/quotation numers greater that 10 would not be calculated
correctly
phpaga 0.2
New features
- Create an invoice from a quotation
- Clone operations and invoices
- Added “average weekly work hours” line in weekly manhours graph
- Separated pdf layout (templates) from library, making it easier to
personalize the pdf output
- Additional task search parameters (sponsored request)
- Added a detailed overview to the person page that shows the sum of
time per task category per project in a matrix
- Added a field to projects that can contain the company that issues
the invoice (sponsored request)
- Changed various text links to icons (using gnome icons from
http://jimmac.musichall.cz/ikony.php3)
- Added a billing plugin (sales of goods) written by Alessio Bogani
- Added basic expense tracking per project (i.e. travel, hotel, meals)
- Allow multiline input for company location in the letterhead (patch
by Robert Paskowitz)
- New web-based configuration system
- Added robots.txt (to prevent spiders from indexing phpaga sites)
- Added combined financial graph
- Added contrib/ for contributed stuff. Moved contributed style sheet(s)
to contrib/
- Give detailed information when unable to connect to the database when
PHPAGA_ERR_VERBOSE is defined and true
- Added a turnover history graph
- Added human costs calculation for invoices and project information.
The necessary information is taken from the project memberships table
(hourly rates field).
- When adding a task, administrators can now file hours for other users,
not just themselves
New translations
- Danish (Per Christiansen)
- Hungarian (Fehér János)
- Russian (Dmitry Stroganov)
- Spanish (Daniel Cabezas)
Fixed
- Gantt chart (project timeline) shows cleanly, projects bars are
linked to projects
- Various code, templates and stylesheets cleanups; interface
improvements
- Email address check did not allow upper case letters
- Moved more display logic into the Smarty templates
- Fixed a bug regarding the handling of timestamps in PostgreSQL