Commit Graph
330 Commits
Author SHA1 Message Date
Thibault Delavallée 7afd23e56c [FIX] website_slides: various fixes
Display
 * improve color of trophy displayed on top of course main page (success if
   course done, warning while working on it);
 * correctly fetch and display karma/xp points on course lesson list. It is
   either gain of next try, either awarded points depending on slide
   completion;
 * fix control buttons in course main page (prev, next, set done,
   set completed, fullscren), notably correctly set them disabled;

Linting / Code
 * put demo in no update;
 * rename some parameter in website_slides_survey to avoid conflict between
   quiz (on a slide) and certification (a survey);

 Commit linked to task ID 1941250 and PR #31697.

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-03-08 11:15:07 +00:00
David Beguin 6091062e66 [IMP] website_(profile, slides): add custom pager to show on all users / courses pages
If there are too much users to show on the page and to avoid performance
issues, a pager is now applied on the all users page.

A new pager based on website_pager is added in order to ease the navigation
through the potential high number of pages. 'Go to first page' and 'Go to last
page' buttons have been added and the design of the pager have been adapted
to be more integrated into the new eLearning platform.

Also add the pager on the slide page if search category is applied. The pager
was already computed in the controller but not displayed.

Task ID : 1946160
PR #31697
2019-03-08 11:14:45 +00:00
Thibault Delavallée 20e68b3297 [REF] website_slides: rework standard lesson page view
Purpose of this commit is to perform a cleaning and upgrade of the lesson
view in front-end when not using the fullscreen mode. This page had not
been updated since eLearning addition.

A method is added on slide model to have a protected method computing quiz
related information on a given set of slides, notably potential karma gain,
gained karma and number of attempts. It is mainly a code move from controllers
now working in batch.

Some linting is also done, notably a badly-named file.

See original eLearning task for main specifications [1].

Commit linked to task ID 1941250 and PR #31657.

[1] See task ID 1902304

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-03-07 19:51:33 +00:00
jem-odoo 3393dd0030 [REF] website_slides: redesign quiz widget
This commit makes the quiz widget a real odoo widget that triggers up some
events. The widget is now only responsible of

 * fetching quiz data (if not given)
 * decorating the anwsers according to the result
 * displaying message (error or modal)

To do so, some code move/rewrite was needed

 * extract and factorize some template
 * add 'sudo' on technical model to avoid access rights error
 * factorize some python method from controller to model
 * remove some CSS classes to lighten the code
 * fixing access model error
 * make quiz widget handle the display of error message
 * give browse record for template rendering, rather than slug
 * cleaning some spaghetti code in Fullscreen widget
 * ...

Commit linked to task ID 1941250 and PR #31584.

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-03-07 09:41:43 +00:00
David Beguin 1949c796b5 [FIX] gamification, website_profile : re-fix division by zero if user has no karma
If a new user try to access the elearning platform or his porfile, if he has
no karma, has it is the case for new users, he won't get any rank. So that
the next rank karma minus current rank karma equals zero.

To avoid this, next_rank will always be first one existing if the user has no
karma. Also, the current rank will not be displayed if the user has no karma.
finally, next rank will not be displayed if the user reached the last existing
rank.

Task ID : 1941250
PR #31512
2019-03-06 14:08:24 +00:00
Thibault Delavallée 31d9bbd904 [FIX] website_slides: add gray background to lesson not fullscreen display
Simple fix to already have the standard gray background. Future commits will
improve display of not fullscreen lessons but this fix was necessary for
incoming work.

Commit linked to task ID 1941250 and PR #31512.
2019-03-06 14:03:17 +00:00
Thibault Delavallée 711a48aaa8 [REF] website_slides: clean slide fetch details method and controller
Currently there is a tool method on controller allowing to prepare some
slide related data. However controllers still add values in the slide
dictionary outside of this method, making it non consistent.

Let us prepare all side related data in this tool method to simplify code
understanding.

