Commit Graph
124195 Commits
Author SHA1 Message Date
len-odoo 80156aa919 [FIX] base: allow a user to attach documents to his profile, without administration access rights
The res.users class contains special fields that bypass access rights.
These are designed to allow a user that does not have the possibility to write
on res.users to modify their own fields, such as the mail signature.
Create and write are overriden to make it so, however the check_access_rights
isn't.
Since this method does not work at field level but at model level, there is no
easy way to resolve the incoherence.

Uploadding an image to a signature would add an attachment to the signature;
before being created, an attachment checks if the user has the rights to write
on the target model. The incoherence thus make it fail.

We add a special case when creating an attachment so that a user can write on
itself.

opw 1871243
2018-09-04 12:20:17 +02:00
Nicolas Martinelli eaff0a71bd [FIX] web: export field with '/'
- Activate lots and SN
- Go to Inventory > Inventory Adjustments
- Export a record
- Select the field 'Inventories > Lot/Serial Number'

The `name_get` of the field is exported, not its XMLID.

This is because the parsing made in order to limit the depth of export
is made on the label, not on the field name.

Actually, it is not clear WHY this limitation exists, but we keep it for
compatibility purpose.

opw-1877092
2018-09-04 11:40:19 +02:00
Nicolas Lempereur 4cb585ab4f [FIX] web: ignore default_* on group creation
When a column is created in the kanban view, the context of the window
action is fully given but it may contain default_{field_name} context
keys that are intended for the action model.

eg. on a product.product view we could have {default_type:'product'} in
the context, if we grouped by company_id and created a new company, we
would the context is propagated and we would try to set type='product'
on the company (which causes an error).

Without the change, the added test fails with:

  default_* should be removed from context, actual: "true", expected: "false"

opw-1879064
closes #26676
2018-09-04 11:03:15 +02:00
Alexandre Kühn c63c618312 [REF] web: improved fix from 'Edit View: X' (017e7132)
Revision on https://github.com/odoo/odoo/commit/017e71322b6b7f0c232f0d66ba659a5972fc3534

Commit above correctly fixes an issue with 'Edit View: X' menu item
in the debug manager, in which the name of the view was missing.
To do so, it lets the controller be aware of the name of the view,
so that it can be used in the template of the debug menu.

However, we think there is a much better solution to fixing this
issue: since the debug manager has knowledge of the view action,
we can extend this object with the name of the view.

This is exactly what this commit does: extend the action view object
so that it knows the name of the view. That way, the template is much
more readable, as `view.displayName` is more meaningful than
`controller.viewName`.

Task-ID 1878254
2018-09-04 10:53:25 +02:00
Nikunj Ladava 89011e63ab [REM] website_sale: remove duplicate option of automatic invoice
Oversight of 4c31a758cf .

This commit is related to Task ID 1880704 and closes PR #26658.
2018-09-04 10:22:38 +02:00
Martin Trigaux d65969d572 [IMP] base: do not set a value for new translations
When generating new translations (e.g. 'edit translations' button on a view or
on a translatable field), the new generated translations have the source as
translation value.

Set the state to 'to_translate' as it is the default value

This change requires to add a fallback in web_editor when computing translated
dom

When a translation has no value, there is a fallback done in the different
translation method (e.g. xml_translate) but, as the node was manually created
in edit_translation_mapping, the fallback was missing

closes odoo/odoo#24391
2018-09-04 08:22:15 +00:00
Goffin Simon 15c81d74a3 [FIX] mail: Timezone issue when creating a call
Steps to reproduce the bug:
- Let's consider the today date = D
- Set on your preference a timezone which has another today date = D+1
- Go to CRM > Configuration > Activiy types > Call
- Set 0 as # Days
- Go to CRM > Pipeline > Click on a lead
- Schedule an activity of type = Call

Bug:

The Due Date = D instead of D+1

