Commit Graph
140847 Commits
Author SHA1 Message Date
Nicolas Lempereur 11fb681d2b [FIX] point_of_sale: list in Sale Details wizard
On mobile devices, by default Odoo will uses a kanban view instead of a
list view if avaiable.

In the case of "Point of Sale > Reporting > Sale Details", we can select
the list of point of sale configs. It works fine on desktop, but on
mobile we had the kanban view that does not allow to remove selected
configs (and there is "New Session", "Resume" and so on buttons that
make little to no sense).

With this changeset we force in the case usage of the list view.

opw-2040954
closes #35104

Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2019-07-23 13:05:04 +00:00
Olivier Colson 1b1175556b [FIX] l10n_in: reintroduce tax tag removed by mistake at https://github.com/odoo/odoo/commit/451fd6cc90aaa14816376a0285334678df9ce484#commitcomment-34353283
closes odoo/odoo#35102

Signed-off-by: oco-odoo <oco-odoo@users.noreply.github.com>
2019-07-23 12:24:38 +00:00
RomainLibert 3be79c6989 [FIX] lunch: add rule on lunch order
User should not change the order once it is ordered

closes odoo/odoo#35212

Signed-off-by: Romain Libert (rli) <rli@odoo.com>
2019-07-26 11:20:09 +00:00
Christophe Simonis 1d6d790513 [FIX] mail: adapt test to new version
Oversight of previous forward-port.
2019-07-26 10:36:18 +02:00
Christophe Simonis a4b1b532ea [MERGE] forward port branch 12.0 up to b82df99d7a 2019-07-25 20:01:05 +02:00
Christophe Simonis b82df99d7a [MERGE] forward port branch saas-11.3 up to 5f419d4ad3 2019-07-25 18:38:32 +02:00
Christophe Simonis 7702d07d39 [FIX] base: force user's group view update when deleting a module category
On the users' view, groups are shown grouped by application (module category).
Deleting a module category should, therefore, regenerate the view.

closes odoo/odoo#35181

Signed-off-by: Christophe Simonis <chs@odoo.com>
2019-07-25 14:21:53 +00:00
Nans Lefebvre 7b22be4814 [FIX] account: restore standard composer behaviour when sending unique mails
Fine-tuning of commit 5621ae3d6b.
While it focused on fixing the 'mass_mail' mode,
it forgot to keep the correct behaviour for the case where only one mail is sent.
In the latter case, it is typical to overwrite the template values, especially
for the body, before sending the mail.
In that case, applying the onchange on the templates overwrites the user input.

Note that in the case where the template is undefined it would set the composer
values to empty ones; while standard use would not allow in mass mail to both
send content and have no template, it could be done via a customisation.

opw 2041631

closes odoo/odoo#35164

Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-07-25 06:13:59 +00:00
Romain Derie 6a59224055 [FIX] web_editor, website: avoid returning children of inactive view
Before this commit, for the following view tree:
P (active)
|
I (inactive)
|
II (active)
When calling `get_related_views()` on 'P', it would wrongly return 'II'.
It shouldn't, since its parent 'I' is inactive.

Step to reproduce:
- Go to /shop
- Enable ecommerce categories
- Enable Collapsible Cateogories
- Disable ecommerce categories
- Collapsible categories is still shown even if its parent got archived

closes odoo/odoo#35154

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-07-24 15:38:42 +00:00
Arnold Moyaux c8754185d1 [FIX] stock: MTO overprocessed move
Error due to other module (e.g. purchase_stock, mrp) that will
define their own rules in order to merge or not moves together.
Usecase:
- Install purchase_stock
- Create a product MTO + buy with a vendor
- Create a SO of 1 unit
- On the PO receive 2 units
- On the delivery deliver 2 units

It will create an empty delivery and put the entire move in
a back order.

First issue the extra move is created as a MTO if it's copied from an
MTO move. So il will trigger all the pull rule. We won't it because it's
an extra quantity and the rules should be only trigger by the original
document (SO/MO).
Also an extra move in a picking do the hypothesis that the original move and
the extra move will always be merged together. But in the previous
usecase, the module purchase add the condition that 'created_purchase_line_id'
and 'purchase_line_id' should be the same in order to merge move.
'created_purchase_line_id' is also copy=False, so the move and the
extra move will not be merged. create_extra_move only returns the extra
move and _action_done only process the moves returned by _create_extra_move.
It result by an original move not merged and not processed by _action_done,
it will be automaticaly set in a back order and the extra move is
processed.

In order to fix it, check if the move and the original move will be
merged. If not, returns both moves.

