summaryrefslogtreecommitdiff
path: root/addons/website_slides/controllers/main.py
AgeCommit message (Collapse)Author
2019-03-21[FIX] website_slides: fix various quiz-related issuesqmo-odoo
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-19[FIX] website_slide{_survey} : apply various fixes on elearning viewsDavid Beguin
- 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[REF-FIX] website_slides : review and fix access, vote, comment and ratingDavid Beguin
Commit 5798ca28bfa1dc082fedff5e68ab3f7eb6236687 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 5798ca28bfa1dc082fedff5e68ab3f7eb6236687 PR #31567
2019-03-15[FIX] website_slides_survey: certification slide urlqmo-odoo
Before this commit, in fullscreen mode, clicking on the "pass certification" button would redirect the user to the "non-fullscreen" view. After this commit, the button directly redirects the user to the survey page. To avoid generating user_input of survey (test entry or not) for certification slides in fullscreen mode (table of content), we decided to create those user_input lazily: we redirect the user to a route that create (or reuse) the correct user_input. Task-1946511
2019-03-15[FIX] website_slides: auto set done successfull quizzjem-odoo
For now, in no fullscreen mode, if the quiz is succeed, the user progress is not updated because the quiz is not set to done. This commit implements this call to mark slide as done and green the check bullet. We decided to unify the submit RPC call with the done one, so a quiz (or a slide with questions) can only be done when submitting answers. As consequence, we need to prevent some slide type to use the /set_completed route (quiz and certif). Task-1941250
2019-03-15[FIX] website_slides: avoid access error when submitting quizAurélien Warnon
Purpose ======= The quiz_submit method and the action to set the quiz done both use the slide_partner relation that has to be accessed in sudo mode. Task-1941250
2019-03-15[IMP] website_slides : improve get slide access computationDavid Beguin
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[IMP] website_slides : allow review, comment and vote only if enough karmaDavid Beguin
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[IMP] website_profile, gamification, : add search bar in all users pageDavid Beguin
This commit adds the search bar in 'All users' page in order to filter on name or company name. To be able to keep the position, a non stored computed field has been added on res_users to get the position depending on the user's karma. The podium (top 3 users) is now displayed only if there is no search applied and if the page = 1 because it has no sens anymore in other cases. Special thanks to @jem-odoo who helped me finding smart solution for position computing. Task ID : 1943788 PR #31321
2019-03-15[IMP] website(_profile,_forum,_slides): move validation email to profile and ↵David Beguin
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 705376a982d64fb41800f148a167ef0fc28ce4c6, 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-12[REF] website_slides: revamp fullscreen widgetqmo-odoo
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-08[FIX] website_slides: fix domain computation of a channel slide listThibault Delavallée
When displaying a channel content all its slides are displayed in a list view or cards view. Even slides current user cannot read because he is not member of the channel are displayed, even if there is no link (and access rights prevent them for effectively accessing the slide). Purpose is to display a channel content without giving access through ACLS at its slides. However this domain computation was not correctly matching real use case * publishers should see everything; * public users should not see unpublished slides; * members not publishers should not see unpublished slides unless they uploaded it; Commit linked to task ID 1941250 and PR #31708.
2019-03-08[REF] website_slides: extract code to have slides per categoryThibault Delavallée
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[FIX] website_slides: various fixesThibault Delavallée
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[IMP] website_(profile, slides): add custom pager to show on all users / ↵David Beguin
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-07[REF] website_slides: rework standard lesson page viewThibault Delavallée
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[REF] website_slides: redesign quiz widgetjem-odoo
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[FIX] website_slides: correctly return deferred when calling slide routes in ↵Thibault Delavallée
fullscreen I promise to fix all deferred. Huk huk huk. Commit linked to task ID 1941250 and PR #31584.
2019-03-06[FIX] website_slides: fix set viewed slideThibault Delavallée
Currently a slide that can be previewed is never set as completed. Correct condition to not update the hard slide-partner relationship is: * either current user is public; * either current slide is not published (happens when a publisher sees still unpublished lessons); * either current user is not member of slide channel (happens when seeing a free preview slide without being channel member); Commit linked to task ID 1941250 and PR #31512.
2019-03-06[FIX] website_slides: latest courses should display all my coursesThibault Delavallée
Correctly fetch courses the current user is a member of, not those he already finished at least a lesson. Commit linked to task ID 1941250 and PR #31512.
2019-03-06[REF] website_slides: clean slide fetch details method and controllerThibault Delavallée
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[IMP] website_slides: reorder controller code to ease understandingThibault Delavallée
Purpose is to order methods and routes according to the main related model. Main routes are above, then tools (sub routes, json routes). Commit linked to task ID 1941250 and PR #31512.
2019-03-04[FIX] website_slides: fix display of lessons in training courseThibault Delavallée
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[FIX] website_slides: various models improvementsThibault Delavallée
Purpose of this commit is to fix and improve some model related bits of code: * add an ondelete cascade on some required fields; * make a public method private because it should be accessed only through controllers; * do not add odoobot as channel member; notably for demo data it can create unnecessary of noise in members and notifications; Commit linked to task ID 1941250 and PR #31453
2019-02-26[FIX] website_slides: improve upload modaljem-odoo
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[REF] website_slides: handle uncategorized slides in training course viewAurélien Warnon
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[REF] website_slides: refactor the course reordering of slides and categoriesAurélien Warnon
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[FIX] website_slides: fix call to set_completedThibault Delavallée
Currently fullscreen widget calls a user-specific route as public user if user is not logged. Purpose of this commit is to avoid JS crash. Some code cleaning is also done. This small feature will have to be cleaned more in-depth in a near future. Commit linked to task ID 1942852 and PR #31394.
2019-02-26[REF] website_slides: refactor the category add modal on frontendAurélien Warnon
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[REF] website_slides: refactor the slide archive modal on frontendAurélien Warnon
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[REF] website_slides: apply linting and cleaning to elearning lesson pages ↵Quentin Mourier
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-21[FIX] website_slides: fix vote widgetjem-odoo
Fix route of vote widget. Set it to auth=public so that instead of a crash we have correct popup asking to login. Better than a SessionException, which will not be displayed. Another fix is done to avoid having one widget for all displayed like / dislike buttons. Each slide should have its own vote widget. Commit linked to task ID 1941250 and PR #31317.
2019-02-21[IMP] website_slides: improve main course page in documentation modeThibault Delavallée
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[FIX] website_slides: fix some rating issuesjem-odoo
Last review should be a comment. When fetching the last message on a course the returned message can be a system notification (like "Channel created"). This is not what we want, mostly with the feature allowing to modify the body of a message. This commit add restriction on the domain fetch last message. Fix default rating value on popup widget. The conversation ratio (rating 1-10 and 5 stars) was not applied everywhere. So, the number of displayed stars was doubled. This is now fixed. Commit linked to task ID 1941250 and PR #31317.
2019-02-21[FIX] website_slides: handle "My courses" to filter user's channelsAurélien Warnon
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[FIX] website_slides: fix some styling issues on training course pageAurélien Warnon
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[REF] website_slides: improve design of "all courses" main pagessri-odoo
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-20[FIX] website_slides: fix typoThibault Delavallée
closes odoo/odoo#31282
2019-02-20[REF] website_slide: rename statistics fields on channel and category modelsThibault Delavallée
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[IMP] website_slides: perform some code linting and re-order frontend templatesThibault Delavallée
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-19[FIX] website_slides: set slide as completed only for valid membersThibault Delavallée
Indeed some slides are available for external people if is_preview is set to True. It indicates slide is available for teasing. It should not be marked as completed for non members. 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[REF] website_slides: improve and make access options clearerThibault Delavallée
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[IMP] website_slides: Add elearning feature to slidesqmo-odoo
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 b2149bc7a274217a0b96e587abd52093bd98e5e8: certification inclusion [2] Task ID 1936153 landed at 6c6179e57cede3d9889c33873740a7b1ddecda2e: homepage inclusion [3] Task ID 1937160 landed at 8b7605c9e5df4a700b0139d1781db24ae5d31626: selling courses [4] Task ID 1922159 and 1940516 landed at 5fa651cb013ac67d7ba592498c4cf2770dec2483 and 6a64c3ce821f080969e49e5e760e52ae9bfc26cc: new user profile and gamification of slides / forum [5] Task ID 1938643 landed at 77b5673a0dd220b3c28e88f8acbb5274b486c5bd: upload channel/slide
2019-02-18[IMP] website_slides_forum : set communication on slide.channel at creation ↵David Beguin
- 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[IMP] website_slides : show completed and ongoing course on profileDavid Beguin
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-15[FIX] website_profile, website_slides: clean user avatar controller and add ↵Thibault Delavallée
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[ADD] website_slides_survey: add a new bridge between slide and surveyAurélien Warnon
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[IMP] website_slides: support slide_type param in slides/all routeAurélien Warnon
Task #1940360 Subtask of #1902304 Purpose ======= The slide/all route now supports a 'slide_type' param that will filter channels to contain at least one slide of type 'slide_type'. This is a preliminary work for the slides_survey bridge.
2019-02-15[FIX] website_slides: fix publisher slides frontend accessAurélien Warnon
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[IMP] website_slides: new homepage and main channel pageThibault Delavallée
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>