Commit Graph
112376 Commits
Author SHA1 Message Date
Jérome Maes d9cece2ef8 [IMP] project_timesheet_holidays: ease leave type configuration
A leave type now generate timesheet by default. So
the internal project/task are taken from the leave
type company (a default value for the company has
been added).
To allow the hr leave manager to select a project,
he should be alble to read the analytic account
(otherwise, crash when calling name_get).

Setting the default internal project/task is advanced,
so hidden in debug mode on timesheet config.
2017-09-13 08:41:31 +02:00
Jérome Maes d29242356a [IMP] hr_timesheet: menus and view usability
- better reporting menus
- views usability
- reporting split: entries for grouping by employee,
projet, and task, and billable rates
- ...
2017-09-13 08:41:31 +02:00
Jérome Maes fda8d77c69 [IMP] sale_timesheet: split non billable type for timesheet
Timesheet logged on project created from a SO line are
not exactly the same as the non billable ones.

To ease the reporting, we split the non billable type
of timesheet: when timesheeting directly on a project
(whatever the product config), the billable type will
be 'no task found'.
The Overview is adapt to display the 2 'non billable'
categories.
2017-09-13 08:41:31 +02:00
Jérome Maes 40beeed12d [IMP] sale_timesheet: projects of sale order
The stat button now shows all the project involved
in the sale order (created, or linked).

This commits introduce the field `project_ids`,
containing all the project involved in the sales
order (created, or linked via products).

The stat button now shows all involded projects (if
many) or the timesheet overview of the single project.
2017-09-13 08:41:31 +02:00
Jérome Maes 26905ec24a [IMP] sale_timesheet: name of generated project/task on SO confirmation
The project name should take the customer ref into
account, when creating project.

The task name should be the first line of the SO description
to avoid having multiple tasks generated with the same name.
2017-09-13 08:41:31 +02:00
Jérome Maes 063987c989 [IMP] project,hr_timesheet,project_issue: clickable zone of project kanban box
When clicking on kanban box, the first action is trigger; the user
have to click on the label of the box to see the 'timesheet' (for
instance), otherwise he will see the tasks.