opw-2008113
Close #34005

closes odoo/odoo#34411

Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
2019-07-25 07:41:58 +00:00
David Dufresne 5b80695fc6 [CLA] signature for ddufresne
closes odoo/odoo#35079

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2019-07-25 07:32:06 +00:00
Goffin Simon ffe58a56bf [FIX] purchase: Saving PO with a foreign currency
Steps to reproduce the bug:
- Create a company C with currency = USD
- Create a vendor V with a supplier currency = EUR
- Create a PO for V with one line, the default currency is EUR
- Save

Bug:

The currency of the PO was USD when saving because the field currency is
in readonly when the state is draft.

opw:2035640

closes odoo/odoo#35144

Signed-off-by: Simon Goffin (sig) <sig@openerp.com>
2019-07-24 12:48:06 +00:00
Siddarth Gajjar 7e5a80abc6 [FIX] web: fix footer layout issue in pdf report rendering
- When reports print with long string in footer will spoil layout. This issue will
fix that.
Task ID: 1960423 Closes at #33271

closes odoo/odoo#35097

Signed-off-by: Damien Bouvy (dbo) <dbo@odoo.com>
2019-07-23 11:24:31 +00:00
Jeremy Kersten 8a80efd7cd [FIX] gamification: perf on write karma_min on gamification.karma.rank
This commits avoid to call recompute when you write on the rank without
touch the karma_min value.

On write on karma_min, we have 2 cases:
- Rank order are the same, just need to recompute the rank for the user
that could be impacted. Eg. if karma_min changes from 45 to 50, we need
to recheck for all user between 45 and 50 their new rank.
- Rank order are not the same, we need to recompute for all users.
(could be still improved if needed)

When you recompute the rank on a list of users, depending of the number of
users (bulk if more than 3 * number of rank) we check for each user what is
the new rank, or for each rank whats is the new users.

task-internal

No way to edit a rank on the prod server. Lock sql -> crash server

closes odoo/odoo#34835

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-07-24 09:03:13 +00:00
Lucas Perais (lpe) 78b09d82fb [FIX] web: pivot keeps controlpanel's domain on reload
Open a pivot view, make a search for some field
Click on a pivot cell to display the list view of elements matching the group's domain
Go back to the pivot using breadcrumbs

Before this commit, the original search domain was not kept across those actions

After this commit, it is kept

This difference is due to the fact that before 12.2, the whole action had an env, containing the search domain
in 12.2 and afterwards, things are not done this way anymore

OPW 2030555
OPW 2030983

closes odoo/odoo#35096

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-07-23 13:48:37 +00:00
Juhil Somaiya 860ab5a1c2 [FIX] website_slides: fix webiste menu being not clickable in lesson fullscreen
Before this commit, the navigation menu was not clickable because of higher
z-index of the slides fullscreen menu. This commit fixes that by correctly
setting z-index, using the standard variable to avoid custom values.

task-2036877

closes odoo/odoo#35107

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-07-23 13:44:06 +00:00
Julien Castiaux ceeb5b51d5 [FIX] mail: form activity widget: do not close activity popover on click
Create an activity in a chatter, mark it as done, click inside the
textarea, the popover is automatically closed.

The `click` trigger both opens and closes the popover on click.

opw-2028399

closes odoo/odoo#34982

Signed-off-by: Alexandre Kühn (aku) <aku@odoo.com>
2019-07-22 15:08:15 +00:00
Lucas Perais (lpe) a5ca064dc2 [FIX] website_sale: frontend billing address is partner's address
Have a partner

Partner (A1)
/		\
Shipping Addr (A2)	Invoice Addr (A3)

Give portal access to A1
Make a webshop order with A1

Make it possible for the front end user to edit his billing address (by having forgotten "country" on A1)
Note that the address being choosen as Billing is A1, NOT A3
Save
In the backend check the order. The customer is A1
The shipping address is A2

Before this commit though, the invoice address is A3, which is plain wrong
usability-wise since at no point in the flow the front end user chose that address

After this commit, the billing address stays A1, and A3 is just ignored

This goes with the spirit of https://github.com/odoo/odoo/commit/6e69de67071f2618e00856a74716d861b7f47391
Also, something smarter is possible if we let the user choose the billing address
just like we let him choose the shipping address

OPW 2034976

closes odoo/odoo#35105

Signed-off-by: Lucas Perais (lpe) <lpe@odoo.com>
2019-07-23 12:32:48 +00:00
Julien Castiaux 7273719b88 [FIX] mail,account: use reply_to header from tmplt
Create an invoice for a customer, send him an email from the chatter, in
the mail template set a specific "Reply to" and send the email. The
"Reply-To" template mail header is ignore and the one generated by
`mail_thread._notify_get_reply_to` is used.

