Commit Graph
328 Commits
Author SHA1 Message Date
qmo-odoo 4ccd859bd4 [FIX] website_slides: Fix the breadcrumbs on a slide content
This commit adds the name of the currently viewed slide
to the breadcrumbs at the top of the page

Task ID: 1999672
PR: #33635
2019-06-14 13:18:26 +00:00
sri-odoo 498b4b4350 [FIX] website_slides: add missing <h1> tag (seo)
closes odoo/odoo#34137

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-06-14 10:16:58 +00:00
Christophe Simonis 25e3f27062 [MERGE] forward port branch saas-12.3 up to 48a9f5a633 2019-06-17 13:20:35 +02:00
sri-odoo ed7b3b0fa4 [FIX] website_slides: design, questions margins
Slightly increase margins between questions in a test.

closes odoo/odoo#34055

Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
2019-06-12 14:09:15 +00:00
Aurélien Warnon d763186497 [FIX] website_slides[_forum]: correctly redirect to review on linked forum
When the channel has a linked forum, the "Review" link on the forum should redirect the user
to the "Review" tab on the course page.

Task #2003222

closes odoo/odoo#33786

Signed-off-by: Jérome Maes (jem) <jem@openerp.com>
2019-06-13 06:39:32 +00:00
Aurélien Warnon 489c8623e2 [IMP] website_[profile,slides]: improve karma rank layout
This commit improves the karma rank layout displayed on the courses home page
and on the user profile.

Task #2003222
2019-06-13 06:39:32 +00:00
Aurélien Warnonand@stefanorigano <sri@odoo.com> 3a487bdde3 [IMP] website_slides: add top 3 users avatars in courses home footer
This commit improves the footer image of the slides home page by adding
the top 3 users avatars (ordered by karm desc) in the image.
We only fetch users that have an image set as avatar.

Task #2003222

Co-authored-by: @stefanorigano <sri@odoo.com>
2019-06-13 06:39:32 +00:00
sri-odoo 862f16ee5f [FIX] website_slides: layout, add missing #wrap id
The '#wrap' id is needed by website themes to correctly
handle layout options.

closes odoo/odoo#34024

Signed-off-by: Quentin Smetz (qsm) <qsm@odoo.com>
2019-06-11 10:04:36 +00:00
Sébastien Theys 3b63c7c2a6 [FIX] website_slides: fix typo introduced in cd4cd51 2019-06-07 11:17:10 +02:00
Christophe Simonis 71a50a2214 [MERGE] forward port branch saas-12.3 up to 409679866b 2019-06-06 11:54:35 +02:00
Romain Derie cd4cd51721 [IMP] project, website_slides(_forum): no need to forward debug in URL
Now that the debug mode is stored in session (see parent commit), there is no
need anymore to forward the debug query param.

This commit clean the occurence of code that were doing that by using mainly
`keep_query`.

task-1934445
Comes with https://github.com/odoo/enterprise/pull/4281
Closes #33213
2019-06-05 05:56:33 +00:00
Christophe Simonis 5548029fb7 [MERGE] forward port branch saas-12.4 up to 5e81b18e24 2019-06-27 20:51:59 +02:00
Christophe Simonis 9035fb8a2a [MERGE] forward port branch saas-12.4 up to 618ea1ab67 2019-06-18 10:24:25 +02:00
Hiral Bhavsar 3cd7ed07a2 [IMP] *: remove 'view_type' on window actions.
The old tree views don't really exist anymore, this odd pseudo-flag to
dispatch between "list" and "tree" tree views has no reason to remain.

Task 1937686

closes odoo/odoo#31243

Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2019-06-17 11:34:17 +00:00
Thibault Delavallée 2d0d68a2e3 [FIX] website_slides: remove unnecessary links in achievement section
Those links do nothing as they link to the main page. Currently just remove
them as no real spec has been given.
2019-05-29 13:40:04 +00:00
qmo-odoo 2bb4aa4850 [FIX] website_slides: Make section names editable in front end
This commit allows the user to edit the name of the sections
in the front end with the web editor