Commit linked to task ID 1941250 and PR #31512.
2019-03-06 14:03:17 +00:00
Thibault Delavallée dc76c99a1e [FIX] website_slides: fix display of lessons in training course
Currently slides are displayed in a reorderable list, using current user
access rights. This means external customers see only published and free
lessons.

However purpose of course page is to display all lessons, and display
only available ones as clickable. Other one should be displayed as muted
to tease people.

Note that a specific lesson page does check for access rights. Here we
just display all lessons names. A label for free preview is also added.

Fetch of data when displaying a channel is therefore a bit modified as
there are less differences between training and documentation channels.
User progress is also updated to be easier to use in templates.

Commit linked to task ID 1941250 and PR #31453
2019-03-04 16:28:27 +00:00
Stefano Rigano a488cf67ed [IMP] website_slides: slightly improve homepage
Purpose of this commit is to make a new design linting pass on homepage.
Containing

 * various bs4 and responsive improvements;
 * footer banner improvements;

Commit linked to task ID 1941250 and PR #31453
2019-03-04 16:13:57 +00:00
sri-odoo af41382fa1 [REF] website_profile and dependencies: improve global layout and design
Purpose is to perform a cleaning pass on website_profile templates. It
cleans the DOM, templates and CSS and proposes various improvements on
general design and layouting. This includes notably

 * lessen custom CSS and use bootstrap 4 classes;
 * simplify layout when possible;
 * make is responsive and mobile friendly;

No functional changes should occur with this commit.

Sub modules are impacted as profile is extended in various other
applications: eLearning, forum and certification.

Commit linked to task ID 1941250 and PR #31453
2019-03-04 16:13:52 +00:00
Thibault Delavallée 2ab2de24f2 [FIX] website_slides: add missing presentation icon used in some templates
A specific template to display an icon depending on slide type has been
added recently. However presentation icon was missing. This commit fixes
that.

We also added an option to tune the classes added on the icon. It gives more
flexibility when using it.

Commit linked to task ID 1941250 and PR #31453
2019-03-04 16:13:21 +00:00
jem-odoo ed6bd2e9af [FIX] website_slides: use progressbar from bootstrap to avoid too much code
This commit replaces a widget with standard boostrap code: the progress bar
classes. Creating a widget was a little bit over engineered, and since the
progress animation is handle in CSS, this replacement does not cause any loss
of feature.

Commit linked to task ID 1942852 and PR #31394.
2019-02-26 16:13:19 +00:00
jem-odoo 5d5810ace2 [FIX] website_slides: improve tab on main course page and restore review
The review tab exists on channel homepage, but does not show the reviews of
the channel. This commit makes the tab dynamic for homepage content and
reviews. Forum tab still redirects user to the forum page.

Layouting of course page is also improved to better match the new homepage
layouting.

Commit linked to task ID 1942852 and PR #31394.
2019-02-26 16:13:19 +00:00
af25a34606 [FIX] website_slides: improve upload modal
Various fixes :

  * better label on upload modal;
  * upload always visible slide. When uploading a slide with the is_preview
    checkbox checked, it does not work as in the controller we are looking
    after a string when receiving a python boolean;
  * switch modal buttons in slide upload modal to have a correct order;
  * prevent auto scroll up. When clicking on the plus icon in drag'n'droppable
    list view of a course homepage, if the user has scroll down the page he
    will be automatically scroll up. This is very annoying and make some of
    my colleagues grumpy;
  * hide slide upload if not channel.can_upload. This commit hides the "+"
    icon next to the channel categories if the user doesn't have the rights to
    upload slides;

Commit linked to task ID 1942852 and PR #31394.

Co-Authored-By: David Beguin <dbe@odoo.com>
Co-Authored-By: Jerome Maes <jem@odoo.com>
Co-Authored-By: Aurélien Warnon <awa@odoo.com>
2019-02-26 16:13:19 +00:00
Thibault Delavallée 8993e9cfd2 [REF] website_slides: split course sidebar and move fullscreen templates
Moves

 * sidebar of course main template in its own template;
 * fullscreen templates in their own file;

It will ease future modification of this page layout.

