Commit Graph
126133 Commits
Author SHA1 Message Date
David Beguin bfb18f4326 [IMP] im_livechat : avoid double notif for public livechat channel and clean method
As in super, we add uuid and message if channel is public
we have to exculde the public channel to add the same in a livechat case

Also, _channel_message_notifications is a bit rewritten to remove useless
code. Indeed, notifications will always be filled in as
_channel_message_notifications is only called by _notify that ensure that self
is not null and that message is singleton. In super, the notifications will then be
filled in and in override, no need to check if notifications is not empty.

We take the message dict from notif to avoid calling message_format a second time.

Task ID : 1895998
Closes PR #28283
2018-12-05 14:37:13 +00:00
David Beguin ce20c29f82 [IMP] website_livechat : show ratings per operators in channel stat webpage
This commit adds more precision about ratings per operators for a
specific channel. Only the operators that have been rated on the last 100
feedbacks have their statistics displayed. The other operators that did not
worked (or have not been rated) on the last 100 feedbacks are still displayed
but are flaged as 'Not rated yet', so we still can see who is working on this
channel.

Task ID : 1895998
Closes PR #28283
2018-12-05 14:37:13 +00:00
David Beguin 95aa9f278f [IMP] im_livechat : store assigned livechat operator
By adding a livechat_operator_id on the mail.channel, we ensure that,
even if the operator of the discussion is removed from the operators
of the livechat.channel, we can still know who was the operator,
at the time of the discussion.

In that way, we can still keep the history of the former assigned operator.

[IMP] im_livechat : simplify channel and operator reports

As Operator_id is required for livechat channel,
we can assume that if livechat_operator_id is not null,
then it's a livechat channel. also, as we have the partner_id
stored in livechat_operator_id field, no need to join
partners and users tables anymore to get the operator
of the channel.

Task ID : 1895998
Closes PR #28283
2018-12-05 14:37:13 +00:00
David Beguin 2986a5a412 [IMP] im_livechat : add measures to channel report to be used in Dashboard
Adds some indicators in channel report in order to use them in the new
enterprise livechat dashboard. Those indicator are added here to re-use
directly the channel report view. It allows the users to use also those
new indicators in the existing reports.

- No answer indicator
- Days of activity indicator
- Day number indicator
- Country of visitor :
    This makes able to see from which country comes the visitors
    and make statistics with it.

    If no GeoIP server are installed, or if the country is not found,
    or if visitor is logged in but has no country configured, the country
    si set to 'Unknown'.

Also, align sessions and operator report title on menu name

Task ID : 1895998
Closes PR #28283
2018-12-05 14:37:13 +00:00
David Beguin 8c8f219b47 [IMP] im_livechat : uses anonymous name only if visitor is anonymous
Before, if the visitor was logged in, anonymous name = user.name.
But if we use anonymous name field even if visitor is not anonymous,
we cannot know, in stat e.g., if the session was really made with
an anonymous visitor or not as the field is always filled in.

Now, if the visitor is not anonymous, we use directly the user.name
but we do not fill in the anonymous name. So that if anonymous name
is null, we know afterwards that the session was made we a real
anonymous visitor.

Since the anonymous name is empty if visitor is logged in,
we cannot use anonymous_name anymore to get the title of the session window.

Task ID : 1895998
Closes PR #28283
2018-12-05 14:37:10 +00:00
Martin Geubelle 9281ae81f9 [IMP] mail: clearer no content helper on activity view
Task 1889687

closes odoo/odoo#27898
2018-12-05 11:36:17 +00:00
Martin Geubelle 4533ad0703 [FIX] mail: get systray activities for custom models
Getting systray activities for custom models (i.e. created with Studio) crashed.

If it's a custom model, its `_original_module` attribute is not correctly set so
trying to retrieve the icon based on this attribute does not work.
2018-12-05 11:36:17 +00:00
Martin Geubelle f48021846a [IMP] mail: reflect inheritance of mail.activity.mixin on ir.model
The boolean field `is_mail_activity` on `ir.model` allows to create custom models
that inherit from model `mail.activity.mixin`.

Task 1889687
2018-12-05 11:36:17 +00:00
Geoffroy Larue 87ab98832e [IMP] crm: usability improvements
Purpose : Various relabelling and design improvements in crm:
- opportunity, lost reason, lead, team, tag forms
- hide "convert to opportunity" button for inactive/lost
leads (actually nothing happened when clicked anyway)
- Checkbox in crm.team to hide all alias related fields
- New many2one field appearing in crm.team form to select the user to
whom lead created by alias will be assigned.
- Set the admin as leader of the initial crm.team