See also 1c57d5e and 7b0806b

opw-2041640

closes odoo/odoo#35127

Signed-off-by: Julien Castiaux <Julien00859@users.noreply.github.com>
2019-07-24 06:25:02 +00:00
Julien Castiaux c1d63fc599 [FIX] stock: scrap from current picking
Steps to reproduce:

1) Make sure you don't have any piece of the product you're about to
sell on hand.
2) Create two sale order, each with 10 pieces of the product and
validate them
3) Do a RFQ and buy 15 pieces.
4) On the earliest sale order, check the availability, it should
autofill the desired quantity with 10
5) Do the same on the second, it autofills 5.
6) On the later delivery, scrap one.
=> The product is scrapped from the early picking.

Sort the candidates so the current picking is on top, this ensure the
current picking is the first scraped.

opw-2036381

closes odoo/odoo#35021

Signed-off-by: Arnold Moyaux <amoyaux@users.noreply.github.com>
2019-07-22 14:01:14 +00:00
Nans Lefebvre 088edee2ce [FIX] product: do not create duplicate variants
Create a product template Pt with attibutes A1, A2,
respectively with values Va1_1, Va1_2, and Va2.
This should make 2 variants, V1 and V2.
Sell some of these variants.
Then they can't be deleted since they are linked to orders/invoices/...

Now delete attribute A2. We know that:
Warning: adding or deleting attributes will delete and recreate existing
variants and lead to the loss of their possible customizations.

In fact, old variants are only archived instead of deleted:
for variant in variants_to_unlink: ... variant.write({'active': False})
as a fallback.

Now add again the attribute A2 to Pt.
It creates a new variant with the correct attributes.
Since the product is not active and has valid attributes and attribute values,
it is reactivated.
As a result we get the same variant twice.

Here we can simply add a check: if there is already an existing variant with
the same values, we can skip this activation.

We add a tiny little test to make sure that we have correct number of variants.
It's basically unreadable but somewhat commented.

fix coauthored with @rco-odoo

opw 2029985

closes odoo/odoo#35013

Signed-off-by: Nans Lefebvre (len) <len@odoo.com>
2019-07-22 13:07:57 +00:00
Nans Lefebvre 5e4c1b3701 [FIX] point_of_sale: check constraints before opening POS session
Set up the POS config to use a default pricelist that is archived.
Open a new POS session.
The constraints are checked, and an exception is raised:
"The default pricelist must be included in the available pricelists."
However, if the session is already opened, the check is not done at resume.
If the pricelist is archived, the session fails to load entirely:
after loading phase, the screen turns black and nothing happens.
Since the constraints are really useful to load the POS, we trigger an explicit
check of all constraints (there are a lot more than our example) when opening
the POS.

opw 2033453

closes odoo/odoo#35077

Signed-off-by: Richard Mathot (rim) <rim@openerp.com>
2019-07-22 14:32:05 +00:00
Jorge Pinna Puissant bdfed67504 [FIX] website_quote: Show 'Unit Price' column from quote template line
Before this commit, the unit price of the quote template line were
hidden.

Now, the unit price are shown. This is necessary because the unit price
is used if :
- the template is selected before the customer (price_list) is selected.
- the price_list is "Show public price & discount to the customer"

This commit revert  9416483465

opw-2039071

closes odoo/odoo#35069

Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
2019-07-22 12:18:23 +00:00
Nicolas Lempereur 041ec73b2c [FIX] doc: complete tale about two profilers
This section of log mentionned two profilers making think they were the
same.

The odoo/tools/misc.py `profile` logs a method calls inside a file that
can be used to generate a graph of method calls.

The odoo/tools/profiler.py `profile` logs a method lines calls, queries
and time spend inside the log.

fixes #31278
opw-2038941
closes #35074

Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2019-07-22 13:15:23 +00:00
Jorge Pinna Puissant fb9caab7c1 [FIX] website_quote: negative discounts are always included in the display price
Before this commit, negative discounts (surcharges) were shown in the
sales order when the price list have the option : "Show public price &
discount to the customer".

