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.
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
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
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
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
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.
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.
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
Purpose: better showcase the integration between email marketing and sale
application thanks to UTM links.
Specifications
* 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;
This commit is linked to task ID 1872198 and PR #26188.
Purpose: better showcase the integration between email marketing and crm
application thanks to UTM links.
Specifications
* 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;
This commit is linked to task ID 1872198 and PR #26188.
Before this commit, when we star or unstar a message from a document thread,
the message was duplicated in the document thread.
This commit fixes this issue by not adding already existing messages on
document threads.
Task-ID 1871428