Commit Graph
119424 Commits
Author SHA1 Message Date
qsm-odoo bcbfd96740 [REF] website: review customize dialog JS 2018-08-10 16:47:53 +02:00
sed-odoo 358f050555 [IMP] account,website_sale: Add SEPA QR Code for payment on sale flows
Task id: 1866074

PURPOSE
=======

Creates a QR code which, when scanned, automatically populates a SEPA transfer form.
If your banking app provides this feature, you can populate an entire transfer form
at the touch of a button, just by scanning the QR code.

This was implemented in order to use it in ecommerce or portal payment views of
quotations and invoices.

SPECIFICATIONS
==============

Sepa qr code:
-------------

- Generate the qr code:
   - To figure out. a payment can be done on sales orders, invoices or not related to
     anything (simple payment form)

- Configuration:
   - Add a new settings in the invoicing config menu "SEPA QR Code" to activate QR
     Code payments
   - Show an explicit warning if the journal is not well configured to manage qr
     code (bank account set, etc.)

- Display: show the qr code after the 'Thank you' message (in web page and printed
  documents).
2018-08-10 16:38:03 +02:00
Martin Trigaux f7130556bb [REF] *: add support for RTL languages
מזל טוב

The direction parameter will now have a real impact on the web interface and
completly switch the direction of the interface.
Add the dependency rtlcss to switch the direction with a css postprocessor.

Two different assets will be generated for ltr or rtl
/web/content/<...>/web.assets_backend.0.css
and
/web/content/<...>/rtl/web.assets_backend.0.css
to be able to differentiate it easily

Adapt the css and views to be easier to switch direction

Render graph as it is, do not move y-axis right side, as per mathematical rule
value goes left from origin are considered negative, so keep graph as it is
for right to left language

add test cases for language direction specific assets bundle
if language direction is rtl then we also store css files in assets bundle
now we store two assets bundle, one for ltr and one for rtl language direction
test two assets bundles generated, also test two assets bundle generated for en_US and ar_SY
2018-08-10 16:32:50 +02:00
jem-odoo b6f7ad3adb [MERGE] sale_purchase: automatically purchase services
This commit brings a new module to handle the automatical
purchasing of services, like stock does but without using
routes.

On a service product, a checkbox need to be check and a
supplier has to be defined. On SO confirmation, a Purchase
Order will be generated.

See commits details for more details.

Task #39340
Closes #25221
2018-08-10 16:30:57 +02:00
jem-odoo 6ea1011416 [ADD] sale_purchase: purchase automatically for services
This commit adds a new module providing the automatically services
purchasing feature ("Service Subcontracting").

The product of 'service' type can be flag (in the purchase tab of
its form view) as "purchase automatically".
When adding an sale order line with that kind of product, it will
generate a Purchase Order for the supplier of the product, on Sales
Order confirmation. The PO will contains one line with the quantity
on the sale line, with the UoM conversion (purchase uom might be
different from the sale uom on product configuration). The generated
PO is in draft state.

Then several cases can happen:
1/ Increasing the quantity on the sale line
    - If PO is draft state ('draft', 'sent', 'to approve') : increase
      the quantity on the PO
    - If PO is confirmed state ('purchase', 'done', 'cancel') : create
      a new PO
2/ Decreasing of quantity on the sale line
    - in any cases: shedule a next activity on the PO
3/ Cancelling SO: shedule a next activity on the impacted PO
4/ Cancelling PO: shedule a next activity on the origin SO

The introduction of this module required to move the link between
sale.order.line and purchase.order.line from stock_dropshipping to
thie module, and put sale_purchase as a dependency of
stock_dropshipping.

This commit also brings some test cases.

Task #39340
Closes #25221
2018-08-10 16:30:20 +02:00
jem-odoo 8cdc95a331 [IMP] sale,stock: adapt schedule activity new type
Now, the style of exception activity depends on
the activity subtype, since a global warning type
exists.
2018-08-10 16:30:20 +02:00
jem-odoo ed987b73af [IMP] mail: add global exception activity type as data
Add a data common for all models have the 'decoration'
type set to 'warning' to schedule alert activities.
This can be usefull when activities are generated on
related model changes.

Task #39340
2018-08-10 16:30:20 +02:00
jem-odoo fa5a50e86c [IMP] mail: activity schedule with view
This commit extends the activity API to allow scheduling
activity with a Qweb template to format the activity message.

Task #39340
2018-08-10 16:30:19 +02:00
jem-odoo 80ef7146d2 [REF] sale_*: '_action_confirm' implementation
Impacted modules: sale, sale_timsheet, sale_stock, delivery and
event_sale