Since HTML5 supports `div`, `table`, ... being wrapped by `a` tag,
we can use it to make the entire kanban box clickable. (See
https://www.w3.org/TR/html5/text-level-semantics.html#the-a-element)
2017-09-13 08:41:31 +02:00
Jérome Maes 7c1a1d15ee [IMP] sale_timesheet: assign task to so line
When assigning task to a SO line (through procurement),
related timesheet should become billable (according to the
product of so line), and have their revenue recomputed.

This commits also add a test.
2017-09-13 08:41:31 +02:00
Jérome Maes 0e648b9e54 [REF] hr_timesheet,sale_timesheet: cleaning create/write overrides 2017-09-13 08:41:31 +02:00
Jérome Maes 3890f8d694 [REF] sale_timesheet: test suite improvements
Tests of sale_timesheet were using many demo data. This
is a practice we want to avoid. A common class setting up
test data (product service, partner, ...) is created to
help writting good test cases.

All tests has been adapted, moved, and some were added
to cover the new flow (new product configuration).
2017-09-13 08:41:31 +02:00
Jérome Maes 38b4a95940 [IMP] sale_timesheet: remove duplicate field definition
The field `project_time_mode_id` on res.company is
already defined in project module. This came from the
good old days where timesheet was not totally depending
on project.
In sale_timesheet, the field was redefined, and a hack
with xml id was done. It is time to remove this crap.
2017-09-13 08:41:30 +02:00
Jérome Maes 538e62e53a [IMP] sale_timesheet: product config for service
The purpose is to simplify the product configuration.
Adding detailled options about the service tracking
(create task and/or project) make the setup less
confusing for users.

The invoice policy is replaced by "Invoice based"
(only for services). We don't support "ordered
quantities" with "manual" tracking anymore. The
supported use cases are :
- Ordered quantities (using timesheet)
- Timesheet on task (delivered with timesheet)
- Milestones (delivered manually)

Also, even when selecting 'Milestones', the SO line
can generate a task/project, but timesheeting on
thoses objects will not change the delivered
quantities on the SOL. So, a task can always be created
whatever the service invoice policy of the product.

Every generated task or project are linked to their SO
line. But this SO line is only incremented (on delivered
quantity) if its product 'service_type' is timesheet.
2017-09-13 08:41:30 +02:00
Jérome Maes 0d50bf5d5b [IMP] sale: rename 'project_id' into 'analytic_account_id'
Since this field is an analytic account and not a project, its
name should be more explicit. This commit makes the code more
understandable. Naming things correctly improve developper's
sleep.
2017-09-13 08:41:30 +02:00
Jérome Maes 1382f63da1 [IMP] sale: remove useless field
Now, new view send the value, even if the field
is in 'readonly' mode. No need to have a related
field to allow the edition.
2017-09-13 08:41:30 +02:00
Jérome Maes 9e00dacded [IMP] sale_timesheet: so line create project
As so line already generate task, and project
for the SO sometimes, making it always create the
project seems to be a good idea.
Grouping all the logic is better for maintenability
and readability.
2017-09-13 08:41:30 +02:00
Jérome Maes 5261cdceae [REF] sale_timesheet: clean task creation from so line
Make the code more readable and callable on
a recordset.
This commit prepare the so line to also
generate a project (and not simply a task).
2017-09-13 08:41:30 +02:00
Jérome Maes 5cf4c350cb [REF] sale,sale_timesheet: cleaning sale analytic
The handling of analytic lines to sell is a little
mess. We can reinvoice analytic lines from timesheet
or expenses, or manual lines.

This commit tries to clean the code, factorize it,
make proper hook (see _sale_postprocess method)
and move specific in its corresponding modules.

Code was properly split, in order to make modules responsible
for only their own features:
- sale module handle the link of SO line to an analytic
line, and increment the delivered qty accordingly.
sale also provide the mecanism of determine magically
the SO lines of an analytic line with an expensable product
to reinvoice it at cost.
- sale_timesheet identifies the so line concerned when
timesheeting on a project directly. Also provide the domain
of analytic line when setting the SO line on AAL.

Cleaning is necessary for futher dev.
2017-09-13 08:41:30 +02:00
Cédric Snauwaert 09189fa809 [IMP] l10n_de: localization package improved
* CoA up to date
* Taxes up to date
* SKR03 installed by default but users can easily switch to SKR04 while no accounting entries exists for the company
* removed unneeded things
* set tags accordingly on accounts and taxes for the reports to work (new reports in enterprise)

Was task 31826. Was PR #17447. Discussion related on #18571
2017-09-12 17:52:47 +02:00
Raphael Collet ed9e3ed699 [IMP] test_performance: run tests as demo user as well 2017-09-12 17:16:24 +02:00
Raphael Collet ee14025c52 [REF] test_performance: improve cache warmup in test methods 2017-09-12 17:16:24 +02:00
amoyaux ecb394710f [FIX] sale_stock: partner not propagate to picking.
Since procurement refactoring in commit 0e4f3bb959
the partner was not propagate between sale order and picking.

It happens because the _run_move method uses the group's
partner on the picking but the partner was not set on the
group during its creation.

This commit add the shipping partner id of the order
in the create method and this partner is used later in the
picking/move create method.
2017-09-12 16:35:01 +02:00
Joren Van Onder 261b45521c [IMP] stock: allow user to correct pickings
Introduces a lock/unlock mechanism on stock.picking. When a picking is
unlocked a user is allowed to:

- change initial demand when picking is not done
- change quantity done when picking is done
2017-09-12 15:23:10 +02:00
Christophe Simonis c5f680200c [MERGE] forward port branch saas-17 up to d08b4407be 2017-09-12 12:09:11 +02:00
Simon Lejeune d08b4407be [REF] stock: _get_available_qty and tracked products
Suppose you have a product tracked by serial number. In your inventory,
you have two quants: -1 for serial1, +1 for serial2.

If you create a move for 1 product and try to run `action_assign`, it
didn't work before this patch because stock.move's
`_update_reserved_quantity` is guarded by a call to
an unstricted `_get_available_quantity` (unstricted meaning considering
all quants regardless of their lot_id/package_id/owner_id). This call
resulted in an available quantity of 0, thus the stock move could not be
reserved

To fix this issue, we patched `_get_available_quantity` so that it
rightly considers products of different lot_id as different products,
i.e. it returns an available quantity of +1 in the initial scenario. Of
course, we consider all quants of the same lot_id, i.e. if you have -1
for serial1 and +1 for serial2, the available quantity amounts to 0.

In another scenario, let's say we have only -1 serial1 in stock, if we
run `_get_available_quantity`, the method should return 0: nothing is
reservable. We continue this reasonment by returning 0 everytime the
available quantity is negative, tracked or not. This is probably what a
method named `_get_available_quantity` should have done since the
beginning.

There's only a single case where we need to know the quantity even if
it's negative: it's just after we move a quant to its destination
location. If this quant was tracked and resulted in a negative quant
(i.e. we moved something we didn't have), we try to compensate with an
untracked quant. In this special case, we do not want to ignore the
negative quants when calling `_get_available_quantity`.  That's why we
introduce a new argument to this method. We could have added a new method
`_get_quantity` for clarity sake.
2017-09-12 10:50:04 +02:00
Raphael Collet e7205b7992 [FIX] models: _in_cache_without may not return new ids 2017-09-12 09:36:30 +02:00
Pratima Gupta 984b87c378 [IMP] report_intrastat: move report menuitem
To Invoicing -> Reporting -> Management
2017-09-11 18:24:56 -07:00
Joren Van Onder bb8f7bf9c3 [IMP] stock: set default product_id for new lots
When creating them through the Serial/Lot Number stat button on the
product variant.
2017-09-11 18:18:41 -07:00
Pratima Gupta 011d6acbe9 [IMP] account_analytic_default: remove the stat button 'Analytic Rules' 2017-09-11 18:18:41 -07:00
Pratima Gupta 9dadb4c475 [IMP] stock: add tooltip to field show_reserved of stock.picking.type 2017-09-11 18:18:41 -07:00
Pratima Gupta 350f5d5878 [IMP] stock: add stat button for product lot 2017-09-11 18:18:41 -07:00
Pratima Gupta 06c4a707ee [IMP] stock: don't group_by location when clicking on Quantity On Hand 2017-09-11 18:18:35 -07:00
Pratima Gupta 0f7d2d7cf7 [IMP] stock_account: add valuation stat button for products 2017-09-11 11:32:21 -07:00
Pratima Gupta e20ab3637f [IMP] report_intrastat: move report menuitem
to Invoicing -> Reporting -> Business Intelligence
2017-09-11 11:32:21 -07:00
Pratima Gupta a686cbc6e1 [IMP] stock: rename stock_move_action 'Picking Moves' -> 'Stock Moves' 2017-09-11 11:31:45 -07:00
Pratima Gupta c903a29c54 [IMP] stock: take stock_move_line_action menuitem out of debug mode 2017-09-11 11:31:30 -07:00
Pratima Gupta 029e227167 [IMP] stock: improve string for action_view_stock_move_lines
'Inventory Moves' -> 'Product Moves'
2017-09-11 11:24:57 -07:00
Christophe Simonis 73bb71b80c [MERGE] forward port branch saas-16 up to 295a377e5d 2017-09-11 18:56:15 +02:00
Christophe Simonis 295a377e5d [IMP] web: add test to ensure nobody will commit again unwanted QUnit.only 2017-09-11 18:14:16 +02:00
Martin Geubelle 7a87484856 [FIX] web: remove QUnit.only occurence 2017-09-11 16:54:09 +02:00
fwi-odoo 68d1e6d8b1 [FIX] web: evaluate the view context for the subviews not inline
Before this commit, the xml attributes defined with 'context.get(key)' in the
subviews not inline were not evaluated correctly. This was caused
by the loss of the one context in the '_loadSubviews' method.

This commit fixes this issue and modifies the mockserver in order to be able
to use the parameter 'viewOptions.context'.
2017-09-11 16:41:58 +02:00
fwi-odoo 268e6d9530 [FIX] web: calendar: set event without time as all day
Before this commit, when an event had only a date, the event
was set to midnight.
This commit sets the event as all day event if the field used as start date
is only a date and not a datetime.
2017-09-11 16:41:40 +02:00
Christophe Simonis fdc4ef97c9 [FIX] core: only check table existance in public schema
This allow the use of tables defined in other schemas, like `domains`,
already defined in `information_schema`.

See #16651
2017-09-11 14:55:49 +02:00
Pierre Masereel 45d706a607 [FIX] stock: action_done on move without quantity done
When we validate stock move having move lines with quanity done equal to
'0', these move lines are unreserved and in MRP, it creates move lines
with product_qty = 0 and qty_done = 0 which is not wanted
2017-09-11 14:48:08 +02:00
Pierre Masereel f3b34fecad [FIX] mrp: production wizard
The production wizard raised a traceback when you were trying to consume
product tracked by lot without reservation.

To fix this issue and some potential others, we have removed the
move lines from the wizard and create produce lines that are used on
validation to create the move lines.

This also let us show the 'To Consume' quantity of a lot instead of the
reserved quantity which has no sense when there is no reservation.
2017-09-11 14:48:08 +02:00
Christophe Simonis bd08d4f052 [MERGE] forward port branch saas-16 up to 3ac2a1106c 2017-09-11 14:02:19 +02:00
Christophe Simonis 3ac2a1106c [MERGE] forward port branch saas-15 up to ec15765eec 2017-09-11 13:30:03 +02:00
Christophe Simonis ec15765eec [MERGE] forward port branch saas-14 up to 48f88992da 2017-09-11 12:35:49 +02:00
Rohan Patel 8c1f6a7cc6 [IMP] mail,*: replace emojis by unicode in chat messages
*im_livechat,rating.

Emojis are now encoded in unicode characters in messages. This
allows to copy/paste messages including emojis, ensures that
emojis are properly displayed in mail interfaces (at least those
that support unicode, e.g. GMAIL, counter-example: outlook), and
allows the user to directly use emojis of its smartphone in mobile.

This commit also adds several new emojis.

PR #11095
2017-09-11 12:20:49 +02:00
Julien Legros ecbfcb6dcf [FIX] sql_db: use pycompat string_types 2017-09-11 11:49:13 +02:00
Christophe Simonis 48f88992da [MERGE] forward port branch 10.0 up to 7d7e94c6ef 2017-09-11 11:45:44 +02:00
Aaron Bohy a58fb415fc [FIX] web: click on many2many tag with no color
Before this rev., a traceback was raised when the user clicked on a
many2many tag in a kanban view without color field.

For instance, it was the case in the kanban view opened by clicking
on the Lead/Opportunity section of the activities icon in the
systray.
2017-09-11 11:44:24 +02:00