Commit linked to task ID 1942852 and PR #31394.
2019-02-26 16:13:19 +00:00
Aurélien Warnon 2524373688 [REF] website_slides: introduce a slide_icon template
Purpose
=======

This commit introduces an icon template to factorize some xml code.
It also correctly overrides this template in website_slides_survey to add
the 'certification' case.

Commit linked to task ID 1942852 and PR #31394.
2019-02-26 16:13:19 +00:00
Thibault Delavallée ede6a90728 [REF] website_slides: lint slide like / dislike widget
Just apply some linting and naming convention.

Commit linked to task ID 1942852 and PR #31394.
2019-02-26 16:13:19 +00:00
Thibault Delavallée a0f923c3a8 [REF] website_slides: lint course join widget
Just apply some linting and naming convention.

Commit linked to task ID 1942852 and PR #31394.
2019-02-26 16:13:19 +00:00
Aurélien Warnon 156976a9f5 [REF] website_slides: handle uncategorized slides in training course view
Purpose
=======

This commit adds the management and display of uncategorized slides
for both the frontend publishing management and the fullscreen
course views.

We add a "Uncategorized" section on top of all the categories that is
hidden for the student if it's empty.

Course publishers can drag and drop slides from and to that
new "Uncategorized" section to easily reorganize the course.

Commit linked to task ID 1942852 and PR #31394.
2019-02-26 16:08:35 +00:00
Aurélien Warnon 5fbfd2a7a4 [REF] website_slides: refactor the course reordering of slides and categories
Purpose
=======

This commit refactors the way slides and categories are reordered in the
frontend course view (training courses). The use of jqueryui's "sortable"
widget makes it easier and more user friendly to drag and drop both sections
and slides to reorganize your course.

Commit linked to task ID 1942852 and PR #31394.
2019-02-26 16:07:57 +00:00
Aurélien Warnon 0e73de5dea [REF] website_slides: refactor the category add modal on frontend
Purpose
=======

This commits refactors the way slide.category are added on frontend:

 * JS now extends a standard Dialog widget;
 * added "required" name value on the form and handled validation;
 * controller adds the category at the bottom of the list (sequence+1);

Commit linked to task ID 1942852 and PR #31394.
2019-02-26 16:07:33 +00:00
Aurélien Warnon 5db9ed0391 [REF] website_slides: refactor the slide archive modal on frontend
Purpose
=======

This commits refactors the slide archiving confirmation modal to make it a
standard Dialog (remove global selectors, remove most of useless xml, ...).

It also adds a new slide archive route to allow channel publishers to archive
slides in sudo mode. Indeed ACLs only website_publishers can write on slide
model. In some case people without real rights may update slides.

Commit linked to task ID 1942852 and PR #31394.
2019-02-26 16:07:16 +00:00
Quentin Mourier 70add1c212 [REF] website_slides: apply linting and cleaning to elearning lesson pages and widgets
Purpose of this commit is to perform some linting and cleaning in lesson widget
JS and its related css. Notably for fullscreen widget of eLearning. Containing

 * better naming of css classes;
 * deleted sidebar file as it is now included directly in the fullscreen
   widget;
 * removed unused css;
 * apply JS linting;
 * clean some controllers;

Commit linked to task ID 1942852 and PR #31394.
2019-02-26 16:05:40 +00:00
Thibault Delavallée fdc36c5c37 [IMP] website_slides: improve main course page in documentation mode
Purpose is to clean a bit the card layout in documentation courses, notably

 * better layout for cards:
 * fetch (in controller as slides in course display are sudo-ed to display
   a card even if current user has no access) completion data and display it;

Commit linked to task ID 1941250 and PR #31317.
2019-02-21 16:38:20 +00:00
Aurélien Warnon 55f93a240f [FIX] website_slides: handle "My courses" to filter user's channels
Purpose: the "My courses" button on the slides home page now redirects the user
to the list of channels for which he is a member of.

In this commit we also clean a bit controller code to remove support of
category_id which makes no sense on a page displaying courses as categories
are not cross-courses, only course-specific.

