Commit Graph

279 Commits

Author SHA1 Message Date
Paul van Tilburg
a50c4e330f Add a "Create a new invoice" button per customer
This is done similarly as in the customer_form view.
2014-10-25 18:04:18 +02:00
Paul van Tilburg
da8db07e94 Make key of customer/invoice mapping a customer
The key was the customer name before, but then it's not possible
to use any other information of the customer model anymore.
2014-10-25 18:02:37 +02:00
Paul van Tilburg
f32c6da1d4 Add a VERSION constant and print it on start 2014-10-19 21:37:20 +02:00
Paul van Tilburg
e5e879df03 Style the no customer/invoices/projects alerts the same way 2014-10-18 21:28:18 +02:00
Paul van Tilburg
70588df53f Fix missing doctype in main layout 2014-10-18 21:27:46 +02:00
Paul van Tilburg
d5b5e0e4e0 Fix column cache being out-of-sync after migration 2014-10-18 21:27:26 +02:00
Paul van Tilburg
507010172f Fix payed→payed column rename migration 2014-10-18 21:26:55 +02:00
Paul van Tilburg
b7de738866 Fix broken migration that cannot access config 2014-10-18 21:26:14 +02:00
Paul van Tilburg
21091e914e Fix broken period calculation initialisation 2014-10-18 21:25:51 +02:00
Paul van Tilburg
3e1ed8af58 Make ActiveRecord query calls compatible with AR4 2014-10-18 21:25:26 +02:00
Paul van Tilburg
97b6098bcd Round total time of tasks to two decimals
This fixes misrepresentation errors.  This occus for example when a task
has a length that would be represented using a floating point number that
has more than 2 decimals.

For example:  a task of length 59 minutes (i.e. 0.9833333333333333... hour)
is shown on the invoice as having a length of 0.98 hours while in
calculations still the unrounded task length is used.  When a hourly rate
of €100 pe rhour is defined, the invoice will show:

  0.98h x €100/h = €98.33.

which is confusing and although correct given maximal accurancy, it will
obviously not be accepted by book keeping programs.
2014-10-12 17:04:18 +02:00
Paul van Tilburg
acd2ab46e4 Reorder the invoices when retrieving the last invoice 2014-02-09 14:40:28 +01:00
Paul van Tilburg
fd6b853154 Move the 'Create a new invoice' button to a more consistent location 2014-02-07 21:36:09 +01:00
Paul van Tilburg
cb14b99f89 Sort invoices in descending order by number by default 2014-02-07 21:22:20 +01:00
Paul van Tilburg
25b052e864 Support alternative invoice template configuration 2014-02-07 21:04:08 +01:00
70c0ad4a54 Fix fixed cost tasks being grouped under random projects in customer view 2014-02-07 20:30:38 +01:00
30fd5ec599 Show a billed fixed-task under itself in the customer_form view
As billed fixed-cost tasks cannot have an active task, the task itself
still is the one that is billed.  Show the task under itself to expose
the fact that it is billed and in which invoice.
2013-07-14 14:37:40 +02:00
Paul van Tilburg
19d4efaca3 Indentation fixes 2013-07-14 14:33:12 +02:00
Paul van Tilburg
47fca9df2a Handle billed fixed-cost tasks correctly in the customer_form view
Billed fixed-cost tasks will have no active task once they are billed,
because invoicing a fixed-cost will not split off a task but manipulate the
active one into being billed.
2013-07-14 14:32:02 +02:00
Paul van Tilburg
368592356c Add also links to time entries in the invoice_form view 2013-07-13 22:49:56 +02:00
Paul van Tilburg
9e5ade6eb9 Small refactoring 2013-07-13 22:49:41 +02:00
Paul van Tilburg
afd037b95e Add the time specification to the invoice_form view; update it
Generation of a time specification appendix can be enabled for each invoice
indepently on whether it is or is not enabled for the customer.  However,
whether it is enabled by default when an invoice is created, that does
follow the setting for the customer.
2013-07-13 22:36:38 +02:00
Paul van Tilburg
7a58ae9331 Add the time specification to the customer_form view; update it
If time specifications are enabled for a customer this is considered to be
a global setting for invoices related to this customer.

