Commit graph

282 commits

Author SHA1 Message Date
Paul van Tilburg 423916232f Show time specification of projects/task the invoice_form
They are inserted in the titles of the time entry links so they are
shown when hovering over them.

Also fixed "None" not being displayed when there was no time entry
comment.
2014-10-25 18:31:50 +02:00
Paul van Tilburg 6cfdd4c7e1 Spacing and label fixes 2014-10-25 18:31:08 +02:00
Paul van Tilburg 4bb47f7504 Add jump buttons for customer and project/task in time_entry view 2014-10-25 18:30:50 +02:00
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
Paul van Tilburg 70c0ad4a54 Fix fixed cost tasks being grouped under random projects in customer view 2014-02-07 20:30:38 +01:00
Paul van Tilburg 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
Paul van Tilburg 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
Paul van Tilburg 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
Paul van Tilburg 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
Paul van Tilburg 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