Commit Graph
106440 Commits
Author SHA1 Message Date
Denis Ledoux 33a7c02b55 [FIX] mrp: product variant name in BOM structure report
When printing a BOM structure using a variant,
the specifications of the variant were not
displayed in the BOM Structure lines,
making it different than what can be found
in the BOM structure form, and therefore
making it impossible to know which variant
has to be used for this BOM structure
from the report.

opw-670448
2016-03-02 13:21:20 +01:00
Denis Ledoux 68d03cef65 [FIX] mrp: Product variant name in production order report
When printing the production order, the name
of the product did not include the variant
specifications, making it different then what
is displayed on the production order form,
and preventing to know which variant was produced
for this production order.

opw-670448
2016-03-02 13:21:20 +01:00
Christophe Simonis caedbcd261 [IMP] res.partner: remove unused field use_parent_address 2016-03-02 13:10:42 +01:00
Aaron Bohy 50aeecff84 [FIX] mail: chatter: hide basic composer when opening full composer
opw 670388
2016-03-02 10:24:37 +01:00
Damien Bouvy 48a30be234 [FIX] website_quote: set default template on new SOs
Commit 7270780 removed the default for the 'template_id' field,
but other modules assumes SOs are created with it. If not, you
cannot view the quote in the frontend and if you change the template
afterward, you lose all the lines currently in the quote. This commit
restores the behaviour from 9.0.

Since the commit that removed them did not mention why it did (not
even remotely), I'll assume it was unintentional and/or not thought
through.
2016-03-02 09:37:30 +01:00
Martin Trigaux b705576e93 [FIX] account_full_reconcile: untranslatable module
publish the translations on Transifex
2016-03-02 08:49:01 +01:00
Martin Trigaux b3a3454a2f [FIX] stock: duplicated term in .pot 2016-03-02 08:10:00 +01:00
Thibault Francois 9eac32beea [ADD] project_timesheet, sale_service: support for project sub-tasks
This commit introduces "Sub-task", a concept remotely similar to
the "delegated tasks" available in version 7.0, but covering a
more specific and narrow scope.

Activating Sub-tasks
--------------------

Sub-tasks are made available within any project by configuring
a "sub-task project" in the project settings. This feature is
considered low-level and technical, and only accessible with
"Technical Features" enabled.
The "sub-task project" may be the project itself.

Using Sub-tasks
---------------

Conceptually, a sub-task represents the allocation of a part
of the scope of its parent task. Multiple sub-task levels
are possible.

Once activated in project settings, a new "Sub-tasks" smart button
will appear on the task form, giving the option to view and
create sub-tasks. In addition, a new field "Sub-tasks Hours" will
appear next to the other computed "Hours" fields, representing
the total hours allocated to sub-tasks.
(Technically, the sum of the maximum between the planned hours
and spent hours of all sub-tasks, with spent hours always used
when a task is closed)
These sub-task hours will be dynamically subtracted from the
remaining hours of the task, and will therefore affect the
task's progress as well.

Upon creation, a sub-task will inherit the link to the
original sales order and procurement from its parent task, and
will by default be assigned to the "sub-task project" set on
the project of the parent task.

Enhancement
-----------
The kanban view for tasks will now display a color-coded label
with the number of remaining hours, whenever the percentage
of remaining hours is below 20% (orange=20%-, red=1%-).
2016-03-01 18:54:08 +01:00
qsm-odoo df004ac605 [FIX] web_editor: bg-* bootstrap colors
Wrong values for background-colors for bg-* classes of web_editor.
2016-03-01 17:56:27 +01:00
Nicolas Martinelli f5b37a8a07 [FIX] crm_project_issue: move attachments
The attachments are not moved to the issue created. They should.

opw-670259
2016-03-01 17:49:40 +01:00
Nicolas Martinelli 4ef7faeffa [FIX] crm_project_issue: archive instead of delete
When the user converts the lead into an issue, an error occurs: "Form
view couldn't be loaded". This is because the web layer tries to refresh
the data related to a deleted record.

Instead of deleting the lead, we archive it.

opw-670259
2016-03-01 17:49:40 +01:00
Nicolas Martinelli d3ea95db51 [FIX] crm: convert lead to opportunity
When a lead is converted into an opportunity, the probability should match
the new stage.

