Commit Graph
117975 Commits
Author SHA1 Message Date
Laurent Smet a8994b4075 [IMP] account: use max_date instead of create_date for aged reports
Aged receivable/payable was using create_date of account_partial_reconcile to decide if a partner needs to be shown at a given date or not.
While it was not wrong, our decision to use the create_date was based on the fact that we wanted to be able to render the exact same report we had at a past date, so a the date of the reconciliation would be important... but since the unreconciliation was not forbidden it wasn't really the case.
Moreover, in some case where reconciliation is not at the same time the payment is recorded, this choice
 - was confusing people about results given by the aged receivable/payable report.
 - was confusing people about the 'Paid on...' line in the payment widget on the invoice, as they would see there a date unused by the system (although they would have liked too)

This was discussed in opw 31844. Was PR #16016
2017-04-11 11:09:01 +02:00
Fabien Meghazi ae9fa40a4b [FIX] portal: fix regression of API migration in the portal wizard
Before the migration, send_mail() used to be called with an untainted
context but after the API migration it inherited the altered context
with active_test=False which caused subsequent calls to
ir.mail_server#connect() to fetch inactive records.
2017-04-11 10:53:58 +02:00
Adrien Peiffer (ACSONE) 3a88f7826b [REF] hr_expense: inheritance on move line preparation values
Closes #16351
opw-728271
2017-04-11 10:46:57 +02:00
Nicolas Martinelli c9c110d088 [FIX] payment_authorize: no partner email
When no email is defiend on the partner, a traceback is raised when
paying with Authorize.net.

The `text` attribute requires a string, not a boolean (`False` in this
case).

opw-728301
2017-04-11 10:43:09 +02:00
Odoo Translation Bot 69b45530dc [I18N] Update translation terms from Transifex 2017-04-11 10:37:54 +02:00
SEINLET Nicolas ded636eae1 [FIX] ir.rule: use rules at most once (#15843)
When a user belongs to multiple groups, and an ir.rule is applicable for some of
them, the rule is added multiple times in the domain. Just do it once. This
makes the query shorter and easier to debug.
2017-04-11 09:27:58 +02:00
Nicolas Martinelli 1d29649e57 [FIX] account_tax_cash_basis: zero line
- Create a new account of type "Expenses". Allow the reconciliation and
  assign this account on the internal category of a product on both
  "Expense account", "Stock Input" and "Stock Output".
- Create a fiscal position to get the following tax behavior: apply two
  taxes of the same amount but with opposite sign (+ 21% on the one
  side; - 21% on the other side). Activate the tax cash basis feature on
  these taxes. It should give, on the same FP:
  Tax 21% -> Tax 21%
  Tax 21% -> Tax -21%
- Create a journal for the tax cash basis, set it in the company
  settings.
- Create a PO (with the previously created FP) for several products
  belonging to the same internal category and receive the products. Each
  line generates an entry recorded in the stock journal. The expense
  account is used in those entries.
- Create the supplier invoice for the PO and validate which also
  generates a journal entry with as many line on the expense account as
  there are some products on the invoice.
- In the journal items, reconcile the expenses accounts entries
  generated by the stock input and the supplier invoice.

It triggers a lot of lines on this expense account for 0 each.

opw-726120
2017-04-11 09:00:38 +02:00
Alexis de Lattre 91470a37fe [FIX] account: traceback on mass reconciliation of payments and invoices
Fix Bug #14866. Was PR #16149. Courtesy of Alexis de Lattre (Akretion)
2017-04-11 08:51:06 +02:00
qdp-odoo 84e4f6b08c [FIX] base: fixing test_new_api after previous commit.
New test introduced at https://github.com/odoo/odoo/commit/3214ca98206e5f99e2ab1d471ce1ef543057c9f6 tested the type of a column we changed from datetime to date in https://github.com/odoo/odoo/commit/01142701cc566b3084326af9649fd85db02b4220. Picked another datetime field to do the test
2017-04-11 08:39:34 +02:00
qdp-odoo f019479350 [FIX] account: suppress warning when account currency = company currency 2017-04-10 17:36:54 +02:00
qdp-odoo 01142701cc [REF] res_currency: res.currency.rate name is now a date instead of a datetime
Since we only uses date fields in accounting, it does not have any sense to have a datetime for currency rate:
 - it is error prone for the users as the timezone they're in will affect the rate (and possibly take yesterday's rate).
 - it involved the possibility to create several rates per day, which was not fully supported and might give undeterministic results (so we also add a constraint in order to only have one rate per day)