Now,  the negative discounts are included in the display price. This
issue was already been addressed in the sales module (see https://github.com/odoo/odoo/blob/ac170e8a8238a9b0aa468f83b11aabc4cd9493de/addons/sale/models/sale.py#L1046)

Fine-tunning of : cae506f0ed

opw-2039071

closes odoo/odoo#35065

Signed-off-by: Jorge Pinna Puissant (jpp) <jpp@odoo.com>
2019-07-22 12:31:53 +00:00
shreya thakrar eac0785f69 [IMP] crm: rename string on custom filter
Before this commit, at custom filter 'Contents' option is there for filtering by
activity description. For more usability only rename is needed. By this commit
'contents' is changed to 'Activity Description'. User can filter records by
activity description.

task - 2008515

closes odoo/odoo#35070

Signed-off-by: Martin Geubelle (mge) <mge@openerp.com>
2019-07-22 12:12:47 +00:00
Kevin Baptiste c5ab50cc4e [FIX] base_setup: remove mobile apps icon during search
The mobile apps icons were always showing even during a search in the
settings.

closes odoo/odoo#35325

Signed-off-by: Romain Libert (rli) <rli@odoo.com>
2019-08-05 08:44:06 +00:00
fb2522ac97 [MERGE][REF] website_slides: make eLearning an application with its own backend
PURPOSE

eLearning should have its own application in manager. Indeed this is becoming
a big application and having it embedded inside Website application is not
enough anymore. It should also hold updated and easy-to-use menus,
navigation, actions and views in backend.

SPECIFICATIONS

Update manifest and make website_slides an application separated from
website embedded menus.

Implement new menu structure

* Courses
* Courses
List view: Course Name, # Views, # Attendees, # Ratings, Revenues,
Reviews
* Contents
* Reviews: kanban view of channel reviews
* Certifications: kanban view of surveys of type certificate

* Forum
* Forums: add columns to list view: Posts (questions count), Views
(sum of views of each post), Answers (sum of child_count on each post),
Favorites (sum of favourite_count on each post)
* Posts: add columns to list view: Views / Answers / Favourites

* Reporting
* Courses: list view on slide.channel model, ordered by # views.
List view: Course Name, # Views, # Attendees, # Ratings, Revenues;
* Contents: graph view on slide.slide model
Area Graph: X month
Y measure: # Views (others measures: Attendees, ...)
Group by: course (color)
* Revenues: graph view on sale.report model showing revenues of eLearning
courses.
Area chart, X: monthn Y: €, Color: course
* Certifications: list view on surveys of type certificate
Columns: Title, Survey Stage, Registered People, Certified People, Attempts
Success Rate (certified/attempts), Average Results
* Reviews: see kanban of latest reviews;
* Quiz: list view on slide.question model.
List view: Add # Quizz Trials, # Quizz Passed, Avg Attempts
* Forum: graph view on forum.post model
Area chart: # Posts created by months, color=forum

* Configuration
* Settings
* Allow Forum on Courses (installs website_slides_forum)
* Allow Certifications (installs website_slides_survey)
* Allow Selling Courses (installs website_sale_slides)
* Course Tags
* See channel.tags.group with label Course Tags, form view allow to
configure group tags
* https://drive.google.com/a/odoo.com/file/d/1G0g2UnG5cZG55EXQ5icbgwe7T2eSZskT/view?usp=drivesdk
* On click: open :https://drive.google.com/a/odoo.com/file/d/1I_PW3aZAbrslXadiYqmVF-_6dGXx8knd/view?usp=drivesdk
* Content Tags

Add course (slide.channel) kanban view. Each tile should contain

* Title of the course
* Tags below the title
* Primary button "New Lesson"
* Statistics :
* Attendees
* Running (progress != 100%)
* (if one content is certificate) Certified or Finished
* See : https://drive.google.com/a/odoo.com/file/d/13K8FmkbwmBG4JQ5gH3Q5T8OlWPs3blcu/view?usp=drivesdk
* With FP remarks https://drive.google.com/a/odoo.com/file/d/1mb7LUT0VUNs5fMcKB9c0Bfaqk2-XFFuu/view?usp=drivesdk
* Add "Sales       150.00$" below "Watch Time" if type "on payment". Same
info than the smart/stat button on the course itself. Click on the amount
sends to Reporting Revenues (same than on the stat btn)

Add review (rating.rating) kanban view. Each tile should contain

* Kanban view, full width, no default group by
* Order by date (most recent on top)
* See: https://drive.google.com/a/odoo.com/file/d/1IYE1QBIJa26BLugRiafyBop-srkYwndC/view?usp=drivesdk
* add a tag for unpublished comments
* Add the pic of the user above the stars
* Click on card, send to front-end and able to (un)publish the comment
* Kind of what's on the front-end:  https://drive.g

Improve course form view: add a revenue stat button displaying the total
of sale order linked to the course's product.

Integrate a button on slide.channel form view allowing to perform a mass
mailing on course attendees. Do a flow similar to event.

Remove "Our Documentation" dummy default existing data. It makes no sense
to have void data. Instead just add a small explanation text in eLearning
front-end telling the user to create its first course if he has rights to
do so.

In order to better show the new backend add some demo data for missing
numbers, notably

* sales: add confirmed sale orders in order to have revenues value;
* forum: add some posts and answers;
* quiz: update slide.slide.partner demo data to hold quiz attempts count

LINKS

Task 1978729
PR #35061

Co-Authored-By: Thibault Delavallée <tde@odoo.com>
Co-Authored-By: Jérémy Hennecart <jeh@odoo.com>

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-08-05 12:52:32 +02:00
Thibault Delavallée 3d737bb387 [REV] website_sale: set Cart recovery back in form view
Partially reverts d781d6f6ea504dcc89f412b94774df6bd08c78aa

Indeed modified tour has to go through various list view actions and is
likely to crash because of some complicated triggers to write. Let us have
the recovery action back to form view. Anyway it makes no harm to have it
available in action menu.

LINKS

Task 1978729
PR #35061
2019-08-05 08:44:12 +00:00
Jérémy HennecartandThibault Delavallée aeb23b21d3 [IMP] website_slides(_*): improve demo data and remove dummy data
PURPOSE

eLearning should have its own application in manager. Indeed this is becoming
a big application and having it embedded inside Website application is not
enough anymore. It should also hold updated and easy-to-use menus,
navigation, actions and views in backend.

SPECIFICATIONS

Remove "Our Documentation" dummy default existing data. It makes no sense
to have void data. Instead just add a small explanation text in eLearning
front-end telling the user to create its first course if he has rights to
do so.

In order to better show the new backend add some demo data for missing
numbers, notably

  * sales: add confirmed sale orders in order to have revenues value;
  * forum: add some posts and answers;
  * quiz: update slide.slide.partner demo data to hold quiz attempts count;

LINKS

Task 1978729
PR #35061

Co-Authored-By: Thibault Delavallée <tde@odoo.com>
Co-Authored-By: Jérémy Hennecart <jeh@odoo.com>
2019-08-05 08:44:09 +00:00
Jérémy HennecartandThibault Delavallée ee29641b08 [REF] website_slide_survey: improve integration into eLeaning application
PURPOSE

eLearning should have its own application in manager. Indeed this is becoming
a big application and having it embedded inside Website application is not
enough anymore. It should also hold updated and easy-to-use menus,
navigation, actions and views in backend.

SPECIFICATIONS

Add menu entry inside Courses
  * Certifications: kanban view of surveys of type certificate

Add menu entry inside Reporting
  * Certifications: list view on surveys of type certificate
    Columns: Title, Survey Stage, Registered People, Certified People, Attempts
    Success Rate (certified/attempts), Average Results

LINKS

Task 1978729
PR #35061

Co-Authored-By: Thibault Delavallée <tde@odoo.com>
Co-Authored-By: Jérémy Hennecart <jeh@odoo.com>
2019-08-05 08:43:21 +00:00
Jérémy HennecartandThibault Delavallée ee10b19f67 [REF] website_sale_slides: improve integration into eLeaning application
PURPOSE

eLearning should have its own application in manager. Indeed this is becoming
a big application and having it embedded inside Website application is not
enough anymore. It should also hold updated and easy-to-use menus,
navigation, actions and views in backend.

SPECIFICATIONS

Improve course form view: add a revenue stat button displaying the total
of sale order linked to the course's product.

Add in slide.channel kanban card
  * Add "Sales       150.00$" below "Watch Time" if type "on payment". Same
    info than the smart/stat button on the course itself. Click on the amount
    sends to Reporting Revenues (same than on the stat btn)

Add menu entry inside Reporting
    * Revenues: graph view on sale.report model showing revenues of eLearning
      courses.
        Area chart, X: month Y: €, Color: course

LINKS

Task 1978729
PR #35061

Co-Authored-By: Thibault Delavallée <tde@odoo.com>
Co-Authored-By: Jérémy Hennecart <jeh@odoo.com>
2019-08-05 08:43:21 +00:00
Jérémy HennecartandThibault Delavallée 2e707935f1 [REF] website_slides_forum: improve integration into eLeaning application
PURPOSE

eLearning should have its own application in manager. Indeed this is becoming
a big application and having it embedded inside Website application is not
enough anymore. It should also hold updated and easy-to-use menus,
navigation, actions and views in backend.

SPECIFICATIONS

Add menu after Courses

  * Forum
    * Forums: add columns to list view: Posts (questions count), Views
      (sum of views of each post), Answers (sum of child_count on each post),
      Favorites (sum of favourite_count on each post)
    * Posts: add columns to list view: Views / Answers / Favourites

Add menu entry inside Reporting
  * Forum: graph view on forum.post model
      Area chart: # Posts created by months, color=forum

LINKS

Task 1978729
PR #35061

Co-Authored-By: Thibault Delavallée <tde@odoo.com>
Co-Authored-By: Jérémy Hennecart <jeh@odoo.com>
2019-08-05 08:43:20 +00:00
Jérémy HennecartandThibault Delavallée 313a7d9eb2 [ADD] mass_mailing_slides: allow to mass mail course attendees
PURPOSE

eLearning should have its own application in manager. Indeed this is becoming
a big application and having it embedded inside Website application is not
enough anymore. It should also hold updated and easy-to-use menus,
navigation, actions and views in backend.

SPECIFICATIONS

Integrate a button on slide.channel form view allowing to perform a mass
mailing on course attendees. Do a flow similar to event.

Add menu entry in menu of slide.channel kanban card after invite
  * Mail Attendees (same as on the course card and depend of the setting)

Add menu entry inside Settings
  * Settings: add an option to install module mass_mailing_slide

LINKS

Task 1978729
PR #35061

Co-Authored-By: Thibault Delavallée <tde@odoo.com>
Co-Authored-By: Jérémy Hennecart <jeh@odoo.com>
2019-08-05 08:41:27 +00:00
Thibault Delavallée fd9962cd6a [FIX] mass_mailing: correctly check mailing domain
Currently each change in mailing model resets the mailing domain. Idea behind
that behavior is that domain for a given model will probably not be valid for
another model because of fields being model specific.

However this breaks when creating mailing with default values for mailing
model. Indeed even valid domains are reset to a default void / opt-out-ed
value due to current onchange implementation.

This commit fixes that behavior by resetting only invalid domain i.e.
that crashes when performing a search on target model.

LINKS

Task 1978729
PR #35061
2019-08-05 08:41:27 +00:00
Thibault DelavalléeandJérémy Hennecart 98bdb241de [IMP] website_slides: add an overview (kanban view) on course model
PURPOSE

eLearning should have its own application in manager. Indeed this is becoming
a big application and having it embedded inside Website application is not
enough anymore. It should also hold updated and easy-to-use menus,
navigation, actions and views in backend.

SPECIFICATIONS

Add course (slide.channel) kanban view. Each tile should contain

  * Title of the course (make it big, o_primary)
  * Tags below the title
  * Primary button "New Lesson"
  * Statistics :
    * Attendees
    * Running (progress != 100%)
    * (if one content is certificate) Certified or Finished
  * See
    * v1: https://drive.google.com/a/odoo.com/file/d/13K8FmkbwmBG4JQ5gH3Q5T8OlWPs3blcu/view?usp=drivesdk

With FP remarks https://drive.google.com/a/odoo.com/file/d/1mb7LUT0VUNs5fMcKB9c0Bfaqk2-XFFuu/view?usp=drivesdk
  * remove globe, type and visibility of course, lessen padding between rating
    views and watch time;
  * for rating, instead of 8.00 => 5 reviews (4.5/5);
  * replace "View Lesson" / "Invite" by "View Course" => Send to the front-end
  * In the menu of the card, add:
    * Invite (same behavior than before, when it was a primary btn)
  * click on x Contents:  land on the contents, group by category with sequence
  * re-order of the 3 infos/Stats at the bottom of the card: 1. Content,
    2. Attendee, 3. Certified
    * + number: font-weight: 500 + font-size 1.2em
    * + labels: remove text-uppercase, + text-color: #666666
    * + the "whole box" is clickable

LINKS

Task 1978729
PR #35061

Co-Authored-By: Thibault Delavallée <tde@odoo.com>
Co-Authored-By: Jérémy Hennecart <jeh@odoo.com>
2019-08-05 08:40:33 +00:00
Thibault Delavallée 665d0dfa67 [IMP] website_slides: add a new kanban view for contents (slide.slide)
PURPOSE

eLearning should have its own application in manager. Indeed this is becoming
a big application and having it embedded inside Website application is not
enough anymore. It should also hold updated and easy-to-use menus,
navigation, actions and views in backend.

SPECIFICATIONS

Add a kanban view for slide.slide model

  * See https://drive.google.com/a/odoo.com/file/d/1WKj13-C_UCOwh4dN-FRmU9Pp6BsZ_HvT/view?usp=drivesdk

LINKS

Task 1978729
PR #35061
2019-08-05 08:40:33 +00:00
Thibault Delavallée 54192e4648 [IMP] website_slides: add a new kanban view for ratings
PURPOSE

eLearning should have its own application in manager. Indeed this is becoming
a big application and having it embedded inside Website application is not
enough anymore. It should also hold updated and easy-to-use menus,
navigation, actions and views in backend.

SPECIFICATIONS

Add in menu Courses, a new entry Reviews
  * Kanban view, full width, no default group by
    * Order by date (most recent on top)
    * See: https://drive.google.com/a/odoo.com/file/d/1IYE1QBIJa26BLugRiafyBop-srkYwndC/view?usp=drivesdk
    * add a tag for unpublished comments
    * Add the pic of the user above the stars
    * Click on card, send to front-end and able to (un)publish the comment
    * Kind of what's on the front-end:  https://drive.google.com/a/odoo.com/file/d/1e9aQSWvUM2QOynRT08XSUzIjFiGnjsv8/view?usp=drivesdk

LINKS

Task 1978729
PR #35061
2019-08-05 08:40:33 +00:00
Jérémy HennecartandThibault Delavallée 4587e6a396 [REF] website_slides: make eLearning an application with its own menu structure
PURPOSE

eLearning should have its own application in manager. Indeed this is becoming
a big application and having it embedded inside Website application is not
enough anymore. It should also hold updated and easy-to-use menus,
navigation, actions and views in backend.

SPECIFICATIONS

Update manifest and make website_slides an application separated from
website embedded menus.

Implement new menu structure

  * Courses
    * Courses
      List view: Course Name, # Views, # Attendees, # Ratings, Revenues,
      Reviews
    * Contents

  * Reporting
    * Courses: list view on slide.channel model, ordered by # views.
        * add a graph view (group by content)
    * Contents: graph view on slide.slide model
        Area Graph: X month
        Y measure: # Views (others measures: Attendees, ...)
        Group by: course (color)
    * Reviews: see kanban of latest reviews;
    * Quiz: list view on slide.question model.
        List view: Add # Quizz Trials, # Quizz Passed, Avg Attempts

  * Configuration
    * Settings
      * Allow Forum on Courses (installs website_slides_forum)
      * Allow Certifications (installs website_slides_survey)
      * Allow Selling Courses (installs website_sale_slides)
    * Course Tags
      * See channel.tags.group with label Course Tags, form view allow to
        configure group tags
      * https://drive.google.com/a/odoo.com/file/d/1G0g2UnG5cZG55EXQ5icbgwe7T2eSZskT/view?usp=drivesdk
      * On click: open :https://drive.google.com/a/odoo.com/file/d/1I_PW3aZAbrslXadiYqmVF-_6dGXx8knd/view?usp=drivesdk
    * Content Tags

This structure will gain new items in sub-modules, notably bridge with
form and website_sale. Those will be implemented in next commits.

LINKS

Task 1978729
PR #35061

Co-Authored-By: Thibault Delavallée <tde@odoo.com>
Co-Authored-By: Jérémy Hennecart <jeh@odoo.com>
2019-08-05 08:40:33 +00:00
Thibault Delavallée ad9d7c5c06 [FIX] website_slides: fix breadcrumb when viewing a slide from a category search
Template expects a category record but controller gives the ID of it.
Oversight of 4ccd859bd4

LINKS

Task 1978729
PR #35061
2019-08-05 08:30:06 +00:00
Kevin Baptiste 15a7aa404b [FIX] note: reset date when adding multiple notes
When adding multiple notes, it was keeping the date of the previous
note in memory. This commit ensures the date is reset each time we click
on "Add a note"

closes odoo/odoo#35374

Signed-off-by: Romain Libert (rli) <rli@odoo.com>
2019-08-02 09:09:26 +00:00
Kevin Baptiste 765e2838dd [FIX] note:open calendar when clicking on the icon
Since commit `a3d98dae68b97aeb7c36ca93c31f067535cbe8fd` the calendar is
no longer opening when clicking on the calendar icon in the activities when
adding a note.
2019-08-02 09:09:26 +00:00
jpr-odoo 21fb7a1f00 [FIX] website_slides: fix the title of the page in fullscreen mode
before this commit, the title of the page is not correct in fullscreen mode

after this commit, set the lesson name as the page title in the fullscreen mode
and changed the title of the page as per click on lesson name

task-2040899

closes odoo/odoo#35161

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-07-30 11:37:22 +00:00
Robot Odoo 9885ccfda4 [IMP] *: correctly read/write website_published
The `website_published` field from the website's mixins is basically a readonly
from `is_published` field.
On read, this field will simply read `is_published` and check if the record's
website_id is accessible (only for the multi mixin).
On write, it will always write on `is_published`.

Whenever possible, any access (read/search) on published state should be done on `website_published`.
Any write should be done on `is_published`.

This PR improves a few things:
- A lot of code was writting on website_published which was just then writting
on is_published. Writting directly on is_published makes more sense.
- Some backend fields would still reference `website_published` instead of
`is_published` which would just go through the related for no reason.
Plus, using `is_published` will make the field tooltip more accurate as we
are not in a website context ('Visible on current website' to 'Is Published')
- Filter and search on tree view were still using the `website_published`
related field, which is just a readonly when we are not in a frontend
context.
- Some create and write function would have security check on
`website_published` value but that was wrong as the user could bypass that by
simply writting on `is_published`. For the write method, check `is_published`
is more accurate as it will cover both case since `website_published` will
then call the write method on `is_published`
- Some models would create their own `website_published` field rather than using the
`website.published.mixin` mixin which should be used instead.
That was done to be able to override the default value of the boolean.
This commit simply adds the possibility to override the default value of the
mixin field.
- Fix wrong publish security check that were only checking `website_published` in vals.

closes odoo/odoo#35189

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-08-03 13:17:04 +02:00
Romain Derie 4086f344d8 [FIX] website: correctly check security of publish mixin
Commit 916968058d introduced a mechanism to check rights when writing or
creating on `website_published` field.
Problem is, `website_published` is just kind of a related to `is_published`
which really stores the value.

Thus, the checks would not work when writing/creating on `is_published`.
That would leave a loophole to bypass the expected behavior.
2019-08-03 09:51:22 +00:00
Romain Derie 7a90dedd25 [IMP] website*: use published mixin rather than own field
*website_crm_partner_assign, website_customer

Before this commit, some models would create their own `website_published`
field rather than using the `website.published.mixin` mixin which should be
used instead.

That was done to be able to override the default value of the boolean.

This commit simply adds the possibility to override the default value of the
mixin field.

Also, help and string could simply be added on xml views rather than overriding
the field.
2019-08-03 09:51:22 +00:00
Romain Derie cc1d78a80b [IMP] *: correctly read/write website_published
The `website_published` field from the website's mixins is basically a readonly
from `is_published` field.
On read, this field will simply read `is_published` and check if the record's
website_id is accessible (only for the multi mixin).
On write, it will always write on `is_published`.

This commit improves a few things:
- A lot of code was writting on website_published which was just then writting
  on is_published. Writting directly on is_published makes more sense.
- Some backend fields would still reference `website_published` instead of
  `is_published` which would just go through the related for no reason.
  Plus, using `is_published` will make the field tooltip more accurate as we
  are not in a website context ('Visible on current website' to 'Is Published')
- Filter and search on tree view were still using the `website_published`
  related field, which is just a readonly when we are not in a frontend
  context.
- Some create and write function would have security check on
  `website_published` value but that was wrong as the user could bypass that by
  simply writting on `is_published`. For the write method, check `is_published`
  is more accurate as it will cover both case since `website_published` will
  then call the write method on `is_published`
2019-08-03 09:51:22 +00:00
Andrea Ulliana f9c2716b3e [IMP] website_forum: bring forum modes
It is now possible to specify the forum mode : Questions and Answers or
Discussions. In Q&A mode, a user can only reply once while there is no
limit in Discussions mode.

task-2008910

closes odoo/odoo#34097

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-08-02 16:32:29 +00:00
Romain Derie cfeb8a5185 [FIX] mail: remove useless hasattr on get_base_url
This check was introduced with d82b897ea1 in 12.0 where `get_base_url` was
not yet a model method.

Since f727cd2645, in saas-12.5, that method is now on model, making the
`hasattr` check useless.

closes odoo/odoo#35057

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-07-24 10:48:53 +00:00
Robot Odoo 6df11fc42d [MERGE] *: rename image fields and use image.mixin
Merge commit for PR #34925
Related enterprise PR odoo/enterprise/pull/4865

The goal is to:
- Use `image.mixin` on the models currently storing multiple image sizes.
- Create Image field and use it on models where mixin is overkill.
- Rename the image fields to contain the pixel number in the name.
- Add 512 size.
- Clean up `image.mixin`, zoom field, variant fields.

Note: models that currently store only a single size image will not be changed
in this PR.

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-08-02 20:36:51 +02:00