opw:1877217
2018-09-04 09:20:24 +02:00
Lucas Perais (lpe) 06cd145a79 [FIX] sale_timesheet: fixup timesheet cost
fixup e65c8826ef
fixup da2140b

closes #26746
2018-09-04 09:09:30 +02:00
Nicolas MartinelliandGert Pellin 9999661cd0 [FIX] payment_authorize: add first name and last name
The `createCustomerProfileRequest` requires a first name and a last
name for several payment processors.

Reference:
https://developer.authorize.net/api/reference/#customer-profiles-create-customer-profile

opw-1878218

Co-authored-by: Gert Pellin <gpe@odoo.com>
2018-09-04 08:25:46 +02:00
qsm-odoo 5ec04489f0 [FIX] web_editor: avoid odoo UI buttons override by themes 2018-09-03 18:40:35 +02:00
qsm-odoo ab7385db1a [IMP] website: allow to select buttons' font
Needed for themes migration.
2018-09-03 18:40:35 +02:00
qsm-odoo cde3c9261e [FIX] website: review website customize dialog
Make some changes which are needed for theme migration.

- Theme colors as user colors fallback only (not hard choice)
- Review option dependency system
2018-09-03 18:40:35 +02:00
Alexandre Kühn 017e71322b [FIX] web: display view name in debug menu ('Edit View: X')
Revision on https://github.com/odoo/odoo/commit/f7fbe8adffb1ee585c8171f6c86d38145c11848d

The commit above wrongly assumes that the object 'view' is an instance
of the view class. As a result, the property `display_name` was undefined.

This commit fixes the issue by letting the controller remember the name
of the view in a similar was as the type of the view. That way, the name
of the view can simply be retrieved from the instance of the controller
class.

Task-ID 1878254
2018-09-03 17:04:45 +02:00
Nicolas Lempereur 7a453b0b7a [FIX] web_editor: focus lost with inline editor
When an inline editor is eg. in a form view, the focus is always stolen
by it.

This is because we trigger a mouseup on the editor to update its
toolbars values and informations.

In 10.0 this was not necessary since the default values were sanely set
when the editor was inside the DOM. In 11.0 the editor is not in the DOM
when this is being done and the info was wrong (eg. NaN for text size).

With this commit, we don't steal the focus and get the default like it
was done in 10.0 instead.

fixes #26366
opw-1874880
closes #26582
2018-09-03 16:51:20 +02:00
Goffin Simon af27196fc5 [FIX] sale_stock: Printing Delivery Order
Steps to reproduce the bug:

- Create a user U with manager inventory access rights and no right in sales
- Create a SO and validate it, it will create a picking P
- Lock the SO
- Log with U and try to print the delivery slip of P

Bug:

A access right error was raised.

opw:1878504
2018-09-03 16:51:47 +02:00
Nicolas Lempereur 61b771256c [FIX] web_editor: back to first -> history stay ok
If we do:

- one change that will be saved in history
- go back to the document before any change
- do other change

we can easily get in a state were the history is no longer recorded.

The history is kept like this:

- pos: our position in the history
- aUndo: the snapshots of history
- toSnap: the last history snapshop that is to be saved

so for example if we start without change (at originalState):

  {pos: 0, aUndo=[], toSnap=null}

Then we do two changes (change1, change2):

  {pos: 2, aUndo=[originalState, change1], toSnap=change2}

If we make an undo, we will get to:

  {pos: 1, aUndo=[originalState,change1,change2], toSnap=null)

If we make another change (change3):

  {pos: 2, aUndo=[originalState, change1], toSnap=change3}

So the history after the position is removed.

But when we get back to the original, the state would forever be:

  {pos: 0, aUndo=[originalState], toSnap=change85}

because when doing a change, the code only removed history from the
max(pos, 1) index.

opw-1870119
closes #26701
2018-09-03 16:30:03 +02:00
Nicolas Lempereur 793988c7ed [FIX] web_editor: normal up/down in content in cell
In the editor in a table cell, when we press UP/DOWN keys:

- we have default editor/browser behavior if there is content before
  (UP) or after (DOWN) the element we are currently on
- else we go to the previous (UP) or next (DOWN) row if available
- else we go to the next content if available
- else we have the default editor/browser behavior

But when checking if there is an element before/after the content, we
did not take into account if there was an ancestor node inside the cell
that had content after, so for example with this structure:

```
<table>
<tr><td>
  <p>hello <b>world</b></p>
  <p>cruel</p>
</td></tr>
<tr><td>
  <p>bingo</p>
</td></tr>
</table>
```

if the current range was on 'world' text node, we would just check if
there is content after this text node, not if there is content after its
`<p/>` ancestor.

Before the fix we would get on the next row, after we would have default
editor/browser behavior: ie. if cruel is on another line, going to this
line.

opw-1870119
closes #26701
2018-09-03 16:30:03 +02:00
Frederik Kramer 5a53e5b8e9 [CLA] signature for initos
Added Florian Kantelberg to our team of contributors

Closes #26638
2018-09-03 16:00:53 +02:00
Nicolas Lempereur 388eff5b58 [FIX] web: load more with progressbar load more
Be in a grouped kanban view with progressbar with limit 10:

- records 1 to 10 are loaded on a column
- do "Load more..." on a column => records 11 up to 20 are loaded
- do "Load more..." 2nd time => records 11 up to 20 are loaded
- do "Load more..." 3rd time => records 11 up to 20 are loaded
- ...

While in reality it should be:
- do "Load more..." 2nd time => records 21 up to 30 are loaded
- do "Load more..." 3rd time => records 31 up to 40 are loaded
- ...

This was caused by the progressbar reloading the column's group. This
set the loadMoreOffset to 0 thus forgetting the current state.

Without the change, added tests failed with:

 records of column are loaded => actual: "1,2,2", expected: "1,2,3"

opw-1878359
closes #26628
2018-09-03 15:58:52 +02:00
JPR 6da3dafe94 [FIX] base_import: 'Create if does not exist' option 2018-09-03 15:20:39 +02:00
Martin Trigaux 98665aca1c [FIX] transifex: actually escape strings containing a '
The report's template is wrong
should becomes

text:'The report\'s template is wrong'