Task ID: 1999661
PR: #33633

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-05-24 06:41:06 +00:00
qmo-odoo e87a74e3ca [FIX] website_slides: remove the "uncategorized" label in course view
This commit removes the uncategorized label from the course view. Note that
it only removes the label, not the content. FP request.

Linked to task 1978530
Related to PR #33559
2019-05-22 09:16:20 +00:00
qmo-odoo a71fdc058d [FIX] website_slides: hide review tab when allow_comment is False
This commit fixes the Review tab on the course page. The tab shows up even
if the channel does not allow comment. This commits fixes that behavior.

Linked to task 1978530
Related to PR #33559
2019-05-22 09:16:02 +00:00
qmo-odoo b6f185b45d [FIX] website_slides: Remove read access on slide.answer
This commit removes the read access on slide.answer for all
users except website_publisher and admin

Task: #1947884
PR: #32083

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-05-06 06:24:38 +00:00
qmo-odoo 8d9c054842 [FIX] website_slides: fix various quiz issues
This commit fixes a few issues with quizz

  * change background-color to white in fullscreen mode;
  * prevent going up to the top of the page when selecting an answer;
  * highlight selected answers in fullscreen;
  * fix the display of already completed quizzes

Commit linked to task ID 1978530 (fixes linked to internal testing).

closes odoo/odoo#33140

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-05-03 13:01:10 +00:00
Aurélien Warnon bf3ed3fc7c [FIX] website_slides: fix courses completion on user profile page
This commit fixes the courses (slide.channel) completion displayed on the user
profile page. It uses the number of completed slides instead of the percentage
of completion. This is due to the completion field having been updated
recently to store number of completed slides instead of a computed percentage
for performances reasons [1]

Commit linked to task ID 1978530 (fixes linked to internal testing).

[1] See 534822e54c
2019-05-03 09:43:27 +00:00
qmo-odoo 8af1fe54ad [FIX] website_slides: Add back the slide type icons in the lists
This commit adds back the slide type icons on the sidebar list
in fullscreen and not fullscreen mode.

Commit linked to task ID 1978530 (fixes linked to internal testing).
2019-05-03 09:43:18 +00:00
sri-odoo 6867f7ba9f [FIX] website_slides: fix display of 'All Courses' menu in mobile
Purpose: clean and fix display of All Courses menu in mobile

Linked to task 1958372
Related to PR #32648
2019-04-23 09:34:43 +00:00
sri-odoo e5c7e43c71 [IMP] website_slides: reduce bootstrap customization and improve circular progress design
Purpose: reduce some customization and ease eLearning link with themes. For
that purpose use the body class name propagation recently added.

Linked to task 1958372
Related to PR #32648
2019-04-23 09:34:42 +00:00
qmo-odoo 7c8834459e [IMP] website_slides,_profile: Improve elearning UX
This commit changes:
  - In elearning homepage, change "Heroes of the week"
    to "leaderboard of the week"
  - In user profile, change "Rank: Master" to
    "Current Rank: Master"
  - In the "Edit Profile" view, remove the required
    on the description text area

Task: #1961116
PR: #32621

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-04-11 15:02:13 +00:00
qmo-odoo 3e09ed1506 [FIX] website_slides: fix various non-fullscreen view issues
This commit provides a few fixes for the non-fullscreen view:

  * remove the subquiz link on slides of type 'quiz' in the sidebar;
  * hide completion icons in sidebar if not member;
  * only show the 'embed on your website' option when a slide has an embed
    code. This will prevent slides of type 'certification' or 'quiz' to
    display an empty embed box;

Commit linked to task ID 1941250 and PR #31977
2019-03-21 11:44:57 +00:00
qmo-odoo 258a1e41b0 [FIX] website_slides: fix various quiz-related issues
This commit provides a few fixes for quiz feature:

  * fix amount of karma won by the user in a quiz;
  * correctly display the fact that a subquiz was completed by the user instead
    of just looking like a non-completed quiz;
  * going on a previously completed quiz, good answers are hightlighted and
    inputs disabled;
  * effectively put the quiz in readonly mode if not a channel member.