The commit ee2b9fae35 split the
implementation and the api of the `action_confirm` method of
a Sales Order.

This commit tries to go further:
1/ change this API: the private method is the implementation that
should be extended when the confirmation should generated other
documents. The state change is extract to be sure that in all
override of `_action_confirm` the SO state will be 'sale' (and
not 'done', in case of activating the options).

2/ adapt other module to this new API. Some of them does not required
the change to correctly work, but it can introduce future bugs.
Doing it now is better ;-)

3/ With this new implementation, we can prioritize SO line treatment
on confirmation. We want the stockable lines to be processed before the
service ones. Indeed, the line (service and stockable) that should
create a purchase order (future dev for services) will search for an
existing PO, but stock has more precise criteria than services. So,
service SO line will find the existing PO from stock while the opposite
is not true.
So, this is why we are now calling `_action_launch_procurement_rule`
before the `super`.
The rest of the treatments (event, delivery, ...) depends on the module
loading order.

Task #39340.
2018-08-10 16:30:19 +02:00
jem-odoo 867e47927d [REF] sale_order_dates: kill the module
This commit dissolves module into sale and sale_stock. Indeed
some fields will be needed for services in next development.
- module is replace by a group in sale
- `commitment_date` and `expected_date` are moved into sale
directly, because they are meaningful for purchasing services
- `expected_date` implementation change when sale_stock is
installed, as the picking_policy of the SO determine if the
min or max dates should be chosen.
- `effective_date` is moved to sale_stock
- tests are moved into sale_stock, and tagged to be executed
after install (post install) otherwise it fails (since
sale_order_dates was a leaf module, it makes sense).

From a functionnal point of view, nothing should have changed,
except that user can see `commitment_date` and `expected_date`
even if sale_stock is not installed, by activating a group.

Task #39340
2018-08-10 16:30:19 +02:00
Olivier Colson 74b6f84cc8 [IMP] account: make partner account selection easier for vendor bills payment
This is done by displaying this field on top of the vendor bills form view and using it as a default value when registering the payment. The use of a sequence on res.partner.bank also allows giving priorities to partner bank accounts directly from the tree view that is contained in res.partner form. In case payments are generated for multiple invoices at once, their account is set as the partner's most prioritary account.

[IMP] account: payment for multiple invoices: option to group + also group on account + hide memo

Add an option in the multiple invoices payment wizard to choose whether or not to group the generated payments. This is useful in case we want to keep one payment by invoice (even if they share the same partner, etc) so that each of them corresponds to a single communication.

The memo field of this wizard is now also hidden in some cases, when displaying it would allow entering wrong communication values (for example, when paying invoices from different partners ; it makes no sense that all the generated payments share the same memo).

[IMP] account: option to sanize invoice communications
2018-08-10 16:22:20 +02:00
Thibault Delavallée 02ceefc5c7 [FIX] mail_bot: do not consider numbers as an emoji
Better stick on pure emojis.
2018-08-10 16:11:59 +02:00
Cedric Snauwaert cf4d4a05fd [FIX] account: the account.move.line.reconcile is not used anymore so remove it 2018-08-10 16:10:37 +02:00
eco-odoo 89e358caa8 [FIX] onboarding: Fix/Update onboarding to v2.0
Specification
=============

- Fix lots of bug due to the BS4 migration
- Improve steps
- Validate some steps (Like the company configuration) in all the
  onboarding bars if done in one onboarding bar.
- Only animate the confetti one time if a step is done, instead of
  on each view loading

For more information, see: https://www.odoo.com/web#id=1869513&action=333&active_id=965&model=project.task&view_type=form&menu_id=4720
2018-08-10 16:08:47 +02:00
eco-odoo 33dee649a8 [IMP] base: rename the label of res_company.vat to Tax ID
Rename TIN into Tax ID in company and partner forms.

task: 1869513
2018-08-10 16:06:36 +02:00
Xavier Morel 24a8622b6a [CHG] base_import: UI/UX changes
Increased amount of magical autodetection of import
parameters (formats, delimiters, ...)