2017-04-10 16:08:07 +02:00
Fabien Meghazi aafa2f12c4 [IMP] web: improve qweb concatenation error logging 2017-04-10 16:01:30 +02:00
Christophe Simonis 2c897d4199 [FIX] base: allow users to delete own filters, even if not creator 2017-04-10 15:17:49 +02:00
Pierre Masereel 57baccb14a [FIX] maintenance: scheduled maintenance request
When we set a period for preventive maintenance on an equipment which
has no maintenance team set, the cron cannot create the maintenance
requests.

To fix this issue, the maintenance team is now required when a period is
set on an equipment.
2017-04-10 14:54:53 +02:00
Nicolas Martinelli 0b7b5650f1 [FIX] purchase: select supplier
Complement of previous commit, allows to retrieve procurement in the
method as well.
2017-04-10 13:13:22 +02:00
Tran Thanh Phuc 6108778497 [FIX] point_of_sale: wrong group by
Both group by filters are the same
Closes #16338
2017-04-10 12:07:00 +02:00
Tran Thanh Phuc 8600ae34df [CLA] signature for ttpphuctran
Done at #16337
2017-04-10 11:51:43 +02:00
Nicolas Martinelli a07447e85a [FIX] purchase: select supplier
When a PO is created through the resolution of a procurement, the first
supplier of the list is automatically chosen. This is hardcoded and
cannot be extended.

We add a hook so it's possible to customize the selection of the
supplier, for example by selecting the one who offers the best price.

opw-726309
2017-04-10 11:12:48 +02:00
Florent de Labarre aefd8813b9 [FIX] report: check error codes for big pdf files
Closes #16060
2017-04-10 09:43:42 +02:00
Odoo Translation Bot 8f7791fcee [I18N] Update translation terms from Transifex 2017-04-09 02:54:13 +02:00
Odoo Translation Bot 086723152e [I18N] Update translation terms from Transifex 2017-04-09 00:30:47 +02:00
Fabien Pinckaers 4585b14cd1 [MERGE] account: menus for credit note + avoid negative invoices 2017-04-08 19:06:21 +02:00
Fabien Pinckaers 55ea4b16f0 [IMP] account: better CSS/XML for settings 2017-04-08 17:57:14 +02:00
Fabien Pinckaers 525d094ef6 [IMP] account: misc UX improvements
Allow to configure the bank statement import mode from kanban
    When doing a manual journal entry, don't show the maturity date
    Removing Issued total, using credit instead (less code, more
    useful to have due amounts, instead of overdue)
    Creating a bank, set a name 'BofA Current' and an
    account number (that way, the account.account is based
    on name)
    Settings Wizard & menus: better sentences
    Statement CSV Import: installed by default (it
    does not add any menu)
    remove use_in_payment: complex field, only
    used for a default value
    Small code cleanup
[IMP] sale: moving order date to secondary tab (strange on a quotation)
2017-04-08 16:52:05 +02:00
qsm-odoo 4aab300070 [FIX] web_editor: allow to save unchanged icons with media dialog
There was a bug with the icon edition when following these steps:
- Open the Media dialog to edit an existing icon
- Hit the "save" button in the dialog without choosing the icon
- The edited icon disappears

This happenned for icons whose original values were aliases of the
related icon. Indeed, following these steps to edit an "fa-facebook-f"
was leaving the icon unchanged as expected but doing it for a
"fa-facebook" icon made the icon disappeared. This is because the
last one is an alias of the first one and that the media dialog was
ignoring aliasies when saving the original value.

opw-725813
2017-04-07 17:46:07 +02:00
Christophe Simonis aea68e4730 [MERGE] forward port branch 9.0 up to 51fe54dd8d 2017-04-07 17:34:51 +02:00
Pierre Masereel 8d65763f93 [FIX] stock: MTO move status
When we validate a SO with an MTO product, then an RFQ and a delivery
picking are created. The status of the delivery picking is in state
'confirmed', but should be 'waiting' as the delivery waits for a
specific delivery input.

