Commit Graph
120953 Commits
Author SHA1 Message Date
Thibault Delavallée 1e7eb76c30 [MERGE][IMP] mail, mail_bot: improve Discuss onboarding and add your new best friend
Purpose of this merge is to improve onboarding of Discuss. This is done via
a wow effect and a bot to test the Discuss app; otherwise you have nobody to
talk to. Purpose is also to improve retention as "the best way to increase
retention is this: when the user invites someone, when this guy activates its
account, the user gets a push notification from the invited user that just
logged in; that way he will come back to Odoo and start discussing with its
colleagues.

Concerning your new best friend: it is not a dog but Odoobot.

See sub commits for more details. This merge is linked to task ID 1838588 and
closes PR #25075.
2018-08-10 13:43:47 +02:00
Christophe Simonis 7499b47ffa [MERGE] forward port branch saas-11.4 up to edd586002e 2018-08-10 13:37:21 +02:00
XavierDo cf505c3698 [ADD] mail_bot, im_livechat_mail_bot: add Odoobot, your new best friend
Purpose of this commit is to improve onboarding with a wow effect and a bot
to test the Discuss app. Otherwise new users have nobody to talk to. Retention
will be improved by both increasing interactions and onboarding of Discuss
features.

This commit adds a simple bot in discuss. It answers some questions, helps
users getting their hand on discuss and eases the onboarding.

In this version, the flow is quite simple, and only im_livechat adds some
logic in order to show canned response. The logic is contained in new
modules: mail_bot and im_livechat_mail_bot in order to keep everything
well separated. It also allows users to remove the mailbot if they do not
want to keep this functionality.

Odoobot will only answer if he is in the onboarding conversation (alone
with a user in a channel of type chat) or if a user pings odoobot.

Odoobot logic applies to both standard chatter / channel messages and
also transient messages (like help commands).