A clear search icon is also added.

Commit linked to task ID 1941250 and PR #31317.
2019-02-21 16:38:11 +00:00
Aurélien Warnon 9f74ccf403 [FIX] website_slides: fix some styling issues on training course page
This commit do some small UI adjustment:

 * remove a potential doubled <hr/>;
 * remove a "mb8" to make views consistent whether you're a channel publisher
   or not;
 * add a specific parameter to see 'uncategorized' slides on a documentation
   channel as /category is a slug and does not allow Falsy values;

Commit linked to task ID 1941250 and PR #31317.
2019-02-21 16:38:04 +00:00
sri-odoo 0a73e14805 [REF] website_slides: improve design of "all courses" main pages
Containing notably

 * improve banners;
 * sidebar achievement design;
 * some sidebar adjustments;
 * adapt to circular rank progress the current user sidebar;
 * improve overall spacing;
 * improve cards design and size;
 * improve 'all courses' grid layout;
 * clean unused css and templates;

Commit linked to task ID 1941250 and PR #31317.
2019-02-21 16:38:00 +00:00
David Beguin c2629d114b [FIX] website_slides: add various design and UX fixes
- slidesChannelDropdownSort : dropdown items back to visible (was white on white)
- Featured lesson : change icon to bullhorn instead of + icon
- Pass certification fullscreen button : btn primary
- set max height to fullscreen content to 100% minus header
- Fix 'infographic' slide type image view
- change image for 'Furniture Technical Specifications' course
- fix fullscreen presentation mode: The condition to add the iframe that
  contains the presentation of the document was wrong and, so, never met.
  Those conditions are evaluated in javascript and not in python as it's part
  of t-name template linked to a javascript widget.

Commit linked to task ID 1941250 and PR #31279.
2019-02-21 06:57:05 +00:00
Aurélien Warnon b612766575 [FIX] website_slides: various fixes related to course page
* remove useless slide management buttons. This commit removes the frontend
   edit/publish/unlink buttons on slide cards (for the 'document' channel view)
   as they were not handled on the backend side.
 * hide slide type filter for documentation channels. The slide type filter
   (including statistics) on the left side of the channel frontend view
   was only handled for channels of type 'documentation'. This commit hides
   the slide type stats/filters if the channel is not of type documentation.
 * display add content/section buttons based on user rights. Fixes two channel
   frontend issues with user rights management:

   * Users that have the right to upload (can_upload field) should have the
    "Add content" button available.
   * The "Add section" button should only be available to website_publisher
     accordingly to ACLs

Commit linked to task ID 1941250 and PR #31279.
2019-02-21 06:57:04 +00:00
Thibault Delavallée 59f439a3f9 [IMP] website_slides: do not display channel information and featured slide if search
Commit linked to task ID 1941250 and PR #31279.
2019-02-21 06:57:04 +00:00
sri-odoo 03a085dff0 [IMP] website_slides: improve homepage navbar design
Force white background + add the default bootstrap shadow. Do not use <h4>
tags to keep the right font-size on mobile. Simplify layout, add a second
navabar to handle content supposed to be moved to the right.

Commit linked to task ID 1941250 and PR #31279.
2019-02-21 06:57:04 +00:00
Thibault DelavalléeandStefano Rigano cb483d2aa6 [IMP] website_slides: fix and improve homepage
Various fixes linked to homepage of courses

 * move channel navigation in its right container, clean its display and
   related templating;
 * display a Completed badge for completed courses;
 * display a cropped image for channel image card in order to avoid blank lines
   around image not having the right aspect ratio;
 * use standard qweb widgets, notably float_time;
 * make header and footer of /slides and /slides/all editable and improve
   their styling;
 * remove old and unused css linked to previous versions of homepage;
 * various small code cleaning;

Commit linked to task ID 1941250 and PR #31279.