opw-669960
2016-03-01 17:39:14 +01:00
Nicolas Martinelli bdd60a75af [FIX] crm: default stage
When a lead/opportunity is created, the probability must match the
probability associated to the stage, as introduced in commit b2733391.
However, the call to `_get_default_stage_id` looses the context, which is
an issue since the method `stage_find` will inspect it in order to find
default values to build the search domain. The result is that the manual
call to `_get_default_stage_id` might return a different result than the
automatic call from `get_default`, and therefore the probability does not
match the stage

opw-669960
2016-03-01 17:39:14 +01:00
Damien Bouvy 150d74b6ea [IMP] analytic: add tracking of customer in chatter 2016-03-01 17:12:25 +01:00
Christophe Matthieu a46a3f9958 [FIX] web: can't save if a o2m line have a modifier and try to read db
When the user click on save, 'is_valid' is called on each field.
The o2m test all sub-field (apply modifier and check value).
But, if a modifier change the read-only attribute, the field is reinitialized and call 'render_value' without check 'no_rerender' value.
The relational fields call the db in render_value, and the x2m is invalid because a request is pending.
(change X2ManyListView to keep the 'no_rerender' initial value)

opw-653120
2016-03-01 15:17:05 +01:00
Jeremy Kersten 20ab363a14 [FIX] sale: fix display in form view of sale order line
Div had not impact in quotation view, so I decide to remove it.
But it create an offset in the sale order form view.

Previous commit #2d1db7d fix the form view of quotation lines
but break the form view of sale order line.
https://cloud.githubusercontent.com/assets/10741187/13401517/51989574-df04-11e5-89f0-b3e625d05a7c.png

Related to #11081
2016-03-01 11:30:02 +01:00
Denis Ledoux 3c642e283d [MERGE] forward port of branch 8.0 up to 2ba7fa3 2016-03-01 10:55:13 +01:00
Denis Ledoux 2ba7fa3c9d [FIX] website: alternate languages translated URL
The alternate languages links set in the page `<head>`
were not translated in each language, but within the language
the user is browsing the website.

This leaded to SEO referencing issues, as these links leaded
to (30x) redirections if followed, to translate the URL slug
within the new current language.
e.g.
`/fr_FR/shop/product/bose-mini-bluetooth-speaker-7`
automatically redirected to
`/fr_FR/shop/product/mini-haut-parleur-bluetooth-bose-7`

And it was the first link which was displayed as alternate link
when being in another language than French, while it should
be the second (to avoid the useless redirection).

opw-669979
2016-03-01 10:53:44 +01:00
Denis Ledoux 3913667396 [FIX] website: backport of 8d2a3ba12d 2016-03-01 10:53:44 +01:00
Joren Van Onder dda904c133 [FIX] point_of_sale: avoid '.' thousands separator issues
When we render the payment screen the current value of the current
paymentline is rendered to a string using
Paymentline.get_amount_str(). This conversion always rendered numbers
with a decimal separator of '.' because it just used
Number.toFixed(). This used to be fine but
5a10903e9b made the POS adhere to the set
decimal and thousands separator. Because of this, the POS now has to
parse the input with web.parse_value() which takes into account these
separators. When parse_value() parses a float it first deletes the
thousands separators and then replaces the decimal separator with '.'
before it gets cast to a Number.

In German (and other languages), the '.' is used as a thousands
separator which means that it will get deleted by parse_value() so
you'll end up with '12.34' being interpreted as '1234'. Because of this
it is important that we ensure that the default value that appears in
the input uses the correct separators.

The aforementioned issue only occurs when the user changes the default
value in the paymentline. Only then does a conversion take place from
String to Number. So just clicking on a payment method of type 'Bank'
and validating it would work fine, only when the payment amount was
updated would the issue occur.

Fixes #9395
Closes #10952

note: this should not be forward-ported to >8.0 because later versions
use the rewritten payment screen which is completely different from the
one in 8.0.
2016-03-01 09:38:07 +01:00
Denis Ledoux 3bc7ea6bcf [FIX] stock: stock valuation user timezone date
When delivering a delivery order (`stock.picking.out`),
which generates accounting entries
e.g. thanks to the real-time stock valuation,
the date of the move set was the UTC today date, while it must
be the user's today date, using the timezone passed in the
context.

