Skip to content
Snippets Groups Projects
  1. Dec 24, 2019
    • 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 20, 2019
  3. Dec 02, 2019
    • Thibault Delavallée's avatar
      [REF] {website_}mail: move and replace published field of mail.message to is_internal · 5649fc88
      Thibault Delavallée authored
      PURPOSE
      
      Clean posting process and improve mail.message definition and comprehension.
      
      SPECIFICATIONS
      
      Website mail defines a website_published field allowing to publish / unpublish
      comments on the frontend of some modules. This field has several drawbacks :
      
        * it is used only for front-end people (portal, public) and has no real
          effect in chatter / classic discussions;
        * it is used only in some advanced front-end module and is not available
          in portal by default;
        * its naming is not really correct as it is not linked to fields coming
          from the website_published mixin and its behavior is not really
          the same;
        * its use is a bit duplicated with internal flag coming from subtype
          allowing to hide messages related to an internal subtype;
        * there are overrides of standard mail.message methods just to handle
          this flag;
      
      In this commit we change that field by an is_internal flag directly on
      mail.message model itself. It tells if share people (customers, share users)
      are allowed to read the message. This field can be given through posting
      API or set manually using widgets. It is also used in access rights custom
      methods and managed like the internal flag of subtypes.
      
      Mailgateway was already using an internal flag for internal note replies. It
      is renamed to is_internal and propagated as it is now a standard field. It
      also eases code understanding.
      
      Portal is updated to allow managing the flag directly. It means customer portal
      now natively allows to moderate customer comments without any need of website
      modules.
      
      Rating is updated accordingly. An is_internal field is added, replacing the
      related on website published.
      
      LINKS
      
      Task ID 2071556
      PR #38692
      5649fc88
    • 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
  4. Nov 29, 2019
    • 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
  5. Nov 22, 2019
  6. 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
  7. Nov 06, 2019
    • Patrick Hoste's avatar
      [IMP] website_slides: add an animation when user levels up · c957949b
      Patrick Hoste authored
      
      PURPOSE
      
      If a user levels up after passing a quiz, we want to clearly show him in the success modal that he
      actually passed a level instead of just showing his new rank and xp gauge.
      
      This commit introduces an animation with the progress bar when the user is levelling up.
      
      After reaching the upper bound of the next level:
      - The progress bar goes back to 0 ;
      - The lower/upper bounds change to reflect the new reached level bounds ;
      - The message "Amazing!" becomes "Level Up!" ;
      - The motivational phrase changes with a fade out/fade in animation.
      
      LINKS
      
      PR : #39870
      Task ID : 2032649
      
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      Co-authored-by: default avatarAurélien Warnon <awa@odoo.com>
      c957949b
  8. Oct 28, 2019
    • Jeremy Kersten's avatar
      [IMP] website*: clean sitemap · e19227d3
      Jeremy Kersten authored
      
      From now, you need to explicitely add sitemap=True if you want your controller
      into the sitemap.
      
      It's the default value, but if you forgot it, it will raise a Warning on runbot.
      It will avoid wrong controller in sitemap and duplicate (empty) content.
      
      From now, if your model contains a field website_id, the modelConverter for
      sitemap will automatically add the domain:
         "[('website_id', 'in', (False, current_website_id))]"
      
      It avoid redundant declaration and ugly url in redirect/rewrite view.
      
      Migration: need to remove it from url_from in website.rewrite
      
      task-2065018
      
      closes odoo/odoo#39427
      
      Signed-off-by: default avatarJérémy Kersten (jke) <jke@openerp.com>
      e19227d3
  9. Oct 23, 2019
  10. 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
  11. Sep 24, 2019
  12. Sep 19, 2019
    • 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
  13. Sep 13, 2019
  14. 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
  15. Sep 03, 2019
    • 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
  16. Aug 30, 2019
  17. Aug 22, 2019
    • mcm-odoo's avatar
      [IMP] website_slides: add modal to (un)subscribe or leave a course · addaec12
      mcm-odoo authored
      - Before it was not possible to leave a course.
      - This commit adds a modal to give the members the possibility to leave
        the course and also subscribe or unsubscribe to get notified or not.
        + Display a warning message when leaving if field enroll value is "payment".
      
      task-1985511
      addaec12
  18. Aug 19, 2019
  19. Aug 08, 2019
    • Aurélien Warnon's avatar
      [FIX] website_slides: fix error message display on upload · 654e9dd6
      Aurélien Warnon authored
      When uploading twice the same video for a channel, the error message displayed unhandled html.
      We removed the html to avoid having to use $el.html() for better safety (and it should not happen often anyway).
      654e9dd6
    • qmo-odoo's avatar
      [REF] website_slides: replace slide.category by slide with is_category flag · b180c66a
      qmo-odoo authored
      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
      b180c66a
  20. Aug 12, 2019
    • mcm-odoo's avatar
      [IMP] website_slides: add button to install Surveys application in Slide Upload modal · 2ab0bd32
      mcm-odoo authored
      PURPOSE
      
      Ease discovering of eLearning features by allowing to install surveys
      directly from frontend in order to allow certification.
      
      SPECIFICATIONS
      
      Add a button in Upload a document to install Surveys. This button only
      appears if surveys is not installed.
      
      When button is clicked, ask for confirmation before installing survey.
      
      LImitate this feature to group system: system people should see the button
      and use standard ACLS about module installation.
      
      LINK
      
      Task ID 2026846
      2ab0bd32
    • Aurélien Warnon's avatar
      [REF] website_slides: remove index_content field from slide.slide · 5e4f37a1
      Aurélien Warnon authored
      The 'index_content' field was only filled when uploading from the frontend.
      That would lead to inconsistent results when creating/updating 'presentation' slides from the slide.slide form view.
      The field was also not cleaned if the slide content changed.
      
      As it's usage was not very clear (only on a 'search', and not very intuitive), we simply removed the field.
      5e4f37a1
    • Aurélien Warnon's avatar
      [REF] website_slides: improve duration computation of a slide/course · 5269d8c2
      Aurélien Warnon authored
      The completion time of a slide now has default values for slides of type
      
        * video (duration of the YouTube video);
        * PDF (number of pages * 5 minutes);
      
      This computation is done when uploading a slide in frontend or by an onchange
      in backend. Field can still be given / modified by elearning people as
      result may not be reliable (pdf parsing is not accurate, and/or you may
      estimate time differently from strict page-based computation).
      
      The course will sum up all durations of its (active) slides. Display has been
      changed from "x minutes" to "x hours y minutes".
      
      Task ID 2007294
      5269d8c2
  21. Aug 05, 2019
  22. Aug 03, 2019
    • Romain Derie's avatar
      [IMP] *: correctly read/write website_published · cc1d78a8
      Romain Derie authored
      The `website_published` field from the website's mixins is basically a readonly
      from `is_published` field.
      On read, this field will simply read `is_published` and check if the record's
      website_id is accessible (only for the multi mixin).
      On write, it will always write on `is_published`.
      
      This commit improves a few things:
      - A lot of code was writting on website_published which was just then writting
        on is_published. Writting directly on is_published makes more sense.
      - Some backend fields would still reference `website_published` instead of
        `is_published` which would just go through the related for no reason.
        Plus, using `is_published` will make the field tooltip more accurate as we
        are not in a website context ('Visible on current website' to 'Is Published')
      - Filter and search on tree view were still using the `website_published`
        related field, which is just a readonly when we are not in a frontend
        context.
      - Some create and write function would have security check on
        `website_published` value but that was wrong as the user could bypass that by
        simply writting on `is_published`. For the write method, check `is_published`
        is more accurate as it will cover both case since `website_published` will
        then call the write method on `is_published`
      cc1d78a8
  23. Aug 02, 2019
    • Sébastien Theys's avatar
      [IMP] *: use image.mixin when appropriate · 1e977288
      Sébastien Theys authored
      The following models are already using big images, or they might need big images
      in the future:
      
      - partner
      - hr employee
      - shop category
      - lunch product
      - gamification badge and karma rank
      
      PR: #34925
      1e977288
    • Sébastien Theys's avatar
      [IMP] *: rename image fields · 58a2ffa2
      Sébastien Theys authored
      image_original => image_1920 (now resized to 1920)
      image_big => image_1024
      image_large => image_256
      image_medium => image_128
      image_small  => image_64
      image replaced by image_1920 (when writing) or by image_1024 (when displaying
      	what was previously the big size)
      
      + add new intermediate format:
      image_512
      
      PR: #34925
      58a2ffa2
  24. Jun 24, 2019
    • qmo-odoo's avatar
      [IMP] website(_sale)_slides: Add login,join,buy button on quiz · cd8afe85
      qmo-odoo authored
      
      This commit improves the elearning onboarding on the quizzes
      
      If the user is not logged in, a log in button will show up under
      the quiz
      
      If he is logged in but not a member of the course and the course is public,
      a join button will appear under the quiz
      
      If the course needs to be bought, a buy button will appear under the quiz.
      
      If the course is on invite only, a message under the quiz will inform the
      user about it
      
      TaskID: 2003986
      PR: #33861
      
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      cd8afe85
  25. Jun 28, 2019
    • Thibault Delavallée's avatar
      [FIX] website_profile: fix leaderboard / top3 computation · d5f8e399
      Thibault Delavallée authored
      Contains some small fixes
      
        * correctly order leaderboard by descending karma, not creation date;
        * top 3 users displayed in footer banner should be published, otherwise
          displayed images do not match the top 3 displayed in the page displayed
          when clicking;
        * correctly say Leaderboard is an overall leaderboard, not only limited
          to the current week;
      
      Linked to task 2005840
      Related to PR #34220
      d5f8e399
  26. Jun 18, 2019
  27. Jun 14, 2019
  28. Jun 13, 2019
  29. Jul 19, 2019
  30. Jul 18, 2019
  31. May 29, 2019
    • Thibault Delavallée's avatar
      [FIX] website_slides: propose to signup instead of login · 8c642167
      Thibault Delavallée authored
      
      When joining a course of liking a slide if the user is not logged there
      is a popover asking him to login. If auth signup allows user creation
      link instead redirects to signup instead of login to save a click and
      improve onboarding.
      
      closes odoo/odoo#33755
      
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      8c642167
    • Denis Ledoux's avatar
      [FIX] website_slides: order channels by the natural order when unspecified · b85a135a
      Denis Ledoux authored
      
      In the backend, the user has the possibility in the channels list to drag and drop
      channels to define their order, thanks to the `sequence`.
      
      This order was then not respected in the front-end when displaying the slides channel
      `/slides/all`.
      This was basically not possible for the user to control the order in which
      the channels were displayed.
      
      With this revision, when the order is not specified to the controller,
      or is wrong, it fallbacks to `None`, which therefore follows the slides channel natural
      order, which is `sequence, id`. The user can now control the order of the slides channels
      in the front-end.
      
      closes odoo/odoo#33745
      
      Signed-off-by: default avatarThibault Delavallee (tde) <tde@openerp.com>
      b85a135a
Loading