Co-Authored-By: Thibault Delavallée <tde@odoo.com>
Co-Authored-By: Stefano Rigano <sri@odoo.com>
2019-02-21 06:57:04 +00:00
Thibault Delavallée 3ecacb31a9 [REF] website_slide: split short from long description in channel model
Purpose of this commit is to provide a better way to display channel information.
Description is split into two fields. A text one, holding the short description
and used in channel header. A long html one, holding more details course
description.

Commit linked to task ID 1941250 and PR #31272.
2019-02-20 12:55:36 +00:00
Thibault Delavallée f43faad5a3 [REF] website_slide: rename statistics fields on channel and category models
Purpose is to reduce model naming complexity. Currently you have: slide_type
<type>, and related statistics on channel and category nbr_<type>s with a
trailing and error-prone s. Let us remove the trailing s to reduce complexity
of code reading. Some code cleaning in statistics computation is also done.

Commit linked to task ID 1941250 and PR #31272.
2019-02-20 12:24:30 +00:00
Thibault Delavallée c6f473a914 [MOV] website_slides: split channel-type specific display in course into sub templates
It will ease maintenance and polish of those templates.

Commit linked to task ID 1941250 and PR #31272.
2019-02-20 12:24:30 +00:00
Thibault Delavallée 9ae7f5a261 [IMP] website_slides: perform some code linting and re-order frontend templates
Purpose is to perform some linting in code. No functional change should
occur with this commit, only some code move. Diff may appear huge but
it is just because some files are split.

This cleaning allow to better understand code and templates architecture
now that eLearning feature has landed in Odoo Community. It will ease future
additions, modifications and fixes.

Containing :
 * [REF] make some internal slide-related methods private as they are not
   intended to be called by outside world;
 * [MOV] new channel invite wizard in wizard folder;
 * [MOV] split frontend templates in some files to better locate code. There is
   now files for homepage, course, lesson, embed and utils in addition to
   slide-related profile template;
 * [REM] dead (unused) templates;

Commit linked to task ID 1941250 and PR #31272.
2019-02-20 12:09:01 +00:00
Thibault DelavalléeandAurélien Warnon 18f917fe3b [REF] website_slides: improve and make access options clearer
Purpose is to ensure more advanced use cases are still supported in new
elearning platform in addition to more public use cases. Fields controlling
access are now

 * enroll: who can enroll on course: public (everyone, simply click on join
   button), invite (added by already members) and payment (in bridge with
   website_sale, if SO with product is confirmed);
 * enroll_group_ids: automatically add members of those groups to the channel
   to ease having groups for a given subset of users;
 * visibility: who can see a channel and its slides: public (everyone, it means
   channel is visible on website for example), members (hidden for non members)
 * website_published on channels and slides; non publishers cannot see what
   is not published, whatever other parameters;
 * upload_group_ids: who can upload on a channel;
 * download_security on a slide is completely removed as it makes no sense
   for most slide types;

To ensure a better user experience responsible of a channel is added in its
members. People uploading a slide are now also allowed to read it to avoid
having inconsistency behavior between upload_group_ids and access rules.

Some tests are added.

This commit is linked to task ID 1942836 and PR #31239.

Co-Authored-By: Aurélien Warnon <awa@odoo.com>
Co-Authored-By: Thibault Delavallée <tde@odoo.com>
2019-02-19 16:52:07 +00:00
qmo-odoo c564ae6c87 [IMP] website_slides: Add elearning feature to slides
Purpose of this commit is to introduce a new way of displaying and managing
slides in eLearning module. Its purpose is to give a better experience to
users when going through a course. Notably a fullscreen mode allows to take
lessons one by one without going out of the elearning display. Integration
of all slide types eases taking the course step by step.

Quiz are introduced in this commit. Those are an addition to slides with
some question / answers (multiple choice). It allows customer to gain karma
and improves gamification. Certifications are still done using the survey
application. Quiz targets only small tests at the end of a given slide.

A new widget is added to display and control slide display in fullscreen
mode. Old display is still available for documentation channels or when
going out of fullscreen mode, to see details on comments / review / statistics
and have access to share options.