Commit linked to task ID 1941250 and PR #31977
2019-03-21 11:44:09 +00:00
qmo-odoo adf80cf708 [FIX] website_slides[_survey]: fix various fullscreen issues
This commit provides a few fixes for the fullscreen view:
  * make external links associated with a slide clickable again in fullscreen
    mode;
  * hide completion icons if not member:
  * add margin to subquiz icon in header;
  * add dedicated button to exit the fullscreen mode;
  * change "Pass certification" button to "Test Certification" if not member
    of the channel (for website publishers);

Commit linked to task ID 1941250 and PR #31977
2019-03-21 11:43:03 +00:00
sri-odoo 64b4461229 [FIX] websiste_slides: perform small tweaks on elearning homepage
In Top menu, replace 'My courses' with 'Search' and adapt responsivness
for small devices. Truncate card's description and perform minors design
tweaks. Also add some slides-specific layouting to email validation banner.

Commit linked to task ID 1941250 and PR #31977
2019-03-21 11:42:19 +00:00
sri-odoo af41430b31 [FIX] website_slides: improve documentation course layout and not fullscreen lesson page
Purpose of this commit is to perform a cleaning of

 * documentation course: add a new specific navigation for documentation
   course with a sort option and filters on slide types; clean overall layout
   of documentation course to have a better-looking result as this page was
   still not really updated;
 * lesson not fullscreen page: global layout and cleaning of not-fullscreen
   page to have a better-looking result. Notably related slides for
   documentation slide is set on right, and some UX bits are tweakes;

Commit linked to task ID 1941250 and PR #31977
2019-03-21 11:39:36 +00:00
sri-odoo 7d27a6d6bf [FIX] website_slides: improve quiz and its success modal layout and design
Commit linked to task ID 1941250 and PR #31977
2019-03-21 11:39:23 +00:00
Thibault Delavallée de139a8508 [REF] website_slides: cleanup scss ordering, remove unused classes, add placeholder images
Commit linked to task ID 1941250 and PR #31977
2019-03-21 11:39:20 +00:00
sri-odoo d372c8c42f [FIX] website_slides: improve course overall layout and training content list
Purpose of this commit is to improve the global look of course layout
(notably banner, navigation, course / channel informations). Content list
layout displayed in training (orderable) is also tweaked and improved.

Commit linked to task ID 1941250 and PR #31977
2019-03-21 11:39:14 +00:00
sri-odoo d5c6c908f4 [FIX] website_slides: fix course navigation design
Commit linked to task ID 1941250 and PR #31977
2019-03-21 11:39:11 +00:00
sri-odoo b2e555eb0b [FIX] website_slides: fix various fullscreen layout issues
Improve overall widget layout, perform some small tweaks. Also remove
top title as it is not wanted.

Commit linked to task ID 1941250 and PR #31977
2019-03-21 11:39:07 +00:00
David Beguin a13e33ddda [FIX] website_slide{_survey} : apply various fixes on elearning views
- Fix certification card in user's profile page

Since design review, certification card were not displaying well.
This commit applies the course card template on certification card
and modifies the way the certification get downloaded by calling directly the
controller instead of using class catched in javascript that calls afterward the
controller.

- Allow review button only if allow_comment in FS mode + redirect url

'write a review' button in fullscreen mode must not be displayed if the course
is not in allow_comment mode. Also, the url if this button was redirecting
to slide view in non fullscreen mode. As no review can be done from this point,
the url redirect now to the course view.

- Fix fullscreen slide height.

- Fix all slides view per category pager and page rendering

Since the introduction of categorized data dictionnary that is given to the template,
if a category is empty, it's rendered anyway, which is good for publisher,
to quickly see all existing categories.
But other users should not see those empty categories.