closes odoo/odoo#28851
2018-12-03 14:12:43 +00:00
Dhaval Panchal e1e0826eee [IMP] mrp: generate lot on MO
Add a button to generate a lot or serial number when producing on a
manufacturing order.

Task ID : #1909007
PR : #28677
2018-12-05 09:36:57 +00:00
Robot Odoo 6ea207a356 [MERGE] rating,project,livechat: refactor API for performance issue
This commit makes several improvement in order to speed up and clean
the rating API. No functionnal changes should be obsered.
Multiple point are covered here:

1/ introduces a parent.mixin: since we want to extract the satisfaction
percentage on parent rating model (project, team, livechat channel),
providing a mixin to standardize this computation in a performant and
lazy way seems a good optimization (more details in the concerned
commit).

2/ cleaning API: some methods needed to be private and/or renamed.

3/ Better integration in the business application: use the new parent
mixin, remove legacy code and fields, ...

Task-1903565

closes odoo/odoo#28459
2018-12-05 12:18:20 +01:00
Pierre Masereel b8c4b42250 [IMP] web: state_selection widget readonly if field readonly
The current implementation of the state_selection widget always makes it
editable even if the field is readonly.

We improved this behavior by removing the handle of click on the widget
when the field is readonly, but keeping it even if the view is not in
edit mode, because it used for example in project to change state even
when view is not editable.

closes odoo/odoo#29218
2018-12-05 07:38:30 +00:00
jem-odoo 37293f4644 [MOV] rating: extract mixin in new file
This commit simply move code for both rating.mixin
and rating.parent.mixin in their own file to ease
the reading of code, and fit the guidelines.

Task-1903565
2018-12-04 13:28:19 +00:00
jem-odoo adc25752f3 [REF] rating,*: make some methods private
Impacted modules: im_livechat, project and rating

This commit restricts the access to some method of the rating API. Indeed,
some of them are internal business and should not be called from anywhere
to avoid breaking the rating flow.
This commit also rename some method to fit guidelines. This should not
bring any functionnal changes.

Task-1903565
2018-12-04 12:48:20 +00:00
jem-odoo 9be23c2f63 [IMP] rating: don't call compute method directly
The correct way to trigger a recomputation of a field is not
to call directly the compute method. The ORM offers mecanism
to do it: we have to flag the field as "recompute to do" and
then call `recompute` method (availble on every models). This
one will call the recompute method of all fields marked as
"to recompute".

This will optimize the performance by doing recomputation in
batch.

Task-1903565
2018-12-04 12:48:19 +00:00
jem-odoo 2aa7399d0c [IMP] im_livechat: make channel use rating parent mixin
No functionnal changes are done in this commit. Even
the period of rating to take into account to compute
livechat channel satisfaction (introduced at
5b60e05ce4)
stays the same, but use the parent mixin mecanism.

Task-1903565
2018-12-04 12:48:19 +00:00
jem-odoo 52e2ec2ef9 [IMP] project: make project use rating parent mixin
No functionnal changes are done in this commit. Everything
stays the same, but use the parent mixin mecanism.

Task-1903565
2018-12-04 12:48:19 +00:00
jem-odoo 47479401cb [IMP] rating: introduce the parent mixin
When creating a task, the satisfaction of the project is recomputed even
if the task has not rating. This can lead to performance issue:
concurrency error in Postgresql can happen if a task is created when
somebody else tries to update the project.
The satisfaction recomputation will give and concurrency error whereas
it will return the same satisfaction percentage, since the task has no
rating.  The same problem will happens in every modules implementing
the rating feature: project, helpdesk and livechat.

This problem leads us to create the rating.parent.mixin in order to
retrigger the computation only when a new rating appears on the
parent object. We also unstore the field to make its computation lazy.
Maybe in a near future, this field will be computed in SQL directly.
The parent mixin allow us to standardize the behavior to all parent
rating models.
These optimizations should reduce the number of computation and speed
up the task creation.

opw-1902502
Task-1903565
2018-12-04 12:48:13 +00:00
lul-odoo 47480a5a89 [FIX] stock: Fix typo in demo data
closes odoo/odoo#29242
2018-12-04 12:07:33 +00:00
qmo-odoo 01173f3745 [IMP] base: Improve search and ordering in settings
Allows users to not only search on settings name but on their description too.
Improves search results relevance :
Instead of the actual fixed order, top results should be about the module
selected in the left panel

Task : #1893252
closes : #28094
2018-12-04 10:19:08 +00:00
Robot Odoo ef826f1f27 [MERGE] web_editor, *: improve media dialog
* web_unsplash, website_sale

- Visual improvements and cleaning in each tab: video, documents,
  pictogram, images.

- Only one search input for both the local library and unsplash.

- Replace the idea of multiple pages by adding a 'Load More' button.