Note that it will note change any of the existing voices, it will only
affect newly created ones!
2013-07-13 22:35:25 +02:00
Paul van Tilburg
17278fac98 Add specification related attributes to the Customer and Invoice model 2013-07-13 22:31:41 +02:00
Paul van Tilburg
33e5d047a0 Make the time_entry_form view also use a nested customer/task selector 2013-06-26 20:47:09 +02:00
Paul van Tilburg
62dfd04776 Replace the label hack in grouped select forms by a decent optgroup 2013-06-26 20:46:27 +02:00
Paul van Tilburg
073bf11bef Rework the project/task list in the customer_form view (closes: #9a33e4) 2013-06-26 20:23:56 +02:00
Paul van Tilburg
06c25d66c9 Move add customer button to the header 2013-06-26 20:23:03 +02:00
2e86eb8b27 Show "None" for absent time entry comments in the time_entries view
There needs to be some kind of placeholder the comment is the thing
to click on when clicking through to the time_entry view.
2013-06-23 22:34:57 +02:00
2b8d4c9111 Include jQuery 1.10.0 directly from public/
This solves all kinds of issues when deploying via HTTPS and jQuery
being retrieved via HTTP.
2013-06-23 22:34:57 +02:00
Paul van Tilburg
60e1889072 Fix missing root prefix calls for views
Because we override mab_done in StopTime::Mab, we override the functionality
in Camping::Mab that applies 'self /' on :href, :src and :action attributes
of tags.  Thus, all kinds of links don't get a root/mount prefix.
2013-06-23 22:30:05 +02:00
167c8d1b99 Also order unbilled tasks descending by date in the time_entries view 2013-06-22 12:58:23 +02:00
Paul van Tilburg
abc35b774d Show unbilled items in timeline by default; add dropdown
This reduces the need for pagination in the timeline (refs: #a9faa0).
2013-06-20 23:07:24 +02:00
Paul van Tilburg
2278b41d97 Redirect back to referer after creating/updating time entries (closes: #f08f36) 2013-06-20 22:39:00 +02:00
Paul van Tilburg
b6d3c628a1 Change default VAT rate to 21% (still overridable in the config) 2013-06-20 22:12:39 +02:00
Paul van Tilburg
c982ba5925 Move task information link from date to comment in the time_entries view 2013-06-20 22:08:01 +02:00
Paul van Tilburg
7a7a4471e1 Also bill new entries by default in the task_form view 2013-06-20 22:07:20 +02:00
Paul van Tilburg
07b655c8db Set default content type to include charset=utf-8 2013-06-20 22:06:52 +02:00
Paul van Tilburg
6634eeae55 Change view headers; add useful contextual information 2013-06-20 22:06:28 +02:00
Paul van Tilburg
2dca39e38d Move container divs to the a single container div in the layout view 2013-06-20 21:15:52 +02:00
Paul van Tilburg
b19a0dfee3 Enable responsive Bootstrap CSS 2013-06-20 21:15:06 +02:00
Paul van Tilburg
42b771ba16 Use a condensed form in the company_form view 2013-06-16 23:42:54 +02:00
Paul van Tilburg
b5cfa7606a Remove already solved FIXME 2013-06-16 23:38:35 +02:00
Paul van Tilburg
ba5fd086b5 Also color customer names based on invoice status in the overview view 2013-06-16 23:38:22 +02:00
Paul van Tilburg
d359b76209 Color invoice list rows based on due status (refs: #b4b365)
What remains is to remove the hardcoding of 30 days.  This should be moved
to the config and Customer model (and then also be used in the template).
2013-06-16 23:29:33 +02:00
Paul van Tilburg
dfd189d341 Add past_due methods to the Invoice model 2013-06-16 23:29:01 +02:00
Paul van Tilburg
f7c0ffff15 Add a day if the end time is before the start time (closes: #d96685) 2013-06-16 22:58:15 +02:00
Paul van Tilburg
10218e6fe5 Check task and time entry checkboxes by default in #invoice_select_form (closes: #4fdf84) 2013-06-16 22:48:38 +02:00
Paul van Tilburg
05b2fff118 Change #clone into #dup, needed for AR >= 3.1! 2013-06-16 22:48:38 +02:00
Paul van Tilburg
f034196469 Show OK icon for billing status in time_entries view 2013-06-16 22:48:38 +02:00
1d8842ad36 Small Ruby1.8-compatibility fix 2013-06-16 21:30:24 +02:00
Paul van Tilburg
7244e2be64 Transform all views to use Bootstrap 2013-06-16 20:27:11 +02:00
Paul van Tilburg
b7b660ffc5 Modify StopTime#Mab#mab_done to transform underscores to dashes in classes 2013-06-16 20:25:12 +02:00
Paul van Tilburg
800dd3106f Adapt StopTime::Mab#mab_done to follow Mab 0.0.3 API changes 2013-06-16 15:17:13 +02:00
Paul van Tilburg
aa79757af4 Tweak column definitions so that they work with HTML5 and Mab 0.0.3 2013-06-16 15:11:25 +02:00
Paul van Tilburg
5301819105 Fix the way the DATE_FORMATS are set to suit AR3.2 (closes: #9dfc93) 2013-06-16 15:00:05 +02:00
Paul van Tilburg
8b943d788c Make the VAT rate of a task editable via the form, default to global VAT rate
This is the last commit needed to support VAT rates per tasks (closes: #e7b5a7).
2012-09-28 16:19:35 +02:00
Paul van Tilburg
b45bb356ef Add VAT rate specific summaries to the template and invoice_form view 2012-09-28 12:00:42 +02:00
Paul van Tilburg
537b0d47ea Modify Invoice#total_amount to take different VAT rates into account 2012-09-28 11:59:59 +02:00
Paul van Tilburg
cd29a51680 Add Invoice#vat_summary to return a VAT summary grouped by VAT rate 2012-09-28 11:59:59 +02:00
Paul van Tilburg
b7f74e23ec Extend Task#summary to also return the VAT 2012-09-28 11:59:59 +02:00
Paul van Tilburg
808b09f91f Add vat_rate field to the Task model 2012-09-28 11:59:49 +02:00
Paul van Tilburg
52e23a927a Merge branch 'support/ruby1.9' into development 2012-06-06 11:43:21 +02:00
Paul van Tilburg
3b54b93504 Added support for Ruby 1.9 2012-06-06 11:28:59 +02:00
Paul van Tilburg
9df0a55e4b Small Mab compatibility fix 2012-05-21 17:45:29 +02:00
Paul van Tilburg
8ce00648f3 Remove the double doctype, fix indentation 2012-05-21 17:45:29 +02:00
Paul van Tilburg
b25226ac7e Port the Markaby method override support to Mab 2012-05-21 17:45:29 +02:00
Paul van Tilburg
aa9f0e9dc0 Leave the form method override stuff for now 2012-05-21 17:44:40 +02:00
Paul van Tilburg
968ec1ab99 More Mab compability: different doctype and text escaping 2012-05-21 17:42:28 +02:00
Paul van Tilburg
b47f837613 Fix up some hacks that generate errors when used with Mab 2012-05-21 17:41:53 +02:00
Paul van Tilburg
482e7eabeb Actively load active record 2012-05-21 17:41:15 +02:00
Paul van Tilburg
5c364e1d10 Small cleanup for the block override that works with recent Mab 2012-05-21 17:40:52 +02:00
Paul van Tilburg
29ad270f0f Remove the double doctype, fix indentation 2012-05-21 17:40:52 +02:00
Paul van Tilburg
f1b5f5168b Port the Markaby method override support to Mab 2012-05-21 17:40:52 +02:00
Paul van Tilburg
3c62004056 Updated views to use the instance vars and no longer rely on Markaby's method_missing 2012-05-21 17:40:52 +02:00
Paul van Tilburg
51f0bdfa9c Leave the form method override stuff for now 2012-05-21 17:40:52 +02:00
Paul van Tilburg
d41b70f0d8 Actually load Mab instead of Markaby 2012-05-21 17:40:52 +02:00
Paul van Tilburg
d3129a11c1 More Mab compability: different doctype and text escaping 2012-05-21 17:40:52 +02:00
Paul van Tilburg
3a824c2026 Fix up some hacks that generate errors when used with Mab 2012-05-21 17:40:52 +02:00
Paul van Tilburg
419d08a6eb Actively load active record 2012-05-21 17:40:20 +02:00
Paul van Tilburg
53ec809f08 No longer disable billed tasks for editing in the customer form 2012-01-31 22:52:13 +01:00
Paul van Tilburg
bf1d0c633d Add the bill number to billed tasks in the time entry form (closes: #b1b255) 2012-01-31 22:51:31 +01:00
Paul van Tilburg
ff503f89d5 Mab is not supported yet in master 2012-01-31 22:49:15 +01:00
Paul van Tilburg
5b1953ee40 Really fix the form method override stuff 2012-01-25 12:26:13 +01:00
Paul van Tilburg
15b9b84cc4 Fix form method override for PUT/DELETE support 2012-01-25 11:31:58 +01:00
Paul van Tilburg
9879bb3a47 Fixed syntax error in input arguments 2012-01-24 17:11:49 +01:00
Paul van Tilburg
f731ddee4e Determine and set the request format before calling the controllers 2012-01-20 00:36:19 +01:00
Paul van Tilburg
45da051bf0 Prepare for PUT/DELETE support in forms and controllers 2012-01-20 00:35:44 +01:00
Paul van Tilburg
69bf1bd735 Tweaked the registered time colum layout (treat it as an exception) 2012-01-09 17:38:30 +01:00
Paul van Tilburg
22299c2d6e Show the total amount in invoices list 2012-01-09 17:38:06 +01:00
Paul van Tilburg
606b3a4d88 Tweaked style and layout of the invoice form view 2012-01-09 17:14:54 +01:00
Paul van Tilburg
7cd58f019e Tweaked table layout (mainly customers and timeline view) 2012-01-09 17:14:30 +01:00
Paul van Tilburg
ea9cb0e39c Fixed firefox rendering issue in the overview (repeated columns) 2012-01-09 17:13:16 +01:00
Paul van Tilburg
18451546c0 Support editing of company info revisions (refs: #ba1a26) 2012-01-09 15:56:40 +01:00
Paul van Tilburg
fb20d2825f Create a revision of the company info when it has related invoices (refs: #ba1a26) 2012-01-09 15:52:09 +01:00
Paul van Tilburg
016cb0b21d Added company info revisioning in the models (refs: #ba1a26)
* Extended CompanyInfo with an "original" association with the previous
  revision (in case revisions can be removed in the future).
* Created a belongs_to relation of Invoice with CompanyInfo and an
  has_many reverse relation.
2012-01-09 15:48:20 +01:00
Paul van Tilburg
f85ca3f34f Order the tasks in the customer_form view by name and invoice ID 2012-01-06 16:32:19 +01:00
ea5884f97a Show bill information for billed time entries (and link the invoice) 2012-01-03 17:38:54 +01:00
8e3ebc709a Set the invoices billed flags in the CustomersNInvoices controller 2012-01-03 17:38:14 +01:00
2dc1e964e4 Improved handling of template errors 2012-01-03 16:56:51 +01:00