Specifications

 * 2 minutes after first sign in, users will receive a direct chat from
   Odoobot;
 * make Odoobot an archived partner;
 * scenario

  * Odoobot: "Hello, I'm here to help you discover chat features. Try
    answering me with an emoji :)";
  * User:  Send emoji
  * Odoobot: "Great! :) Did you notice that you can also send attachments,
    like a picture of your cute dog? Try it!"
  * Odoobot: "Not a cute dog, but you get it :) To access special features,
    start your sentence with "/" (I.E. /help)""
  * User: /help
  * Auto message then Odoobot: "Wow you're a natural! As a channel usually
    contain a lot of users, you can grab the attention with a ping. Try to
    ping me with @Odoobot!"
  * User: @Odoobot lorem ipsum

  * if Livechat installed

   * add 2 demo canned response so it does not look weird (like "Hello, how
    may I help you?" and "Have a nice day!")
   * Odoobot: "Perfect! <br> Try to type ":" to use canned responses."
   * User tries canned
   * Odoobot: "Good, you can customize your canned responses in the live chat
    application. <br><br> + réponse suivante"

 * Odoobot: "There's 3 different ways in Odoo to interact with your
   colleagues:  via this chat window, [img of chat window] via the Discuss
   application [img of Discuss app + icon on it] or via the chatter [img of
   the chatter]. Aaaaand that's it! Enjoy discovering Odoo! :)"
 * random answers to ping/bad answer

  * "Mmmmh I'm not sure what you mean.. Can you try again?"
  * "I'm afraid I don't understand. Sorry!"

 * when someone pings @OdooBot with no reason: Odoobot: Yaaaay that's me!
   [party emoji]
 * fun stuff to add for some answer

  * User: i love you / love
  * Odoobot: Aaaaaw that's really cute but, you know, bots don't work
    that way. You're too human for me! Let's keep it professional <3
  * User: Fuck
  * Odoobot: That's not a really nice thing to say, you know? I'm a bot but I
    have feelings, ok?! </3

This commit is linked to task ID 1838588 and PR #25075.
2018-08-10 13:33:28 +02:00
XavierDo c446fb2001 [IMP] auth_signup, mail: notify inviter user when invited user connects
Purpose of this commit is to improve the onboarding and the first steps of
Odoo notably when using Discuss and inviting first people to join Odoo.

When a new user connects the user who invited him will be notified with
a desktop notification inviting him to have a chat in Discuss and talk
together.

This commit is linked to task ID 1838588 and PR #25075.
2018-08-10 13:33:28 +02:00
XavierDo 340e1c0219 [IMP] mail: add a desktop notification request to systray
Purpose of this commit is to improve the onboarding and the first steps of
Odoo notably when using Discuss and inviting first people to join Odoo.

In this commit we now ask the user to activate desktop notifications. Like
already done in Discuss a message will appear in systray in order to ask the
user to do it. This message will disappear once the user accepts or blocks
desktop notifications.

This commit is linked to task ID 1838588 and PR #25075.
2018-08-10 13:33:28 +02:00
Martin Trigaux 78c9084ea2 [FIX] lunch: convert date to string
To properly dump it in json
2018-08-10 13:31:42 +02:00
Christophe Simonis edd586002e [FIX] sale: uses float_compare in test 2018-08-10 12:14:35 +02:00
RomainLibert fd02fec8d8 [IMP] mail: add feedback option to kanban activities
In the kanban view, there was no possibility to add a feedback when
closing an activity this commit adds the same popover as the one we have
in the form view.

This commit also add the templates to this popover with the possible to
directly send the template or open the composer.

Task #1870662
Closes #26280
2018-08-10 12:08:09 +02:00
Mitali Patel 3f3593a4fd [FIX] hr: Set the same name/image for administrator's employee
Make sure that the employee and its user have the same name and image
2018-08-10 11:50:07 +02:00
Xavier Morel d680ae5619 [CHG] base_import: sort-of reduce o2m depth by 1 level
Before, once reaching level 0 all of an O2M's fields would still be
selected, so we would really be selecting depth+1 levels of fields,
which makes for an extremely busy list as it's a combinatorial
explosion.

Change this so at level 0 the only field selected from a field is an
xid. Not sure that's even necessary though, do xids really make sense
for o2ms?
2018-08-10 11:40:33 +02:00
Pierre Masereel bf45668faf [FIX] base: flex for wkhtmltopdf
Since the removing of the flex mixin in rev: https://github.com/odoo/odoo/commit/770aec399c4e6e29cfc5854318cbda19a605315d
The flex is bad rendered in pdf by wkhtmltopdf, because it uses
-webkit-box and not -webkit-flex. So we set it back through the post
processing regexp
2018-08-10 11:25:03 +02:00
Pierre Masereel 2633cb9eab [IMP] web, stock: allow report to be in container-fluid
Some new reports need to be displayed in full width when in HTML, so we
must be able to set the class 'container-fluid' on the body of some
reports.

So we use an xml t-set to change the class of the body if it's needed.
The default value stay the class 'container'.
2018-08-10 11:25:02 +02:00
Pierre Masereel f82421f930 [FIX] web: create links to objects when document ready
When we add the attributes 'res-id', 'res-model' and 'view-type' on an
element in a report, the element should be wrapped in a <a> tag that
give a link to the referenced object.

Because it doesn't wait the document is ready to select elements having
this attributes, it doesn't alway find some elements having those
attributes.

So we just wait the document to be ready to find the elements having
those attributes.
2018-08-10 11:25:02 +02:00
Pierre Masereel 94a3919d09 [ADD] stock, sale_stock, purchase_stock, mrp: Routes 2D report
We are adding a new report available on products that displays all the
routes applicable on the products and dislay them as arrows between the
different locations.

We also display the putaway rules and reordering rules on locations
where they are applied.

TASK-46972
2018-08-10 11:25:01 +02:00
Gabriela Mogollon ebf29dfc2e [IMP] hr_payroll_account: Avoiding creating empty journal entries
Purpose
=======

Steps to reproduce
------------------

Install hr_payroll_account
Configure a salary rule
Create a payslip and confirm

Current behavior
----------------

A journal entry is created without items.

Expected behavior
-----------------

Create the journal entry with all items like it's created
When the payslip is computed (compute sheet button) and validated.

resolve https://github.com/odoo/odoo/issues/24796

Specification
=============

Now the super of ```action_payslip_done``` is called before the creation
of the journal entry. This means that the ```compute_sheet``` method is
called too before the filling of the account move.
2018-08-10 11:09:15 +02:00
Martin Trigaux aae5b4a41e [FIX] point_of_sale: fixup 53233b41
Why is github green when the tests have not run yet?
2018-08-10 10:51:41 +02:00
Fabien Pinckaers 23b43a1515 [IMP] base: adding website enterprise modules 2018-08-10 10:20:15 +02:00
SEINLET Nicolas 53233b41a8 [FIX] point_of_sale: display only once a field
location_id and stock_location_id are both containing the same location.
Keep only one

Closes #26297
2018-08-10 10:16:50 +02:00
Prakash Prajapati c69a6c6509 [FIX] mrp: see full name of 'report' option in BoM 'Structure & Cost' report
Before this commit, when we opened the report "Structure & Cost" of a Bill of
Materials of a product without any variant, the dropdown option selection
'report' had the current selection name cut. For instance, the selection
"BoM Structure & Cost" was displayed as "BoM Structure".

This was due to each option having a width determined by the bootstrap
classname `col-md-4`, independently on the number of options that are
available.

There are either 2 or 3 options at the top of this report, depending on whether
the product of the BoM has variants or not. When there are 3 options, there is
not problem. However, with 2 options (i.e., without variants), each option
available horizontal space is reduced, so that the 'report' option is shrunk,
which cuts the text selection as a result.

This commit fixes this problem when there are 2 options (= "no variant"),
so that the 'report' option uses more horizontal space.

Task-ID 1864490
Closes #25643
2018-08-10 10:15:20 +02:00
Fabien Pinckaers 80879132c8 [FIX] base: fix Learn More on some chrome versions, using a link instead of button 2018-08-10 10:05:41 +02:00
Fabien Pinckaers 17f6e43bfa [FIX] website: fix button 'more info' on modules 2018-08-10 10:00:44 +02:00
Lucas Perais (lpe) da2140b726 [FIX] sale_timesheet: choose the project's company to determine cost
Companies:
B child of A

User:
Demo in B not in A
Admin in A

Create a product with Admin:
track service = timesheet on project
invoicing policy = delivered quantities

Create a SO with Demo and validate, a project is created
Now, make the demo user timzsheet on it

Before this commit, there was an access error on company,
that was because the the company that was choosen to determine the cost, was the one on the employee, which could be
in another company than the user and moreover than the project

After this commit, we take the company of the project

OPW 1871440
closes #26271
2018-08-10 09:45:06 +02:00
Lucas Perais (lpe) 21064c7de8 [FIX] hw_escpos: byte/string correction
OPW 1868196
2018-08-10 09:39:44 +02:00
Lucas Perais (lpe) abd2b2e2ca [FIX] account: reconcile through widget associate payment/invoice
Create an invoice, validate it

Create a payment from athe account.payment model (not the register payment wizard)

click on the smart button payment matching, and match the invoice with the payment
Reconcile

Before this commit, the invoice was not part of the invoice_ids field of the payment,
So, when printing the payment receipt or check, there was nothing on there

After this commit, we associate the invoice with the payment, and the receipt prints
what is expected

OPW 1871575

closes #26245
2018-08-10 09:35:26 +02:00
William Henrotin 80ceddfe8f [FIX] base: show Qweb views from reports
The commit 480184115d introduce a new 
report type (qweb-text). It uses qweb syntax and views but the button 
'Qweb view' is hidden in the report form. 
This commit displays the button for the new type.
2018-08-10 09:32:53 +02:00
len-odoo 47c7d123da [FIX] web_editor: remove related videos at the end of youtube embeds
If a user embeds a youtube video on his website, he has no option to remove the
suggestion of related videos at the end of playback.
Since there is no good reason to have it, we disable the related videos in all
cases.

opw 1868380
2018-08-10 09:30:41 +02:00
Lucas Perais (lpe) 215754a7db [FIX] payment: display error on payment acquirer return
Before this commit, when authorize (for example) returned a business error
the error wasn't displayed to th ecustomer

After this commit, it is.

OPW 1866408

closes #26279
2018-08-10 09:27:09 +02:00
Christophe Simonis 7717f082c0 [MERGE] forward port branch saas-11.3 up to af35aea6b0 2018-08-09 19:33:32 +02:00
Christophe Simonis af35aea6b0 [FIX] sale_stock: adapt new test to renamed xmlid 2018-08-09 18:56:26 +02:00
Christophe Simonis a98131d5bc [FIX] test_mail: bump query count
An extra query is made because of new group added to fields in 57ea939eda.
2018-08-09 18:52:46 +02:00
XavierDo d6a601fe3f [IMP] mail: do not subscribe inactive partners
We do not want inactive partners to be added as followers. Indeed this may
lead to unwanted notifications send as inactive partners are not easily
found in the various widgets. It also creates unnecessary data and
computation.

This commit has a small impact on performances as we choose to do it in
message_ subscribe method. Private _message_method is left untouched as
parameters given to this method are left to caller control.

This commit is linked to task ID 1838588.
2018-08-09 16:30:52 +02:00
Martin Trigaux 15b0e010a3 [FIX] web_settings_dashboard: don't update copyright every year
The end year is not important.
The point is that Odoo s.a. is owner of the copyright since 2004
2018-08-09 16:22:41 +02:00
Yannick Tivisse 97af4a1575 [FIX] base: Re-display the onboarding bar on view loading
Purpose
=======

Currently the onboarding bar is not shown due to the BS4 migration
2018-08-09 16:19:30 +02:00
Yannick Tivisse bdf413055a [FIX] mail: Re-display the next activities on chatter loading
Purpose
=======

Currently the next activities are not shown due to the BS4 migration
2018-08-09 16:19:30 +02:00
Goffin Simon bf282f2b7b [FIX] stock_landed_costs: List view in multi-company
In multi-company, it was not possible to distinguish the records
of the current company of the user.

opw:1870561
2018-08-09 16:01:31 +02:00
sri-odoo 1934780fc3 [IMP] doc: reduce imgs footprint
Reduce footprint using a combination of resize/imageoptim saving ~10Mb
2018-08-09 15:50:31 +02:00
stefanorigano 97fc6c0b5a [IMP] base: adapt app form view design to new icons
See 1d9208c4fa
2018-08-09 15:50:22 +02:00
stefanorigano 1d9208c4fa [REF] *: improve app icons, add SVG version
- Uniform colors and design
- Replace duplicated icons (eg. sale / sale_management)
- Improve misleading icons (eg. POS)
- Add icons for new apps

Add SVG versions to lossless future editing and print/marketing use.

task-54681
2018-08-09 15:46:06 +02:00
Aurélien Warnon f6bb29c0c7 [FIX] website_product_comparison: Re-display product comparison
Purpose
=======

Since the migration to bootstrap 4, the variants are not displayed
anymore on the product comparison view.
2018-08-09 15:21:41 +02:00
Nadal Francisco Garcia 4f4fdb2f35 [FIX] stock: fix unreserve
In the original commit 19116cc878, `action_assign` was called
on all `move_ids`. However, after API conversion, moves are filtered.

Closes #25886
opw-1868834
2018-08-09 15:19:15 +02:00
Nadal Francisco Garcia fac1d2dd2a [CLA] BT-nfrancisco added to Braintec 2018-08-09 15:19:15 +02:00
Christophe Simonis 9cb97a8c2d [MERGE] forward port branch saas-11.2 up to 499af66727 2018-08-09 15:06:31 +02:00
Adrian Torres a1bad2191c [IMP] pyjs: add date/datetime utilities
Introduce utilities to calculate the start / end of a period given a date or datetime object in the JS python interpreter.

This commit is the JS implementation of commit 960360afe4
2018-08-09 15:00:37 +02:00
Christophe Simonis 499af66727 [MERGE] forward port branch 11.0 up to a10ea93dbe 2018-08-09 14:50:55 +02:00
William Henrotin 3cebe88d8d [IMP] stock: report consitency
Some pdf reports are renamed to be identified as pdf reports (to
be distinguished with zpl ones). The old layout become similar with
the label one.

Task ID:1837175
2018-08-09 14:33:03 +02:00
William Henrotin 77d8d45d7f [IMP] stock_zebra: report samples
This commit brings some text reports to generate ZPL scripts.
labels from:
- products (template and product)
- lots
- transfers
- packages

The templates have been tested on a Zebra GK420d

Task ID: 1837175
2018-08-09 14:33:03 +02:00
William Henrotin 480184115d [ADD] base: report: qweb-text type
This commit adds a new ir.action.report type: qweb-text. It produces text files,
serves them with a text mimetype and these reports use the same rendering context
as the current other types (PDF and HTML).

This will be used in a following commit to produce ZPL scripts. Those scripts
are used for printing thermal label on Zebra printers.

task ID : 1837175
2018-08-09 14:33:03 +02:00
Goffin Simon a10ea93dbe [FIX] account: rounding problem with Payment Matching in multi-currency
Steps to reproduce:

- activate the multi-currency option in the Accounting App
- activate the EUR currency (USD being the base currency)
- create a EUR Bank Journal with an EUR account
- on 31/07 ==> rate = 1.1
- on 08/08 ==> rate = 1.2
- create a vendor bill for Asustek on 31/07 for 39794,40 EUR
- create a vendor bill for Asustek on 31/07 for 61668,00 EUR
- create a vendor bill for Asustek on 31/07 for 33487,70 EUR
- create a supplier payment for Asustek for 134950,1 EUR
- use the payment matching smart button
- match the 3 invoices you entered;

Bug:
Odoo says there is an open balance to write-off and prevents you from reconciling

Expected Behavior: the payment total amount in EUR matches the 3 vendor bills total
amount in EUR so I would expect Odoo to consider I have a perfect match between the
payment and the vendor bills and the difference in USD (base currency) should be
automatically reflected through an exchange difference entry.

if you follow the same operation with 3 invoices of 115EUR each and a payment of 345EUR,
it will work as expected.

opw:1872978
2018-08-09 13:43:38 +02:00
Thibault Delavallée 6184c85de0 [MERGER][ADD] mass_mailing{crm/sale}: better showcase UTM integration in mass mailing
Specifications

If CRM is installed
 * add 2 stat buttons to the mass mailing form;
 * XX Leads -> redirects to lead list view (should include both types: leads
   & opportunities), only visible if Leads are activated in CRM settings;
 * YY Opportunities -> redirects to opportunities list view (only
   opportunities);
 * those stats buttons are linked to UTM trackers used in the mass mailing
   itself: campaign, source and medium. Those can be configured notably using
   the website_link module;
 * display the stat buttons even if no data;
 * update demo data;

If sales installed
 * add 2 stat buttons to the mass mailing form;
 * XX Quotations -> redirects to quotation list view;
 * YY Invoiced -> redirects to invoice list view. Use the account invoice
   report to generate the invoiced amount;
 * those stats buttons are linked to UTM trackers used in the mass mailing
   itself: campaign, source and medium. Those can be configured notably using
   the website_link module;
 * display the stat buttons even if no data;
 * update demo data;

See sub commits for more details. This merge is linked to task ID 1872198 and
closes PR #26188.
2018-08-09 13:37:02 +02:00
Pierre Masereel e01620ce02 [IMP] stock: quant_package owner and company
When all quants in a package have the same owner and/or company, the
field owner and/or company on quant_package will have the same value as
the one on quants.

TASK-60709
2018-08-09 13:30:39 +02:00