phpgwtimetrack TODO list
for compatible phpgroupware version 0.9.10
created 04/09/2001 by Bob Schader

Section One: Internals

1. Convert the entire app to use the phpgwapi any place it can
   be used, but especially for accessing accounts, groups and
   contacts, so as to be fully LDAP compatible.

2. Work on PostgreSQL compatibility.

3. Convert php code in app to be in classes and functions of
   it's own.

4. Convert html to use templates.

5. Convert all relevant text to use lang().

6. Rearrange the layout of numerous data entry forms to be
   more pleasing.
   Include more info where appropriate, such as Company Address/
   Contact Info to job details, etc.

7. Add links where appropriate for better shortcuts.
   On Timesheets page:
	Company Name: link to viewcustomer
	Job number: link to viewjob
	Work catagory: popup or mouseover to display long info.

8. Redefine the customers, jobs, and job_details tables for added functionality
   Customers table:
   call  it something like "Organizations" instead.
	Add fields for Shipping Address, Billing Address, etc
	Add field for type (vendor, customer, self, etc).
	Add field for abbrev_name (Center Manfacturing = CENTER, CENT MFG, etc)
   Jobs table:
	Add field for P.O. number
	Add field to denote entry has been exported - done, not implemented in code yet.
	Change handling of date status change fields, these will hold unix timestamps
	 now and not be displayed in editjob, but handled automatically as trace
	 audit when job status is changed.
	Add total_hours_worked, total_billable_hours fields, which will be updated from
	both from a daily cron job and maybe a manager option somewhere.
	Once a job is marked as exported, only allow TTrack_Managers (maybe Payroll)
	to make changes to it (this will not affect the total_hours updating above).
   Job details table:
	Add field to denote item has been exported. After an item has been exported,
	only Payroll can change it.

9. Allow Managers to change currently uneditable items on editjobs pages, such as
	changing the Job Number or revision, etc.

10. Allow users to change so currently uneditable fields on editjobdetails page,
	such as customer/job#, etc.

Section Two: Added Features for configurability

1. Setting for Time division for hour entry.

2. Time entry to follow user prefs for 12/24 hour format.
   Also try to use the user's preferred data format.

3. Redo time javascript widgets to allow text entry if at all possible.

4. Allow individual users to specify default page for timetrack of either
   the in/out board or timesheets page.

5. Add option for emailing new jobs added to a specific person, who could
   do any manual follow up required. This will eventually entail inclusion
   of sometype (configurable) of export file for the data, which the
   recipient could use for fast entry into bookeeping programs such as
   quickbooks.

6. Docs on how to change company logo for printer friendly timesheet.

7. Provide an option that can notify user's maybe once a week, presenting
   them with a list of jobs assigned to them that are still "In Process"
   asking them to please change the status if the jobs are complete, etc.

8. Related to No. 7 above, add a way to change the job's status from the
   job_details add or edit pages, so when the user is entering their last
   detail, they can specify that the job should switch status to completed.