The problem is caused by the unreserve method, which is called in the
'procurement_jit' module. This method only checks that a move has
ancestors to determine if the move should be in waiting or in confirmed,
which is not the case for our delivery move because the RFQ has not been
validated yet so there is not ancestors yet.

To fix this issue, we check the 'procure_method' of the move, and if it
is in 'make_to_order' we put it in 'waiting' instead of 'confirmed'.

We also fixed the function recalculate_move_state that could cause the
same problem.
2017-04-07 16:35:57 +02:00
Christophe Simonis 51fe54dd8d [MERGE] forward port branch saas-6 up to d92c048f9a 2017-04-07 16:30:03 +02:00
Yannick Tivisse a3778ceada [FIX] account,sale: Select correclty the delivery partner
To deduct the fiscal position, we should use the shipping partner.

The field `partner_shipping_id` is defined in the sale module.

Thus, we should choose this partner if the module sale is installed and if this field is set, or fallback to the original partner instead
2017-04-07 16:17:49 +02:00
Christophe Simonis d92c048f9a [MERGE] forward port branch 8.0 up to 6595cfdf0c 2017-04-07 16:16:03 +02:00
Jérome Maes b99311b0e9 [FIX] mass_mailing: use correct regex to detect href content
link_tracker use a regex to determine the content of
a 'href' tag, taking the 'mailto:xxxx@yyyy.zz' case
into account. mass_mailing use another regex that simply
don't.
So when sending a mass mailing containing email link,
the email will be appended by url path of tracking
url '/m/<stat_id>'.

This commit makes mass_mailing use the same regex as
link_tracker (which is in the dependencies of mass_mailing).

opw-727779
2017-04-07 15:52:13 +02:00
Fabrice Henrion a76ed8f2f3 [IMP] marketing_campaign: better icon
Keyboard is not a clear icon.
Calculator is better for statistics.

Closes #16095
2017-04-07 15:48:59 +02:00
Fabrice Henrion 5420c92b89 [IMP] mail: better notification icon
This icon allows to control what types of notifications you want to receive.
That an icon typically used for "notifications" is better than an icon
typically used for "reminders" and "alarms". There is the risk of a wrong
expectation because reminders and alarms have a notion of time associated to
them: reminders in the future or alarms in the future at a given time. In the
case of a follow, there is no "future time" concept, whereas there is a
notification concept. It makes even more sense when we look at the placement of
this icon on the right side of the label "Following".

Closes #16170
2017-04-07 15:40:55 +02:00
jaredkipe cf81b665e5 [FIX] hr_timesheet_attendance: convert field type
Bad migration of new API, was a float field.
Probably introduced at 510d260

Closes #16290
2017-04-07 15:12:22 +02:00
Christophe Simonis d4d5181285 [MERGE] forward port branch saas-6 up to 271067f50c 2017-04-07 15:11:50 +02:00
Nicolas Martinelli 606712a5d2 [FIX] web: refuse DB name with space
In v8, it was not allowed to create a DB with a name containing a space.
This should still be the case from v9 since it causes issuesfor backup
scripts, for example.

Reintroduces 1a0e9063d4

opw-727613
2017-04-07 14:53:01 +02:00
Yannick Tivisse 1452a9903c [FIX] account: Use the invoice shipping address to select the fiscal position
Tribute to Ray Carnes

PURPOSE
=======

Since the fields shipping_partner_id has been added on the invoice model, the onchange triggered by the partner_id hasn't been modified.

SPECIFICATION
=============