This commit is linked to task ID 1902304 and PR #29876. It closes the main
work on refactoring website slides into eLearning, with other tasks already
merged in current community [1][2][3][4][5].

[1] Task ID 1940360 landed at b2149bc7a2: certification inclusion
[2] Task ID 1936153 landed at 6c6179e57c: homepage inclusion
[3] Task ID 1937160 landed at 8b7605c9e5: selling courses
[4] Task ID 1922159 and 1940516 landed at 5fa651cb01 and 6a64c3ce82:
    new user profile and gamification of slides / forum
[5] Task ID 1938643 landed at 77b5673a0d: upload channel/slide
2019-02-19 13:11:15 +00:00
David Beguin 3ab9f1d8ab [IMP] website_slides_forum : set communication on slide.channel at creation - frontend side
Since 556b6454dab07cdf716d404ec0db9aa51a09b165, channel can be linked to a dedicated forum.
But the link could only be done in backend, in the slide.channel configuration
For now on, website_publishers can create a new dedicated forum when they create
a new slide.channel.

Link buttons have been added in both forum and slide.channel headers to navigate easily
between them.

Fix the relation between course and forum in a model point of view.

Task ID : 1922159
PR #31109
2019-02-18 15:15:02 +00:00
David Beguin 16b0b18361 [IMP] website_slides : show completed and ongoing course on profile
Two new sections are added in the profile page : Completed courses and Followed courses
Thoses sections replace the former 'Courses' section.

Use span instead of b tag in profile page

Task ID : 1922159
PR #31109
2019-02-18 12:16:08 +00:00
Thibault Delavallée bd2dae4f6d [IMP] website_profile, website_slides: add user ranking and karma on elearning main pages
Purpose of this commit is to improve karma and gamification inclusion in
elearning [1].

 * remove a border, replaced by a standard hr, in rank template. It allows to
   reuse it easier as we don't necessarily want that border in other templates
   using it;

Commit linked to task ID 1941250 and PR #31133.

[1] task ID 1922159 (landed at 5fa651cb01)
2019-02-15 17:45:55 +00:00
Thibault Delavallée 1bb7b242c0 [FIX] website_profile, website_slides: clean user avatar controller and add one for slides
Purpose of this commit is to

 * clean user avatar controller and its calls;
 * extract default image computation;
 * add a controller to get slide image even when not having access to the slide
   as all slide name and images are displayed even if not available to the
   current user;

Commit linked to task ID 1941250 and PR #31133.
2019-02-15 17:45:41 +00:00
Thibault Delavallée 6a9f6876c1 [FIX] website_slides: fix some statistics and publication issues
This commit fixes various issues introduced by recent commits in slides

 * fix slide type computation: using a dict in a fromkeys makes a shared
   object for all keys. It is better to fix that behavior;
 * correctly display number of course steps in elearning homepage. Currently
   number of steps of a course is simply the length of its one2many;
   holding slides. However this one depends on access rights which give funny
   results like a course with 2 steps for public users and 7 for admin;
   Right computation is: number of published lessons, whatever your access
   rights are. This is already computed as total_slides;
 * people that cannot publish should not be able to unpublish;

Commit linked to task ID 1941250 and PR #31133.
2019-02-15 17:44:02 +00:00
Aurélien Warnon f322816ae8 [ADD] website_slides_survey: add a new bridge between slide and survey
Task #1940360
Subtask of #1902304

Purpose
=======

Adds certification capabilities to the website_slides module.
Channel/courses can now include certifications as a new type of slide.