This prevented the delivery of the `stock.picking.out`
when the `Check date in period` boolean was checked
in the stock journal, and the user date is in the previous
month compared to the UTC date, as the date set on the move
entries were not in the selected period for these move entries.
e.g. When the user timezone is UTC -8, and his current time is
2016-02-29 18:00:00, the UTC date is 2016-03-01 02:00:00, the
period chosen is February (correct), but the date on the move
entries were set to 2016-03-01.

opw-670820
2016-02-29 18:33:55 -07:00
Odoo Translation Bot 8c278a4e4a [I18N] Update translation terms from Transifex 2016-03-01 00:29:04 +01:00
Jeremy Kersten 2d1db7dcf7 [FIX] sale: fix form view where label column take all the available space.
introduce by commit xxx

close xxx
2016-02-29 17:16:49 +01:00
Denis Ledoux 479f6ff48e [FIX] point_of_sale: tz fallback
The user timezone fallback in case the user
has no timezone wasn't set at the right place.

This is an oversight of the revision
9f0120d73b

opw-670778
2016-02-29 16:56:29 +01:00
Jeremy Kersten 9523d59fe3 [FIX] base: compare lang code to the evaluation of the lang.
That will avoid to have the _logger.info at each print.

Now we fallback on lang of company and not en_US by default

If report lang was 'doc.partner_id.lang', we was looking for
 lang code == 'doc.partner_id.lang'
    instead of
 code == eval('doc.partner_id.lang')
 => code == 'de_DE'.
2016-02-29 16:44:03 +01:00
Denis Ledoux cca44bdff3 [FIX] gamification: missing model in email template
Therefore, the template could be seen from
the Discuss module, when clicking on "Send Mail",
but, when attempting to use it, it failed
(as it was not applied on the right model).

opw-670546
2016-02-29 15:39:45 +01:00
Christophe Simonis a3bc09ce94 [FIX] base,sale_margin: correct error introduced during previous forward-port 2016-02-29 13:09:06 +01:00
Christophe Simonis 1c7f5a45e5 [MERGE] forward port of branch saas-7 up to d016457 2016-02-29 12:30:27 +01:00
Nicolas Martinelli f994be0e85 [FIX] report_intrastat, l10n_be_intrastat: period
The intrastat report period should match the accounting period of the
invoice. This might not be the case if the user manually chooses an
accounting period which does not match the invoice date.

opw-668827
2016-02-29 11:48:46 +01:00
Christophe Simonis d0164570c1 [MERGE] forward port of branch 9.0 up to f03eee7 2016-02-29 11:46:58 +01:00
Christophe Simonis f03eee7480 [MERGE] forward port of branch saas-6 up to d5dcfcb 2016-02-29 11:43:00 +01:00
Christophe Simonis d5dcfcbd00 [MERGE] forward port of branch 8.0 up to feedb0f 2016-02-29 11:37:34 +01:00
Jeremy Kersten 63fd73d83d [FIX] base_geolocalize: remove useless dependencies
close #11132
2016-02-29 11:33:21 +01:00
Nicolas Martinelli 9af45ffa05 [FIX] account: post move in reconciliation
When an analytic account is specified in the reconciliation, the
analytic lines are not created. This is because the account move is
posted before the account move lines are actually created.

Fixes #10951
opw-670110
2016-02-29 11:29:18 +01:00
Aaron Bohy be7898955b [REF] web_kanban: duplicate definition of One2ManyKanbanView
Relational Kanban views are already (and correctly) defined in
kanban_relational.js
2016-02-29 10:05:09 +01:00
Joren Van Onder feedb0f1f4 [FIX] point_of_sale: get the correct logo when using multiple databases
In an environment where multiple database are available the company_logo
controller in the web module will return a placeholder logo (the Odoo
logo) if it can't figure out what db the request belongs to. This logo
is used on the ESC/POS receipts.

