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.
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.
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.
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.
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 #1870662Closes#26280
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?
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'.
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.
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
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.
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
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
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
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.
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
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
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.
In the original commit 19116cc878, `action_assign` was called
on all `move_ids`. However, after API conversion, moves are filtered.
Closes#25886
opw-1868834
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
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
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
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
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
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.
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