PURPOSE
Test frontend and UI tools of eLearning.
SPECIFICATIONS
This commit adds a course tour that test a flow for course members. Main
steps of this tour are :
* an user (either employee, website publisher or portal) joins a public
course;
* he has access to the full course content when he's a member of the
course;
* he uses fullscreen player to complete the course;
* he rates the course;
LINKS
Task ID 1937768
PURPOSE
Like already done for sale order, invoice of survey, purpose of this commit
is to remove category model and replace by a flagged line (slide). It allows
to easily reorder slides in an embedded list view.
SPECIFICATIONS
Instead of having a fully fledged slide.category model, slide.slide will serve
that purpose with a is_category flag. This will allow to drag and drop slides
and sections in the channel form view.
This change had an impact on the way slides were added/sorted on the front-end.
In fact, whenever a slide is added from the front-end, a resequencing of all
the slides in the course has to be triggered.
Category of a slide is now a computed field based on the sequence. Order
of slides is based on sequence, with categories splitting the slide list based
on is_category flag.
In this commit tests are added. Some cleaning in tests is also performed to
speedup a bit tests (savepointcase) and some cleaning / renaming to ease
their understanding.
Future commit will add JS necessary to manage slides in the section list view.
LINKS
TaskID: 1978731
PR: #33255
The regexp used to get the youtube video id from its url is broken in
multiple ways.
If the video ID starts with the letter 'v' in the short (youtu.be) url
then the url is considered invalid. i.e. https://youtu.be/vmhB-pt7EfA
If the query option `v=<video id>` is not the first option of the query
in the regular url (youtube.com/watch) then the url is also considered
invalid. i.e. https://www.youtube.com/watch?feature=youtu.be&v=vmhB-pt7EfA
The problem has been solved by replacing the over-engineered regexp by
the dedicated parsing tools of `urllib.parse`.
opw-2006330
closesodoo/odoo#34036
Signed-off-by: Julien Castiaux <Julien00859@users.noreply.github.com>
Fix karma channel completion computing and karma gain :
set to complete only if not completed
and handle eventual multi course completion
Removes unused karma gain rules.
Add karma unvote rule to loose the karma gained if user changes his mind.
Test karma gain on each users.
Note : technically, public user could be member of a course,
but functionally speaking, this case should and could never happen
(it's a non sens anyway)
-> public user has not been tested for this reason.
Task ID : 1943788
Closes PR #31321
Purpose of this commit is to add some statistics computation on slide.channel
model. We want notably to have a count of views and votes (likes and dislikes)
on channels. Completion is also computed.
Purpose is to be able to search and order channels based on those statistics.
Having stored computed fields for some statistics help achieving that purpose.
Tests are added.
This commit is linked to task ID 1936153 and PR #30985.
Currently website_slides module lacks tests. This commit adds base for tests
and add some tests related to recently cleaned access rules and rights.
Future commits will gradually add more tests to the module as it evolves
towards a more broad and up-to-date application.
This commit is linked to task ID 1937411 and PR #30847.