The shipping_partner_id will be picked by default to select the fiscal position. If there's no shipping partner, it will check if a 'shipping' partner is a child on the partner_id.
2017-04-07 14:33:02 +02:00
Levent Karakaş 7e8d37462b [ADD[ base: address format for Turkey
Closes #16304
2017-04-07 14:13:37 +02:00
Miku Laitinen b3c949b0c5 [FIX] doc: migration from community to enterprise
In the beginning Odoo Enterprise addons contained a second web module. At some
point that was replaced with web_enterprise, but the documentation wasn't
updated.

Describe the proper changes.

Closes #16302
2017-04-07 14:00:25 +02:00
Fabien Meghazi a859c3b6b3 [REM] Remove 'state' group_by filter in purchase order line search view (opw: 727796)
The group by on state in this search view cannot be used due to a typo
in the 'state' field's attribute "stored=True" dbe3d8035f

It can't be fixed in 9.0 as it would change the schema, hence the only
option is to disable this filter in 9.0

This should not to be forward ported to 10.0 as it is already fixed for
this version in 3451ac5254
2017-04-07 13:17:36 +02:00
Joren Van Onder d17c302c0a [FIX] point_of_sale: undo mobile browser autoscroll in client list
Mobile browsers attempt to scroll invisible input elements into
view (eg. when they end up hidden behind the on-screen keyboard). The
browser does not always correctly undo this. This is problematic
because the main window in the client list is not actually scrollable
for the user, so you ended up with part of the widget cut off. This
implements a workaround that scrolls to top when input elements are
blurred. Removing the blur handlers is not necessary because the input
elements get removed.

opw-706781
2017-04-06 17:01:22 -07:00
Goffin Simon c8a434306f [FIX] website_sale: Updating price on Optional Products
When changing the quantity of a product in Optional Products modal
in the shop, the price was not updated according to the pricelist.

opw:726686
2017-04-06 17:37:19 +02:00
Goffin Simon 428d9e8177 [FIX] odoo: Copy a record in other language than US
When copying a record in an other language L than US, first a translation
was created for L by the create called in the copy function and afterwards,
a second translation was created by the function copy_translations

So there were two duplicated translations for L instead of one.

opw:706865
2017-04-06 17:13:15 +02:00
Nicolas Martinelli 28c158cd13 [FIX] crm, sales_team: dashboard shortcuts
Partially an incorrect forward port of 27b6451. Moreover, the shortcuts
"exp. closing" and "overdue" use the action
`crm_lead_action_activities`, which filters by default
`activity_date_deadline != False`. This should be used as well when
counting.

opw-725666
2017-04-06 16:56:44 +02:00
Raphael Collet 6595cfdf0c [FIX] expression: avoid useless query when searching on x2many sub-field
Searching on a domain like `[('m2m.sub', operator, value)]` currently does
something like:

    right_ids = comodel.search([('sub', operator, value)]).ids
    table_ids = model.search([('m2m', 'in', right_ids)]).ids

and reduces the domain triple to `('id', 'in', table_ids)`.

The domain triple can actually be reduced to `('m2m', 'in', right_ids)`.  With
this reduction, the search on the field `m2m` will be done as part of the main
query.  And this will also enable the optimization of the former fix!
2017-04-06 16:46:46 +02:00
Raphael Collet 5219dcbae3 [FIX] base: malformed base.pot 2017-04-06 16:30:29 +02:00
Raphael Collet 3c2065c89d [FIX] expression: use sub-select when searching on many2many field
Avoid pathological performance issue caused by injecting ids retrieved with
another query.

Consider a domain like `[('m2m', 'in', ids)]` on a many2many field.  The
current implementation will perform the subquery:

    SELECT m2m_id1 FROM m2m_table WHERE m2m_id2 IN (ids)

and inject its result into the main query as:

    SELECT id FROM ... WHERE id IN (result_ids)

The latter may be very slow if `result_ids` is a huge list of ids.

The fix injects the first query into the main query as:

    SELECT id FROM ... WHERE id IN (
        SELECT m2m_id1 FROM m2m_table WHERE m2m_id2 IN (ids)
    )

As a result, the database will typically JOIN both tables, and avoid generating
the whole list from the subquery.
2017-04-06 15:59:50 +02:00
Martin Trigaux 58918fb826 [FIX] account: bad forward port
Field remaining from 9.0 when cherry picking #16236 to #16282
2017-04-06 15:57:03 +02:00
Thomas Binsfeld f79e2fd318 [IMP] account: add prepare methods for exchange diff move lines
Such prepare methods are useful in situations where we want to propagate some
analytic dimension to exchange difference move.

Closes #16282
2017-04-06 15:17:17 +02:00
Thomas Binsfeld 01add1fe15 [FIX] account: browse only one record
Part of #16282
2017-04-06 15:11:31 +02:00