Because we load the logo with an anonymous CORS request there is no
authentication on the request. This is necessary because the POS tends
to not be served over HTTPS whereas the rest of Odoo is. Without this
crossOrigin attribute we could potentially end up in a situation where
the canvas is considered tainted by the browser which would prevent us
from extracting the canvas' data with toDataURL(). So removing the
crossOrigin attribute is not an option, specifying the db is the next
best thing.

opw-670471

note: in >=9.0 session is a variable defined in the js module instead of
a property on PosModel, so 'self.session.db' should become 'session.db'.
2016-02-29 09:57:39 +01:00
Nicolas Martinelli bfa68b433c [FIX] mrp_operations: planned end date in Gantt
It is necessary to define the date_stop, otherwise the Gantt view is
unusable.

opw-669042
2016-02-29 08:58:52 +01:00
Aaron Bohy b816cdbea9 [FIX] web(_*): views: render action buttons in dialogs
Commit 516b1a6c72 fixes a bug with action buttons not being displayed when they
should in dialogs. However, it makes the assumption that either $node or
this.options.$buttons exist, which is not always the case (e.g. dashboard).

This rev. moves that logic out of the views to the view_manager, and protects
the call of empty() on this.options.$buttons.
2016-02-29 08:47:20 +01:00
Nicolas Martinelli 5cfbd97689 [FIX] stock: move package
Moving a whole package (option "Allow moving packs") results in a
traceback. Indeed, the method `_get_all_products_quantities` returns
product ids, while `_create_extra_moves` expects browse records.

opw-668180
2016-02-29 08:35:58 +01:00
Odoo Translation Bot 9f073102ef [I18N] Update translation terms from Transifex 2016-02-28 03:00:41 +01:00
Odoo Translation Bot 39d7abae26 [I18N] Update translation terms from Transifex 2016-02-28 00:34:20 +01:00
Fabien Pinckaers e189352d8d [IMP] Working Days visible on employee form 2016-02-27 17:16:39 +01:00
Olivier Dony 574eb71dfe [MERGE] Forward-port 9.0 up to 4c1c1ec4d4 2016-02-26 19:04:09 +01:00
Thibault Francois 4c1c1ec4d4 [FIX] web_kanban: float_time widget did not work
`instance` was undefined in this context, probably
following a forward-port mistake
2016-02-26 18:56:49 +01:00
Olivier Dony 602f3423c1 [FIX] crm.activity.report: consider all messages as activities
When counting the 'activities' on each opportunity/lead,
this view only considered messages with a subtype that
matched the subtype of a specific crm.activity.

This was not consistent with the crm.opportunity.report
which counted *all* messages on an opportunity as
"activitiy entries".

The latter is considered better because any entry,
(even automated one for tracking field value changes
or automated system responses) corresponds to an "action"
taken on that record.

This patch makes crm.activity.report consistent with
this decision: it will now count all messages.

+ also convert the incorrect `left join` to a plain
[inner] `join`, as we don't want deleted leads to
appear in case orphan messages were left around
(which should not happen anyway).
2016-02-26 18:56:49 +01:00
Olivier Dony c5b879bfd2 [FIX] crm.opportunity.report: query performance
Using a subselect is more efficient than constructing
a complete temporary table of all messages, and then
joining them. This way only messages or relevant
opportunities are used, as most of the time the
report is accessed for a specific subset of opportunities
(by date, salesman, stage, etc.).
The query planner can then use the dedicated index
to quickly access the corresponding messages.

On a sample database with 1 million crm.lead
entries and 10 million mail.message entries
this brings the time for a typical read_group
call on crm.opportunity.report down from 300s to
500ms (600x faster)
2016-02-26 18:56:49 +01:00
Yannick Tivisse 6bb6885087 [IMP] stock: Remaining 'Quants' into 'Quantitative Valuation' 2016-02-26 16:23:56 +01:00
Christophe Simonis c9751aff03 [MERGE] forward port of branch 8.0 up to c3a05d0 2016-02-26 16:23:12 +01:00
Christophe Simonis c3a05d0516 [MERGE] forward port of branch 7.0 up to 9f0120d 2016-02-26 16:22:38 +01:00
Yannick Tivisse 4ab2816809 [IMP] base: Group ir attachments by attached document name
Original Idea: On project, group the attachments by Task name
2016-02-26 16:21:33 +01:00