task-1896705

closes odoo/odoo#28025
2018-12-04 17:57:00 +01:00
Cedric Snauwaert 7d6a9924e5 [IMP] account: possibility to edit amount in reconciliation widget
Before we could only make a partial payment that was equal to the value of the statement line if the payment was greater than the statement line.
Now we can modify the value of any line (black line) used in the statement reconciliation widget. This allow to have the following:

Statement line of 500
Payment 1 of 500
Payment 2 of 500

We can reconcile the statement line with 250 from payment 1 and 250 from payment 2.

Task: 1870895

closes odoo/odoo#27805
2018-12-04 14:37:54 +00:00
mgh-odoo 82ffd8b55f [REF] stock: unlink 0 quant on stat button
Since v12, the unlink of 0 quants is delayed in the scheduler tasks for
performance reasons. When going through the stat button of the product
templates and product products to see the quants. the scheduler hasn't
run and the 0 quants are still present. As this is confusing for some
users, we run the quants unlink and merge at these times

- product.template -> On hand
- product.product -> Om hand
- stock.production.lot -> locate

Task: 1913642

m

closes odoo/odoo#29132
2018-12-04 11:29:55 +00:00
Robot Odoo e8ac4d7996 [MERGE] lunch, lunch_hr: automatize lunch flow
We would like to automatize lunch as currently all orders are manually ordered and validated, and a cash move has to be manually created each time you want to credit the wallet of some user.

In this commit we add a new widget that comes with the kanban view and will allow to take orders in a friendly manner.
We also add a lunch.supplier model and an integration with the hr module in order to filter what products you can order depending on your working location, this also allows you to configure an automatic ordering via email.

--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr

closes odoo/odoo#28442
2018-12-04 15:40:50 +01:00
qsm-odoo 78a30d44cf [REF] web_editor, web_unsplash: review load more feature
* Simplify the code
* Make the feature mork without unsplash
* Handle corner cases

task-1896705
2018-12-04 11:17:23 +00:00
RomainLibert f727b8f0b5 [IMP] lunch: automatize lunch orders
We would like to automatize lunch as currently all orders are manually ordered and validated,
and a cash move has to be manually created each time you want to credit the wallet of some user.

In this commit we add a new widget that comes with the kanban view and will allow to take orders
in a friendly manner.

We also add a lunch.supplier model and an integration with the hr module in order to filter what
products you can order depending on your working location, this also allows you to configure an
automatic ordering via email.

TaskID: 1856876
2018-12-04 11:56:21 +01:00
RomainLibert ad99f09a06 [REF] lunch: split lunch.py into smaller files
We should basically have one model per file, as this will facilitate the
reading and maintenance of the code
2018-12-04 11:55:07 +01:00
arbaes 04ccd15b70 [IMP] mrp: quantity_done on kits in immediate transfers
With this commit, when a kit is processed trough an immediate transfer,
the quantity done set on the kit is now propagated to its components.

TaskID: 1896772

closes odoo/odoo#28998
2018-12-04 10:51:32 +00:00
Andrea Ulliana 1f847a1e2e [IMP] web_editor, *: improve media dialog
* web_unsplash, website_sale

- Visual improvements and cleaning in each tab: video, documents,
  pictogram, images.

- Only one search input for both the local library and unsplash.

- Replace the idea of multiple pages by adding a 'Load More' button.

task-1896705
2018-12-04 10:06:11 +00:00
jem-odoo 605e999dc4 [IMP] project: remove useless field percentage_satisfaction_project
Since project only handle task (project.issue has
been merged into tasks), the global satisfaction
field is not required anymore, as it is the same
as task satisfaction percentage.

Task-1903565
2018-12-04 09:45:54 +00:00
Robot Odoo a2c5b44df8 [MERGE] barcodes, event, stock: nomenclature settings
We don't want to bloat the company settings with the choice of the barcode nomenclature. We move this settings to event_barcode and stock_barcodes.

task id 1903864

closes odoo/odoo#28346
2018-12-04 05:46:22 +01:00
Robot Odoo 18efcc2eb4 [IMP] hr_*, lunch, pos, pos_restaurant: Improve demo data
Add and improve demo data

Task #1870050

--
I confirm I have signed the CLA and read the PR guidelines at www.odoo.com/submit-pr