Task 1870663
2018-08-10 15:47:56 +02:00
Cedric Snauwaert 2b9de6d96b [ADD] account: id inside setup div of accounting settings
Id is used in enterprise to add a module inside that view
2018-08-10 15:44:29 +02:00
Kishan Gajjar 29f0c0a186 [IMP] web: add colorpicker dialog 2018-08-10 15:43:07 +02:00
qsm-odoo 1ea9ef7992 [REF] web_editor: rename scss file to respect convention
The file was introduced with BS4 but the name was not well chosen.
2018-08-10 15:43:07 +02:00
qsm-odoo 42b47a7104 [REF] web_editor, *: improve transparent grays definition
* website
2018-08-10 15:43:07 +02:00
qsm-odoo 85c8466cf9 [FIX] theme_bootswatch: fix library
The way the bootswatch library import fonts is not the right way so
we must unfortunately apply a fix in the library itself.

Also review the manifest file.
2018-08-10 15:43:07 +02:00
qsm-odoo 768e3849c7 [FIX] website: BS4, adapt affix top menu to ID targeting 2018-08-10 15:43:07 +02:00
Prakash Prajapati a71f0d6ab0 [IMP] fleet: improve rescheduling of automated activities
Purpose of this commit is to improve automated activities in fleet.
Currently they are not always updated or rescheduled. Specifically when
updating the expiration date or the responsible automated activities should
be updated accordingly.

This commit is linked to task ID 1838956 and PR #25899.
2018-08-10 15:36:05 +02:00
Prakash Prajapati 1cb0b831ae [IMP] maintenance: improve rescheduling of automated activities
Purpose of this commit is to improve automated activities in maintenance.
Currently they are not always updated or rescheduled. Specifically when
updating equipment, technician user of schedule date automated activities
should be updated accordingly.

This commit is linked to task ID 1838956 and PR #25899.
2018-08-10 15:36:05 +02:00
Prakash Prajapati 36854d3bda [IMP] mail: allow to reschedule assigned user on automated activities
Purpose of this commit is to add possibility of rescheduling the assigned
user on automated activities. Currently rescheduling is limited to updating
the deadline. In some cases we want to be able to update the assigned
user of an automated activity.

Tests are added to avoid regression.

This commit is linked to task ID 1838956 and PR #25899.
2018-08-10 15:36:04 +02:00
Martin Trigaux c7d9ddf68f [MERGE] lunch: improve supplier management
Make the lunch alerts blocking if ordering a product from a supplier if not
available at the order time

Add mail templates to generate emails to suppliers.

This merge is only a first step before the Big Lunch Refactoring that will
change forever the way peoples are considering eating lunch.
2018-08-10 15:32:20 +02:00
Martin Trigaux f7c53830b3 [ADD] lunch: tests for the new behavior
And make sure multiple alerts combine correctly
2018-08-10 15:32:05 +02:00
Martin Trigaux a2f69cad13 [ADD] lunch: order generates an email for the supplier
Confirming orders must now be done per supplier and will open an email
composition wizard with the different orders
2018-08-10 15:32:04 +02:00
Martin Trigaux 08dbb39171 [IMP] lunch: better alert view
Reorganize the fields to clarify the view
2018-08-10 15:32:04 +02:00
Martin Trigaux 8f22f23e61 [ADD] lunch: prevent ordering unavailable products
Add a field partner_id on a lunch.alert
If the field is set, the alert becomes blocking and will prevent people from
ordering a lunch.

Add a available field on the lunch.product that will check if any alert forbids
ordering that product at the time of the order.

Pass the lunch.order date in the context to be able to plan a lunch order
another day if the provider is forbidden today.
2018-08-10 15:32:04 +02:00
XavierDo 1de9496f14 [IMP] mail: add activity view
A simple new view to easily display all activity on a model grouped
by res_id and activity_type_id. Some action are possible like sending
a mail template for all record having an activity with this activity type
and present in the view (depends on the filter).

The view use the Kanban activity view on cells. It could be a good idea
to rename this widget to something like "DropdownActivityView" (maybe
after the freeze)

Task: #1870662
PR: #26272
2018-08-10 15:20:37 +02:00
XavierDo 83fc5dc03c [IMP] mail: add more powerfull delays on activity.
It was possible to define a delay in days on activity type
to reschedule next activity. It is now possible to specify a unit
(days, weeks, months) and a starting point for the delay
(as before, from the moment when the new activity is scheduled,
but also after the deadline of the previous activity).

We realy need to have all javascript action triggering a done
and schedule next to call the python corresponding method on
activities. A part of the work have been there but some
cleaning could still be done in activity.js.

Task: #1870662
PR: #26272
2018-08-10 15:20:37 +02:00
Martin Trigaux f2b8b38fb4 [FIX] lunch: correctly compare dates
do not compare string and dates
2018-08-10 14:39:47 +02:00
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
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