This new type of slide is available as a "Certification" button on the slide creation
frontend view (next to "Video", "Presentation", ...).
Users have to link the slide to an actual survey that has the 'certificate' field
set to true (that will populate the slide's survey_id field).

Slides of type certification are handled in frontend in a very simple way for now:
- A button "Begin certification" that redirects the user to the related survey frontend.
- A button "Download certification" when the user has succeeded the certification.
- When the survey is done, if it's linked to a slide, a button "Go back to course" allows
  the user to go back to the slide frontend.

(There is a special use case for when the website_publisher designing the survey lands on a
certification slide: he is allowed to test the survey with a survey_input created as test_entry)

Survey creation as well as limited time, limited number of attempts, ... are still completely
handled in the survey module. That means that the user will have to first create a suitable survey
that is a certification and only then create a slide of type "certification" and link
the created survey to it.

Ideally, the taking of the survey should be transparently included in the slide frontend but
it requires a full refactoring of the way surveys are submitted. This will most likely come in
a later commit.

This commit is an advanced merge of full eLearning module (see task #1902304).
2019-02-15 15:32:46 +00:00
Aurélien Warnon 949f641254 [FIX] website_slides: fix publisher slides frontend access
Purpose
=======

Website publisher should be allowed to access slides on the frontend even if
he's not a member of the channel.
2019-02-15 14:04:52 +00:00
Aurélien Warnon 1cb7290c20 [IMP] website_slides: add visibility criteria to some slide fields
Task #1940360
Subtask of #1902304

Purpose
=======

Some fields displayed on the slide.slide form view are not relevant
for all slide_types and should be hidden.
2019-02-15 12:54:00 +00:00
Thibault Delavalléeandqmo-odoo 2cfacfc632 [IMP] website_slides: new homepage and main channel page
This commit proposes a new homepage for slides module evolving towards
an eLearning platform. It includes

* a new main page displaying top courses / channels. It displays 3 most
  popular and newest channels as well as its ongoing courses (if logged).
  Achievements and karma update done by eLearning community allow to give
  a gamification look and feel;
* an 'All' page displaying all courses / channels. Tag groups and tags
  allow to search / filter displayed courses;
* a new pimped and revamped display for main course / channel page;

For more details about specifications, send an email to aware people that
will be able to send you mockups. Or see the related task. Thanks to
@qmo-odoo who helped developing this homepage based on its work.

This commit is linked to task ID 1936153 and PR #30770.

Co-Authored-By: qmo-odoo <qmo@odoo.com>
Co-Authored-By: Thibault Delavallee <tde@odoo.com>
2019-02-15 09:58:26 +00:00
Thibault DelavalléeandAurélien Warnon c437832e55 [REF] website_slides: perform some model code cleaning
This commit squashes several fixes / light improvements related to the new
slides / elearning homepage [1][2].

Containing notably

 * clean promote strategy field on channel model: less entries as they
   are now used only to display lessons in a given order on channels of
   documentation type;
 * remove promotional fields, not used anymore since partial access on channel
   allowing to have some kind of small preview of slides has been removed;
 * use standard image field (image, image_medium and image_small) and use
   image_resize_image from tools like all other odoo applications;
 * improve image resizing to have medium images better looking on frontend
   and use that nice image_large that broke my build yesterday;
 * add last publication date change on channel;
 * clean dead code;

[1] new homepage task: ID 1936153 and PR #30770
[1] main elearning task: ID 1902304 and PR #29876

Co-Authored-By: Aurélien Warnon <awa@odoo.com>
Co-Authored-By: Thibault Delavallée <tde@odoo.com>
2019-02-15 09:58:25 +00:00
jem-odoo 8ad65abd00 [IMP] website_slides: allow comments on slides
With this commit, the user can activate review on channel content when
creating a channel from frontend, or editing it from backend. Once
activated, the comment tab below the slide content will allow user
to post a comment with optional rating.
The way of commenting is different regarding channel type:
- documentation: user can post comment and vote (list/dislike) on
slide content
- training: user can post comment with review (rating)

Task-1902304
2019-02-14 15:27:35 +00:00
jem-odoo 1878ea95fe [IMP] website_slides: allow to set cover image for webpage slide
Before this commit, the user can only create a webpage slide
by setting its name, category and tags. On the channel grid,
no tumbnail was shown.
This commit allow the user to upload a cover image from the
slide upload modal and to modify it from form view. the
mimetype of webpage slide is now 'forced' through the
modal to 'text/html' to avoid conflit with 'image/png'
when setting the cover image.

Task-1902304
2019-02-14 09:32:43 +00:00