closes odoo/odoo#28963
2018-12-03 18:01:02 +01:00
lul-odoo f598c3e597 [IMP] base,stock: Improve company demo data
On test fixes: Because the company now have parenthesis in its name,
formatting email addresses adds double quotes around the name.
e.g.: "My Company (San Francisco)" <example@exmaple.com>
2018-12-03 16:12:27 +01:00
lul-odoo 6cf81abad8 [IMP] lunch: Improve demo data 2018-12-03 16:12:27 +01:00
lul-odoo cbc24cfa8e [IMP] point_of_sale,pos_restaurant: Improve demo data 2018-12-03 16:12:27 +01:00
lul-odoo bf4d76b390 [IMP] l10n_be_hr_payroll_account: Add demo data 2018-12-03 16:12:27 +01:00
lul-odoo 725ec4c8d5 [IMP] hr_recruitment: Add demo data 2018-12-03 16:12:27 +01:00
lul-odoo a78d89d72a [IMP] hr_expense: Add demo data 2018-12-03 15:10:54 +01:00
lul-odoo 9eda75182e [IMP] hr_contract: Add demo data 2018-12-03 15:10:54 +01:00
Nimesh Jethva 6afa3578e1 [REF] stock: visibility of the scrap button/moves
* do not display the scrap button in receipt (we don't want to allow
products not coming from your stock)
* no scrap button when any picking is done
* don't display the scrap moves, the user needs to go to the stat button

Task ID 1913275

closes odoo/odoo#29097
2018-12-03 13:09:36 +00:00
Robot Odoo a4cbfbec4e [MERGE] stock_account: remove property_cost_method and property_valuation
The fields property_cost_method ad property_valuation are never shown on the products but they sometimes are set. This creates confusion and some difficulties in the migration (the cost method/valuation on the products are different than the one set on the categories).

We remove them and only use the one on the categories.

Task: 1866333

closes odoo/odoo#26008
2018-12-03 14:05:52 +01:00
Kinjal Mehta 8f22263235 [ADD] event, stock: Add a company dependent setting in event and stock settings. 2018-12-03 16:38:15 +05:30
Kinjal Mehta d6d5e95920 [ADD] event, stock: Add a company dependent setting icon in event and stock settings. 2018-12-03 16:38:15 +05:30
Kinjal Mehta aa9b02304e [REM] barcodes: Remove the field nomenclature_id from the res.company form view. 2018-12-03 16:38:14 +05:30
Robot Odoo bdc9688d28 [MERGE] hr_payroll: Introduce hr.benefit model
Purpose
=======

For payroll purpose, we need to manage attendances.
For instance, someone is working only mondays, tuesdays and fridays, but works exceptionally an other day.
It must be recorded.

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

The new models are used to represent attendances, extra hours and leaves (as `hr.benefit`s) in a new window called "Benefits".
The schedule of employees for the full month is visible in that view (calendar view).

First the benefits needs to be generated (via a button) based on the calendar attendances and leaves.
The manager can then check benefits, delete or add some. Only the benefit name and type can be edited (not start and end dates).
Once benefits are correct, they can be validated. Validation will fail if they are some leaves to approve or if some benefits overlap on the same day.
Benefits cannot be deleted or edited once validated.
When benefits are all validated, a button appears to generate payslips.

Additional development
==================

Most of the time we don't what is the next action that should be done when creating payslips or payslip batches.

- Improve the layout, the buttons of the payroll object.
- Refactor a little the code to reuse existing chunks of code instead of reinventing the wheel in several methods.
- Remove the hr.rule.input model.
- Remove an useless report.

See each individual commit for more information.

TaskID: 1912944, 1903239

closes odoo/odoo#29065
2018-11-30 13:27:01 +01:00
Pratima Gupta 9c2a6850d8 [IMP]stock_account: Test case changes.
property_cost_method is removed from product.product and product.template.
And use property_cost_method of product.category everywhare.

In This -
Used property_cost_method of product.category instead of cost_method or property_cost_method of product.template.

This commit is related to task#1866333.
2018-11-30 16:08:17 +05:30
Pratima Gupta 493502bc4a [IMP]stock_account: property_cost_method is removed from
product.product and product.template.

And use property_cost_method of product.category everywhare.

In This -
Used property_cost_method of product.category instead of cost_method or property_cost_method of product.template.

This commit is related to task#1866333.
2018-11-30 16:08:16 +05:30
Yannick Tivisse d63b5599d9 [IMP] hr_payroll: Make benefit state editable on status bar 2018-11-30 11:08:20 +01:00
Yannick Tivisse 28a1b546e9 [IMP] hr_payroll: Improve payslip batch generation flow
Same than for payslips. Improve the flow to make it clear what is the next action
instead of displaying all the buttons.

And refactor a little the code to be more efficient, and reuse existing method instead
of using this horrible 'onchange_employee_id' method.
2018-11-30 11:08:20 +01:00
Yannick Tivisse 023e4e27fd [IMP] hr_payroll: Hide credit_note on payslip views
This field should be set by making a refund, it should be available
for an end user.
2018-11-30 11:08:20 +01:00