but previous code had no effect
2018-09-03 15:03:09 +02:00
Olivier Dony 74d72b9153 [FIX] portal: raise front-end asset priority
This is necessary to make it among the first of the "assets frontend"
inherited views, and specifically make it appear *before* the one from
website. Without this, SCSS styles may be randomly broken if the
original installation order of `portal` and `website` was reversed
(e.g. for older databases).
2018-09-03 14:42:35 +02:00
Martin Geubelle e273407157 [FIX] mail: consider activity as a valid view type
The recently introduced `activity` view (see rev. odoo/odoo@1de9496 has not
received all the consideration it deserves as a real view type (no RNG, not in
the valid view `type`, no doc, etc.). It was currently only working based on a
`_get_default_activity_view` method.

Even if the RNG is currently really basic, its grammar could evolve in the future.

This was causing an issue when opening Studio with this view as a default view
with an invalid type was created.
2018-09-03 13:40:22 +02:00
Goffin Simon bc913d9d2b [FIX] point_of_sale: Print receipt on Safari
As explained on stackoverflow with
https://stackoverflow.com/questions/23626998/safari-print-issue-with-javascript-window-print
There is an issue with javascript window.print() on Safari

Steps to reproduce the bug:
When clicking on button "Print receipt" in the point of sale, nothing happened.

opw:1858205
2018-09-03 13:23:21 +02:00
Toufik Benjaa b789092ead [FIX] mail: Access right issues while accessing mail.message
- The SQL request to retrieve mail.message information to compute access
  rights was incorrect. Which triggered false access right issues.
2018-09-03 13:16:11 +02:00
len-odoo b95b4035e4 [FIX] web: tab selects first many2one entry without triggering spurious create
Suppose you select a customer for a sale order.
You type the beginning of his name "think", and a name_search is triggered
which finds matching results, with first result "Think Big Systems".
There are three ways to select it: click, enter or tab.
Now there can be a warning set on this customer
("Bad client, only accept cash", or "good client, offer discount").
In that case, clicking on tab would trigger the onchange displaying the warning,
but it would also set floating to true, which means a dialog to create client
"think" would appear.
This happens if the onchange is delayed, and thus the call to reset the floating
state is triggered only after the focusout completed, instead of before.

Coauthored with @aab-odoo

opw 1866619
opw 1874475
2018-09-03 12:09:56 +02:00
Nicolas Martinelli 122f06b86e [FIX] l10n_th: withholding taxes
Withholding taxes should have a negative value.

opw-1865270
2018-09-03 12:05:30 +02:00
Nicolas Martinelli 5b89ca142d [FIX] purchase: vendor reference
In case no PO has a vendor reference, keep the value.
2018-09-03 11:57:49 +02:00
Goffin Simon d448849ba3 [FIX] delivery: Error message for unavailable delivery methods
With a fixed price delivery method, the error message was not displayed when
the address doesn't match.

Inspired from function base_on_rule_rate_shipment

The error message was not clear enough.

opw:1879204
2018-09-03 11:13:34 +02:00
XavierDo 0c07ff7f41 [FIX] calendar: allow search on message_ids
When fixing calendar search for recurring events we assumed that
no autojoin field will be used in this search.

The filter unread messages is based on message_ids from mail thread.
The solution here is to redefine this field in calendar to remove the autojoin.
2018-09-03 11:11:39 +02:00
XavierDo 641fe7f34f [FIX] calendar: only make leaf evaluation when necessary
A little optimisation to avoid one more query when we have no
recuring event, and only evaluate leaf of recuring event.
2018-09-03 11:11:39 +02:00
Martin Trigaux d6a0e9db81 [FIX] mail_bot: do not crash on user with no email
When creating a new user, the linked partner may not yet have an email address
(not mandatory field).
When logging in for the first time, after some time an error comes up
   "Unable to post message, please configure the sender's email address."

While the user should set up an email, this popup coming from no specific action
is confusing.

With this patch, the message will be posted as the system (which has an email)
The user will be warned of having no email when trying to reply.

Closes #26601
2018-09-03 11:06:59 +02:00
Martin Trigaux 5700f960d4 [ADD] test_translation_import: new duplication test
To make sure what was corrected is tested
2018-09-03 11:02:56 +02:00
Martin Trigaux e656a350a6 [FIX] test_translation_import: correct test
Now that it is tested, actually correct it
2018-09-03 11:02:56 +02:00
Martin Trigaux a9cd97f58e [MOV] tests: move test to be executed
The test was in a folder not checked by the runbot
The test, as it, is actually failing and it will be corrected in the next commit
2018-09-03 11:02:55 +02:00
Martin Trigaux 1566c0ab3b [FIX] tools: avoid loading duplicated code translation
This commit fixes two bugs:

- a8469c45 was fixing the case where the first line was not 'code' but broke
  the usecase where a po started with code line

- Correct the usecase where a pot and po file do not have the same line of code
  by matching on res_id=0

This avoids to have a pot expecting a code message at line 42 and a translation
at line 43

Closes #26722
2018-09-03 11:02:43 +02:00
jem-odoo 933487eb65 [FIX] rating: error on template rendering
Task #1878247
2018-09-03 10:17:30 +02:00
Toufik Benjaa 82195c587c [FIX] mail: fetch notifications for active partners only
- When trying to fetch notifications for failed mail delivery, the code
  doesn't check if the partner is active or not.

  If the partner is archived, then it tries to access its information on
  a dict that doesn't contains them and crashes.
2018-09-03 10:08:58 +02:00
Nicolas Martinelli e6390a76a6 [FIX] purchase: overwrite vendor reference
Overwrite vendor reference only if there is a PO linked to the bill.
Otherwise, any addition of product will erase what the user just typed.

Closes #26734
2018-09-03 09:54:34 +02:00
Odoo Translation Bot a67c48b0b3 [I18N] Update translation terms from Transifex 2018-09-02 07:07:27 +02:00
Odoo Translation Bot d40145a42e [I18N] Update translation terms from Transifex 2018-09-02 04:09:57 +02:00
Odoo Translation Bot e8606ce00b [I18N] Update translation terms from Transifex 2018-09-02 02:24:05 +02:00
Odoo Translation Bot 8846a0c21b [I18N] Update translation terms from Transifex 2018-09-02 00:29:56 +02:00
Odoo Translation Bot b5471da2e0 [I18N] Update translation terms from Transifex 2018-09-01 02:38:40 +02:00
qsm-odoo 4bc79da943 [FIX] website, *: avoid top menu flickering
* portal, web
2018-08-31 18:57:12 +02:00
qsm-odoo 7253b55f41 [FIX] website, *: BS4, restore website menu dropdowns
* website_event, website_event_track
2018-08-31 18:57:12 +02:00
Jeremy Kersten 7566a8c205 [FIX] website: page manager visual fix
sort by url by default
don't show multi level if not in multi website mode
2018-08-31 18:04:23 +02:00
Romain Derie 6bfb0810b0 [FIX] web_editor, website(_*): fix bs4
[FIX] web_editor: adapt col size to avoid too small select

We should avoid col-md-3 in col-md-9 as the menu dialog is instanciated at 2
places:
  - When creating a link in the editor
  - When editing website navbar menu

In the second case, there is a hack in `content.js` to remove `modal-lg`
lowering the width of the modal and making the select too small.

[FIX] website: lower navbar font size

With BS4, font-size of navbar element went from 13px to ~17px (rem unit
computation).

14px seems better than previous 13px as the frontend content size is
higher than the backend one. Thus, 13px looks too small in contrast with the
frontend page content.

[FIX] website_crm_partner_assign, website_customer, website_membership: fix layout

This commit fixes multiple layout issues, mainly by aligning code of the 3
modules:
  - Add margin right to avoid text to be against image
  - Using image_medium everywhere
  - Fixing search input width

publish toggle red + odoo primary is weird -> gray
navbar now has a background & float-right not working since flex
-> remove navbar class, use d-flex and ml-auto so the right element will be floating since using all available width

task-1878150
2018-08-31 16:37:45 +02:00
Romain Derie 47b00c5d53 [FIX] base,website,web_editor: handle key field on ir.ui.view for multi website
With multi-websites, we expect qweb views to have a key set as it is the key
that is used to find duplicates (two views with same keys are duplicate, the
one with a website_id set is more specific than the one without a website_id)

Thus, 5ff87e8039 sort on key in order to find the most suitable one.

It would crash if a qweb view is created without a key (False) as it can't sort
`bool` and `str`.

This commit:
  - Adds a generated key to scss views
  - Adds an SQL constraint to avoid QWeb views without a `key`
  - Generates a random key when creating a QWeb view without a `key`
  - Handle False key in `filter_duplicate()` by extracting views with False key
    before sorting, and then adding these views to the recordset

Note: We also want the key to be editable as it is now an important field with
      multiwebsite. Thus, we removed the readonly on this field.

+ fix python tests as we now force key on qweb views with sql constraint
+ pep8
2018-08-31 16:37:45 +02:00
Jeremy Kersten 9b1d1d5728 [FIX] website: allow to switch from company from the front end
In some case, you can be on website 2 (where company_id = 2) with your user into the company 1.
In this case, you will not see the product on ecommerce from company 2 while you stay in company 1.
2018-08-31 16:37:45 +02:00