Also, if the slides from a course are filtered (with View all button) by category,
all the slides should be reachable, using the pager. This was not the case as
categorized slides dictionnary returned no slides if page <= 2.
(as bound of array was from offset to limit and offset and limit were equals)
The number of slides per category must be overwritten if search category is activated,
to see more than the 4 first slides of the category.

Finally, if search category is activated, only the target category should be displayed,
and not the others, for performance reason.

- Show 'not verified' next to user's name if user karma = 0

Instead of using the email_validation_done flag. As email validation is only used
to offer the user some karma in order to be able to interact in the forum or eLearning.
If the user already has karma, he is already considered as active and 'verified'

- Correct URL of certification in FS mode

Task ID : 1941250
Closes PR #31567

Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
2019-03-19 13:03:51 +00:00
David Beguin 12fd6a01c8 [REF-FIX] website_slides : review and fix access, vote, comment and rating
Commit 5798ca28bf was assuming the vote and
comment access on slide was related to is_preview mode and was, consequently,
depending on each slide separately.

In fact, it's not because a slide is in preview mode that the user has the right
to vote for this slide. He must be course member to interact with this preview
slide, even if he has the right to read it.

So the vote and comment right are now computed at the level of the course,
and apply to all the slides of this course.

This commit also reviews and apply fixes on review - rating access.

Here are the applied rules regarding vote, comment and rating on course and slides:

A user can review a course:
- If allow_comment is activated on the course AND
- If the user is publisher OR
- If the user has enough karma AND is member of the course.

Note : if the rating is not allowed on the course, not only the button
to review must be hidden but also the entire rating composer.

A user can vote and comment a slide:
- If allow_comment is activated on the course AND
- If the user is publisher OR
- If the user has enough karma AND is member of the course.

Other fix applied is this commit :
- Avoid crash when no promoted slide : When going on course homepage
(documentation type), if no promoted slide, we got a internal server error.

Task ID: 1941250
Partial revert of commit 5798ca28bf
PR #31567
2019-03-19 13:03:46 +00:00
sri-odoo@stefanorigano@dbeguin
8ecff655e0 [IMP] website_profile: merge ranks/badges pages
Merge ranks & badges pages. This commit adapt the final page
layout, controllers and templates.

Added the badge category filter. If used in url parameter, hide ranks and show
only the badge part of the page, filtered on matching badge_category.

Task ID : 1941250
PR #31567

Co-authored-by: @stefanorigano
Co-authored-by: @dbeguin
2019-03-19 13:03:40 +00:00
jem-odoo 954e8ca6d4 [FIX] website_slides: prevent to mark a certification as done
When a certification slide is display in no fullscreen
mode, the done button is clickable. Same applies to quiz
slide.
This commit prevents user to manually mark a slide as done
for slide type that requires an other action (submit answer,
pass survey, ...).

Task-1941250
2019-03-15 20:38:58 +00:00
sri-odoo 54261c4e3e [IMP] website_slides: embedded player restyling
The style and DOM structure of the embeded player (used
to display PDF file) is old, and it needed a little refresh
to be adapt to bootstrap4 and modern styling.

Task-1941250
2019-03-15 20:38:58 +00:00
sri-odoo 69fb136a48 [FIX] website_slides: styling fullscreen mode
Since the fullscreen widget has been revamped, it needed
to be pixel perfect. This commit cleans the CSS and DOM
structure in order to optimize and sublime it.

Task-1941250
2019-03-15 20:38:58 +00:00
David Beguin 5798ca28bf [IMP] website_slides : improve get slide access computation
As slides are returned in sudo to the template, the user rights were
checked via a can_access variable set in the template directly.
In order to disable the vote for user that cannot get access to the course
all the checks are now done in backend (also to avoid to get access to slides
in sudo mode with rpc calls). We add now, for each slide on the course view,
the access and vote rights to the template : can_access and can_vote.
Those two are computed in backend, using the user's access right instead of admin's.
But, as if the user is not member of the channel, he cannot get access to the
course slides (expect for Free Peview ones), so the check on can_vote
will crash. This is why we check the access rights before checking can_vote,
for each slides (as free preview slides are still accessible,
even if the user is not in channel members).

