Skip to content
Snippets Groups Projects
  1. Dec 24, 2019
    • Patrick Hoste's avatar
      [IMP] website_slides: allow to download slide content and additional resources · 1894dc54
      Patrick Hoste authored
      
      PURPOSE
      
      Currently eLearning lacks feature of having downloadable resources on
      lessons. Indeed for example teachers would like to attach zip files or
      other resources linked to a given lesson.
      
      SPECIFICATIONS
      
      You can now allow the user to download the slide content for pdf and image
      slides. A new icon will be visible next to the fullscreen button on the pdf
      viewer.
      
      Course maintainers can also add additional resources to a slide which will be
      available to download for the user.
      
      Task ID 2066741
      PR #39890
      
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      1894dc54
    • Patrick Hoste's avatar
      [IMP] website_slides: add comments on answers showed after answering a quiz · e42ee496
      Patrick Hoste authored
      
      PURPOSE :
      
      A quiz after a course content is a good way to check if the user gets the previous lesson.
      Despite, the user/student may not understand why his answer was wrong/correct.
      In this task we'll allow the teacher to add a comment next to the asnwer of a quiz.
      
      SPECIFICATION :
      
      The quiz creator will now be able to comment the answers to inform the frontend user why
      his answer is wrong/correct. He will be able to add the comments both in backend and frontend.
      
      Task ID : 2072566
      PR : #41188
      
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      e42ee496
  2. Dec 18, 2019
  3. Dec 12, 2019
    • mcm-odoo's avatar
      [REF] website_slides: define specific eLearning user groups · 90bf317c
      mcm-odoo authored
      
      PURPOSE
      
      Have user groups specific to eLearning to separate them from generic website
      editors. Indeed this is a specific work area and require more than pure design
      skills.
      
      SPECIFICATIONS
      
      Two user groups are added in this commit
      
        * group_website_slides_officer
      
          + can read any course/slide
          + can create a course (will be responsible)
          + can write on its courses
          + can upload slides to the courses he is responsible
          + can publish slides to the courses he is responsible
          - cannot unlink courses/slides (you should archive them)
      
          * implies group_website_publisher in order to see the top navbar in
            frontend with the publish toggle button and the new content button;
      
        * group_website_slides_manager: has full rights
      
          + can read any course/slide;
          + can create a course;
          + can add slide to any courses;
          + can publish any courses/slides;
          + can unlink any courses/slides;
          + has access to reporting menu entries;
      
      Rights for other groups are untouched for courses / slides. As a reminder
      we still support responsibles being outside of eLearning groups, for example
      if an employee is a teacher that handles a course:
      
        * people in upload_group_ids of a channel can upload slides, even if they
          don't belong to any eLearning group;
        * people responsible of a course can upload and publish slides even if they
          don't belong to any eLearning group (done through controller as they
          don't have real rights on underlying models);
      
      We choose to keep the survey rights separated from eLearning ones. Indeed
      it is easy in odoo to update the imply_ids field of groups if necessary
      to link survey / eLearning groups; default user template can also be updated
      easily. Standard Odoo should therefore correctly separate those groups. The
      only specific rights is that eLearning officers can read all surveys, allowing
      to choose them for certification-based courses.
      
      LINKS
      
      Task ID 2062462
      PR #39485
      
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      90bf317c
  4. Dec 04, 2019
  5. Dec 10, 2019
  6. Dec 09, 2019
  7. Dec 02, 2019
    • Thibault Delavallée's avatar
      [MOV] website_rating: move to portal_rating · 9e067788
      Thibault Delavallée authored
      PURPOSE
      
      Clean posting process and improve mail.message definition and comprehension.
      Move as much possible content from website_* modules to portal_* modules
      to ease their use in customer portal
      
      SPECIFICATIONS
      
      Now that publish feature is replaced by internal directly in mail and portal
      rating portal inclusion can be done safely in a portal_ratign module instead
      of website_rating. It allows to remove the dependency and give the rating
      feature of customer chatter directly in portal applications.
      
      LINKS
      
      Task ID 2071556
      PR #38692
      9e067788
    • Florimond Husquinet (fhu)'s avatar
      [IMP] website_slide: improve the ways to search through courses · 0a46e086
      Florimond Husquinet (fhu) authored
      
      PURPOSE
      
      Purpose of this commit is to improve search capabilities of eLearning
      frontend application. Searching tags and content should be easier to
      do, update and notice.
      
      SPECIFICATIONS
      
      Before this commit
      - There is no visual indication to what are the selected filters.
      - The user can only select one tag in each dropdown box.
      - When the user selects a tag on one course card, this tag replaces all other
      filters.
      - When the user enters custom search terms, it replaces all other filters.
      - When searching a documentation, a stacktrace appears.
      
      After this commit
      - Selected tags appear as little tag boxes under the search bar.
      - The custom search terms appear as one tag box.
      - It's possible to remove a search tag by clicking on the cross present in each
      little box.
      - It's possible to select multiple tags in each dropdown box.
      - Tags in course cards work the same as tags in dropdown boxes, and add
      themselves to the list of filters.
      - To generate the list of courses to display, a logical OR is operated between
      tags of the same group, and a logical AND is operated between groups of tags.
      - A logical AND is operated between the custom search terms and other filters.
      - A logical AND is operated between the "My courses" options and other filters.
      - Bug when searching a documentation is fixed.
      
      LINKS
      
      Task ID: 2080617
      PR #39259
      
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      0a46e086
  8. Nov 29, 2019
    • qmo-odoo's avatar
      [FIX] website_slides: Fix traceback when creating content in mobile · a82fd088
      qmo-odoo authored
      
      This commit fixes the traceback that happens when we try to create
      a question from the survey form in mobile mode.
      
      The problem was due to the context not being propagated
      to the "add record" button that appears in mobile mode.
      Therefore, as we use that context in our widget, it crashes.
      
      The solution to this is to just use the normal tree view behavior
      instead of our override when we are in a mobile environment.
      
      LINKS
      
      closes odoo/odoo#41143
      
      Taskid: 2071342
      Pr: #40694
      X-original-commit: 0dc7d956
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      a82fd088
    • Hoste Patrick's avatar
      [IMP] website_slides: allow to create and update quizzes directly in frontend · ec9e389f
      Hoste Patrick authored
      
      Purpose is to ease designing your courses by allowing to create and update
      slide quiz directly in frontend, within the slide display.
      
      With this commit you are able to
      
        * add a quiz to a slide or add a question to an existing quiz;
        * edit an existing question from a quiz:
      
         * change the title of the Question;
         * add, remove or update answers;
         * change the right answer;
         * delete an existing question;
         * reorder the questions from a quiz;
         * reset the quiz for the current user if he is a website designer, allowing
           to test the quiz and its answers;
      
      New frontend widgets are introduced allowing to manipulate quiz. Slide page
      now supports a readonly / taking quiz mode and an edit mode for quizzes
      used notably for website designers / course maintainers.
      
      Task ID : 1999636
      PR : #35326
      
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      ec9e389f
  9. Nov 28, 2019
  10. Nov 21, 2019
    • Florimond Husquinet (fhu)'s avatar
      [IMP] website_slide: add a card description independent from short description · 07f70e3c
      Florimond Husquinet (fhu) authored
      
      The Channel model contains the two following fields: `description` and
      `description_html`. The former is a short plain-text description that can be
      filled in the creation form. The latter is a long html-formatted description.
      
      Before this commit:
      
      The description displayed on the card of the course is the `description` field.
      
      After this commit:
      
      There is an additional `description_short` field, which is initialized to the
      same value as the `description` field. If the `description` field is modified
      the `description_short` reflects the modifications. This happens however only
      if the user didn't modify the `description_short` field manually. If it is
      modified to another value manually, the link is broken.
      
      Description short is now used only on the course page, below title, in the
      header. Description short is used in kanban card displayed in homepage.
      Html description is used as a long course description on course page.
      
      Beside, in the creation form of a course, the description textarea is now a
      one-line input field to reflect the fact that it's supposed to be a relatively
      short description.
      
      Task ID: 2026165
      PR #39388
      
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      07f70e3c
  11. Nov 20, 2019
    • laa's avatar
      [IMP] website_slides: indicate new content on courses to users · 92cc770c
      laa authored
      
      Purpose of this commit is to help users knowing there is new content in a
      course by adding a visual insight. It is done through a new content arrow
      displayed in courses homepage.
      
      Regarding the file "website_slides_templates_homepage.xml", the choice to
      incorporate the t-call attribute into a 't' balise was necessary to display
      the customize option (part front) associated with the model course_card.
      
      Side dish usability improvements raised during development
      
        * display completed courses as last instead of first in "my courses";
        * do not show promote strategy field for training courses as it has no
          use, only for documentation courses;
      
      TASK ID 2025186
      Closes PR #36703
      
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      92cc770c
  12. Nov 13, 2019
  13. Nov 06, 2019
  14. Oct 23, 2019
    • mcm-odoo's avatar
      [IMP] website_slides: add progressbar and completed tag · 42a24e41
      mcm-odoo authored
      
      - Teacher can now see the progress of his students on the attendees' list.
      
      - The completion of a course was recomputed even if the course is completed
        now it's fixed to 100 when completed.
      
      - Added a progressbar in course page in front-end to allow the user to see
        it's progression. When completed, the tag completed is displayed instead of
        the progressbar.
      
      - On slide page in front-end(normal view or fullscreen) when a course is
        completed, display the tag completed instead of the progressbar.
      
      - Removed completed state on course "Taking care of Trees" for portal user
        because it was not the case.
      
      task-2049689
      
      closes odoo/odoo#36608
      
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      42a24e41
  15. Oct 18, 2019
  16. Oct 07, 2019
  17. Oct 15, 2019
    • David Beguin's avatar
      [REF] website_slides : refactor share_modal to use same template(s) in all case · bb358113
      David Beguin authored
      This commit prepares the next one. It creates generic main and sub templates
      for slide share modal.
      
      In order to be usable for all cases, header and body sub template have been added.
      Also and in the same purpose, as the website url can be another url
      than the record to share (or if the record doesn't have website_url), this website_url
      can be specified separately from the record. Otherwise, the standard behaviour is to
      use the record.website_url.
      
      Task ID: 1950396
      PR #31776
      bb358113
  18. Oct 08, 2019
  19. Oct 02, 2019
    • Romain Derie's avatar
      [IMP] website, website_*: improve edit in backend feature · 9b38bcec
      Romain Derie authored
      *base, website_blog, website_event, website_forum, website_slides
      
      With this commit:
      1. It is now possible to add the 'Edit in backend' entry in the frontend navbar
         for any desired model, not only the ones which have the published mixin.
         It will simply redirect to the main_object form view.
         This commit add it to Forum and Blog.
      2. When clicking on 'Edit in backend', it is now possible to land on another
         module than Website.
         That's especially useful for events and slides which are not directly
         related to the website module as they have their own module.
      3. Remove the custom Edit in backend from the forum homepage (fa-cog).
         Opportunity was also taken to remove the 'edit welcome message'.
         It will now be editable through the editor (welcome message will appear in
         edit mode). Thus we got rid of the custom edit welcome message controller
         and views.
      
      Closes #36325
      9b38bcec
  20. Sep 25, 2019
    • laa's avatar
      [FIX] eLearning, forum : tab visibility · 69ea10d2
      laa authored
      
      From Website (Frontend) --> From the Courses --> From a course (with settings course : Course type = "Documentation" & Forum mentioned):
            The tab for the forum isn't there
      
      From Website (Frontend) --> From the Courses --> From a course (with settings course : Course type = "Documentation" &  "Allow rating on Course" disabled):
            The tab for the review is always there
      
      From Website (Frontend) --> From the Forum --> From a course (with settings course : Course type = "Documentation" & "Allow rating on Course" activivated):
           Click the tab for the review, the returned view is the course tab and not the review tab
      
      From Website (Frontend) --> From the Forum  --> From a course (with settings course : "Allow rating on Course" disabled):
           The tab for the review is always there
      
      closes odoo/odoo#37436
      
      Task-id:  2074030
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      69ea10d2
  21. Sep 24, 2019
  22. Sep 19, 2019
    • Florent Lejoly's avatar
      [FIX] website_slides: remove creation of quizz in reporting · 397f86b9
      Florent Lejoly authored
      
      Currently in the slide.question view it is possible to open a form
      to create new questions for quizzes, but it is impossible to fill the form with
      the required information to create a new question. So the create button has no purpose.
      This as "slide_id" is required but can't be set in the form.
      Now the option to add question from the reporting tab 'Quizzes'
      is removed as the questions (with the answers) are added in the form from
      slide.slide.
      
      closes odoo/odoo#37117
      
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      397f86b9
    • Sébastien Theys's avatar
      [IMP] *: remove image_64 and clean views · b6288e54
      Sébastien Theys authored
      
      There are too many image sizes. Since they are stored resized this takes time to
      generate when saving a new image, it's more rows on the attachment table, more
      files on the disk, ...
      
      64px is close enough to 128px that it can be removed without a big impact on
      download size.
      
      It will even reduce download and number of requests when both images are
      displayed because now only one has to be downloaded and then benefit from cache.
      
      The difference between the two is typically around 1.5kB which is negligible
      these days, especially when the request overhead is around 0.5kB already, not
      even taking into account other factors such as latency.
      
      If a 64px image must absolutely be returned, it is still possible to pass the
      size parameters to the image route. But the current guideline is to handle
      resizing in the views when necessary.
      
      Views
      =====
      
      - remove width and height attributes when existing CSS rules are overriding them
        (eg. `.oe_kanban_avatar` in the right context)
      - add CSS rules instead of width and height attributes when possible
      - use `object-fit: cover;` where width and height are forced to avoid distortion
        of non-square images
      - for products, use `object-fit: contain;` instead, keep ratio but without crop
      - add new CSS rules where the expected size was max 64px*64px before due to the
        image size itself
      - remove `img-fluid` where using size classes to avoid conflicting rules
      
      task-2060865
      
      closes odoo/odoo#36147
      
      Signed-off-by: default avatarSébastien Theys (seb) <seb@odoo.com>
      b6288e54
  23. Sep 13, 2019
    • laa's avatar
      [IMP] website_slide: add toggle button achievement · 443b44c9
      laa authored
      
      Add an option to add the latest achievements in the right sidebar.
      
      closes odoo/odoo#36870
      
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      443b44c9
    • Thibault Delavallée's avatar
      [FIX] website_{slides, profile}: fix display of not square user image · 98f847be
      Thibault Delavallée authored
      When having not square images for user avatar several issues appear
      
        * website_slides: heroes of the week banner is broken as circles are not
          circles anymore. They look more like UFOs or funny snowmen;
        * website_slides: my user status / leaderboard / achievements card display
          is broken as image may take much more width than planned;
        * website_slides: channel page view displays user avatar when having joined
          it, and it is broken;
        * website_profile: user avatars in top 3 of users karma ranking is broken.
      
      In this commit we apply strict rules on width / height combined to an object
      fit in order to always have a bioutifoul displayed circled image.
      
      Task 2065425 (avatar ratio badly displayed)
      PR #36756
      98f847be
    • Thibault Delavallée's avatar
      [FIX] website_slides: make content stat button redirection match counters · 477b73ed
      Thibault Delavallée authored
      Course content counters count only published content while content stat button
      redirects to all contents. Solution to this mismatch is to apply a search
      filter on button action to display published ontent by default.
      
      Also remove unnecessary action. Using a type="edit" seems sufficient, no need
      to define a python method just for that purpose.
      
      Task 2067324 (counters / action on content mismatch)
      PR #36756
      477b73ed
  24. Sep 11, 2019
  25. Sep 04, 2019
    • Thibault Delavallée's avatar
      [IMP] website_{rating, slides}: allow to manage attachments when updating reviews · a08845d2
      Thibault Delavallée authored
      PURPOSE
      
      Allow to manage attachments when updating a frontend review.
      
      SPECIFICATIONS
      
      Currently when posting a review in eLearning or eCommerce one can attach
      files to its review thanks for portal composer. Rating popup composer allow
      to update its comment and rating. However this edit mode has two limitations.
      It does not display attachments previously added and does not allow to add
      attachments.
      
      This commit fixes that by
      
        * giving attachment values to the composer, allowing its display by the
          composer display at startup;
        * allowing to give new attachments and properly handle them in slides
          route;
      
      Uploaded and validated attachments cannot be removed by users. Indeed
      message with attachments has probably already be sent to people and removing
      attachments would lead to information loss.
      
      LINKS
      
      Task 2066600 (manage attachments)
      Task 2058595 (eLearning v13 testing)
      a08845d2
  26. Sep 03, 2019
    • Michaël Mattiello's avatar
      [FIX] website_slides: fixes some display issues in eLearning frontend · 37bf69dd
      Michaël Mattiello authored
      Fix some display issues in eLearning
      
        * fix the share button in documentation. It was not working as model was
          not correctly placed;
        * fix top3 users banners broken in mobile;
        * fix left menu of fullscreen being behind content on mobile (image, video);
        * removed upload button in training channel aside as there are already
          buttons available for that purpose;
      
      Task 2049640 (website slides back2basics and fiximp)
      37bf69dd
    • Michaël Mattiello's avatar
      [IMP] website_slides_{*}: improve backend UI, views and user actions · 8c9473fd
      Michaël Mattiello authored
      Purpose of this commit is to perform a back2basics on eLearning backend
      views. It helps users in their daily use of eLearning and improve UI.
      
      Containing
      
        * channel kanban view tweaking;
        * channel form view: some spacing and renaming improvements. Also set
          advanced field (new content email, share template) as group no one;
      
        * slide kanban view tweaking;
        * removed sections from kanban and list view for contents;
        * contents form view: various improvements, with notably
      
          * removed field website_url;
          * set publishded date is now readonly, tracked and in group_no_one as
            it is automatically set when publishing the lesson, and people should
            not update it manually;
          * removed the sum "Content" and replaced it by a stat button
          * reword quiz constraint error messages;
      
        * rating views improvements:
          * revamped the kanban view of rating that were a bit broken;
          * added a pivot view in Reporting/Reviews;
          * updated graph view in Reporting/Reviews;
      
      This commit also provides some usability fixes
      
        * prevent sending email if new content is category;
        * email: Prevent displaying an image if there is no image;
      
      LINKS
      
      Task 2049640 (website slides back2basics and fiximp)
      Task 2058595 (eLearning v13 testing)
      8c9473fd
    • laa's avatar
      [FIX] website_slides: correctly set sequence of newly added content · c4eba6f5
      laa authored
      
      Purpose of this commit is to add new content at last position in frontend.
      Indeed backend uses last position in embedded list view, frontend should
      do the same. Moreover when having a lot of content, having everything at
      the bottom of the screen at the same position of Add content / section
      buttons makes sens.
      
      Specifications
      
        * when adding a new category: add it as last category;
        * when adding a new slide in a category: add it as last slide of the
          category;
      
      Specific case of slide without category
      
        * when adding a new slide without category: add it as last slide of the
          channel (display it as last) but keep it on top in backend view
          (display as first);
      
      Improve content list display in frontend of eLearning
      
        * contents without section are now at the bottom;
        * fixed alignment of buttons icon (Add Content and Add Section)
        * fixed broken design because of title too long
      
      Task 2049640 (website slides back2basics and fiximp)
      Task 2061672 (new content bug report)
      
      Co-Authored-By: default avatarMichaël Mattiello <mcm@odoo.com>
      Co-Authored-By: default avatarAlexis Lacroix <laa@odoo.com>
      c4eba6f5
    • Thibault Delavallée's avatar
      [FIX] website_slides: do not allow fullscreen to bypass ACLs · 3f4bd440
      Thibault Delavallée authored
      Currently fullscreen takes all information from categorized slides to
      display its menu. In order to avoid calls to server some information
      is prepared in DOM to speedup loading. It means slide information is
      available even when not being member of a course which leads to some content
      leak.
      
      This commit fixes that by correctly checking that a slide can be accessed
      before allowing to have access to its information and embedded code. Access
      of a slide is either member of a course, either course publisher.
      
      Task 2058595 (eLearning v13 testing)
      Task 2064112 (fullscreen bug report)
      3f4bd440
    • Sébastien Theys's avatar
      [IMP] website, website_event, website_slides: add rel=canonical tag · 1781041f
      Sébastien Theys authored
      
      The canonical tag is important for SEO, indeed it prevents search engines from
      indexing duplicate content.
      
      Reasoning
      =========
      
      The choice has been made to create the canonical tag automatically depending on
      the request path, ignoring the query string, and manually prefixing the
      appropriate domain and language code.
      
      Indeed creating it manually for each resource would create a lot of code and
      potential mistakes.
      
      It is more dangerous to do it the generic way, but after investigation it
      appears that it is an acceptable trade-off since the vast majority of our routes
      are well built and already ready for this:
      
      - using query string only for minor features that do not change the main content
      - having the models, the ids, the pager and other important features in the path
      
      Override
      ========
      
      It is still possible to override the default behavior by passing
      `canonical_params` manually to the view or to the different methods.
      
      This is done for `/event` because the only way to display Past Events is to add
      `date=old`.
      
      Languages
      =========
      
      Fix an issue where it was possible for a bot to be on the URL without language
      code but to use a language that is not the default language.
      
      Adapt hreflang, because it:
      - must only be present on canonical pages
      - must always lead to canonical pages
      - should not be set if there is no alternate language
      
      Misc
      ====
      
      task-1958075
      closes #12532
      
      Inspired by OCA module `website_canonical_url` courtesy of Jairo Llopis.
      
      closes odoo/odoo#35852
      
      Signed-off-by: default avatarJérémy Kersten (jke) <jke@openerp.com>
      
      
      Co-authored-by: default avatarJairo Llopis <jairo.llopis@tecnativa.com>
      Co-authored-by: default avatarSébastien Theys <seb@odoo.com>
      1781041f
  27. Aug 30, 2019
  28. Aug 20, 2019
  29. Aug 28, 2019
    • Thibault Delavallée's avatar
      [IMP] website_slides: add a publisher tour · ff768a06
      Thibault Delavallée authored
      PURPOSE
      
      Test frontend and UI tools of eLearning.
      
      SPECIFICATIONS
      
      This commit adds a course tour that test a flow for course publishers. Main
      steps of this tour are :
      
        * a user (website publisher) creates a course;
        * he updates it;
        * he creates some lessons in it;
        * he publishes it;
      
      LINKS
      
      Task ID 1937768
      ff768a06
Loading