The vote widget is disabled if user's can_access or can_vote = False, enabled otherwise.
If user have access but have not enough karma, the controller will handle this
case and return an error to the user telling him he has not enough karma to vote.
If user can vote but cannot access, the controller will handle this
case and return an error to the user telling him he has no access to the lesson.

Task ID: 1943788
PR #31321
2019-03-15 15:05:54 +00:00
David Beguin d4db21a9cc [IMP] website_slides : allow review, comment and vote only if enough karma
To avoid eLearning to be spammed, the comment, review and vote behaviours
are now allowed only if the user has enough karma to do it.

Here is the new behaviour on courses and slides rating / comment / vote
    -If allow_comment is checked on Course :
        - Review (rating) is allowed on Course only if enough karma
        - Comment is allowed on slides within the course
            only if enough karma and course type is 'training'
        - Vote is allowed on slides within the course
            only if enough karma and course type is 'documentation'
    -If allow_comment is not checked on Course :
        - Review (rating) is not allowed on Course
        - Comment is not allowed on slides within the course
        - Vote is not allowed on slides within the course
    - Rating is not allowed on slides within the course anymore

Task ID : 1943788
PR #31321
2019-03-15 15:05:54 +00:00
David Beguin fb40c6bf60 [IMP] website(_profile,_forum,_slides): move validation email to profile and use in forum and elearning
Email validation was necessary on the forum to be able to begin to use the forum
(ask or answer questions, vote, etc..)

As the new elearning also uses karma since 705376a982,
the email validation is now also necessary in the eLearning platform.

This is why this commit is moving the email validation process to website_profile
and extend website_slides (eLearning) and website_forum to use this feature.

In function of where the user asked to send him the validation email,
the user is redirected on the forum or on the elearning when he clicks on
'Validate my account' in the received 'email validation' email.

Task ID : 1943788
PR #31321
2019-03-15 14:58:28 +00:00
qmo-odoo 24d30331d6 [FIX] website_slides: no completion for public user
When a slide is seen by user, it should be marked as completed
(according to its type), and the user completion for the course
is updated. But for public user, we don't want those RPC calls
to be done, as completion for visitor makes no sense.
This commit also hide progressbar when current user is public.

Task-1942852

closes odoo/odoo#31700

Signed-off-by: Jérome Maes (jem) <jem@openerp.com>
2019-03-12 15:36:50 +00:00
qmo-odoo fd78a40836 [REF] website_slides: revamp fullscreen widget
This commit makes the 'Fullscreen' page a complete odoo
widgets. We decided to split it into some sub widget:
- Fullscreen: will be the master piece, handle communication of
components, displaying slide content, setting slide as completed,
handling server RPC calls, ....
- Sidebar: responsible for slide navigation, based on the table of
content. (prev, next, keyboard naviguation, ...)
- VideoPlayer: display content for Youtube video and handling player
event to auto set as completed, ...

The DOM of this page is still rendered serverside. DOM was cleaned in
order to be less complex and less deep. CSS style was also reviewed
to decrease line of code.

Fullscreen is now completely using Quiz widget with events triggered.

Task-1942852
2019-03-12 15:31:40 +00:00
Thibault Delavallée bccfe8a418 [IMP] website_slides: display a flag for unpublished lessons in course list view
It helps course maintainers understanding the state of their lessons.

Commit linked to task ID 1941250 and PR #31708.
2019-03-08 14:51:25 +00:00
Thibault Delavallée edf68bde6c [REF] website_slides: extract code to have slides per category
Purpose of this commit is to have a method allowing to fetch slides
and have them ordered by category with some info on the category. It
fully supports uncategorized slides.

This commit also fixes the lessons list view of a training course. When
having rights to edit the channel the category name was not editable.
We now use a real browse record allowing to edit the category names
directly in this reorderable list view.

Commit linked to task ID 1941250 and PR #31708 .
2019-03-08 14:46:32 +00:00
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