1. 04 Oct, 2021 2 commits
  2. 16 Sep, 2021 1 commit
    • Ferran Recio Calderó's avatar
      MDL-72566 completion: fix missing mod bug · cb39d0d2
      Ferran Recio Calderó authored
      MDL-71899 produces a regression. When an activity plugin is not present
      but it has activities in the DB the course view returns an exception.
      With this patch the code will ignore missing modules when calculating
      the completion.
      cb39d0d2
  3. 09 Sep, 2021 1 commit
    • Huong Nguyen's avatar
      MDL-71899 performance: Improve activity completion data caching · 31506121
      Huong Nguyen authored
       - Modified SQL in get_data() to get the activity completion of all course modules without calling get_fast_modinfo() to reduce the DB queries.
       - Building activity completion cache for the whole course in one time instead of building the cache for each course module by passing $wholecourse = true to get_data()
      31506121
  4. 13 Jul, 2021 1 commit
  5. 18 Jun, 2021 1 commit
  6. 19 May, 2021 1 commit
    • David Mudrák's avatar
      MDL-71659 completion: Consider modules without grade_item incomplete · a949a151
      David Mudrák authored
      Activity modules may not have the associated grade_item created yet. It
      used to throw fatal error in that case - even when trying to view the
      course or edit the activity. So there was no easy way to recover from
      this situation.
      
      The patch is based on reasoning that an activity without grade item is
      same as activity without any grades. And as such it is considered
      incomplete.
      
      A new unit test is added to cover this specific scenario. The existing
      unit test is modified and it does not expect the exception any more.
      There does not seem to be any good reason why this situation should be
      exceptional.
      a949a151
  7. 11 May, 2021 1 commit
  8. 04 May, 2021 1 commit
    • Michael Hawkins's avatar
      MDL-71401 core_completion: Fix completion status caching · 8e843696
      Michael Hawkins authored
      When an automatic completion condition may have had its state change,
      we now unset the cached value for the user's completion in the relevant
      activity, so up-to-date values are re-fetched and available to students.
      The previous behaviour was that custom conditions would remain cached
      until the activity reached overall completion.
      8e843696
  9. 27 Apr, 2021 1 commit
  10. 22 Apr, 2021 1 commit
    • jun's avatar
      MDL-71144 completion: Deprecate get_completion_state callbacks · d0963c71
      jun authored and Shamim Rezaie's avatar Shamim Rezaie committed
      * *_get_completion_state() callback functions have been deprecated and
      should no  longer be used. Plugins that define custom completion rules
      must implement the mod_[modname]\completion\custom_completion class that
      extends the \core_completion\activity_custom_completion base class.
      d0963c71
  11. 02 Apr, 2021 1 commit
  12. 25 Mar, 2021 1 commit
  13. 23 Mar, 2021 1 commit
  14. 11 Mar, 2021 1 commit
    • jun's avatar
      MDL-70815 completion: Cast custom data to array · fc238f32
      jun authored and Sara Arjona's avatar Sara Arjona committed
      Since cm_info::customdata can be of any type, we need to cast it to an
      array first before checking for custom completion rules. Otherwise,
      an exception can be thrown (e.g. customdata has been set as an stdClass)
      fc238f32
  15. 10 Mar, 2021 1 commit
    • sam marshall's avatar
      MDL-45242 Lib: Replace calls to deprecated functions · 558cc1b8
      sam marshall authored
      In all cases changes have been kept to a minimum while not making
      the code completely horrible. For example, there are many instances
      where it would probably be better to rewrite a query entirely, but
      I have not done that (in order to reduce the risk of changes).
      558cc1b8
  16. 09 Mar, 2021 2 commits
    • jun's avatar
      MDL-70815 core_completion: Update completion_info · 32721b35
      jun authored
      * Update completion_info::get_data() to add other completion
      information from a new method called get_other_cm_completion_data().
      This allows the storage of the completion statuses of the following
      completion rules to completion_info objects:
        - 'Students must receive a grade' completion rule.
        - Any custom completion rule defined by an activity.
      This allows detailed completion information to be fetched for course
      modules.
      It also allows custom completion statuses to be cached which will help
      reduce DB queries when fetching completion statuses.
      * Update update_state() to fetch overall completion state from the
      module's activity_custom_completion implementation. Falls back to the
      *_get_completion_state() callback function.
      * Update internal_set_data() to include the other cm completion data
      in the updated cache data for the module instance.
      32721b35
    • jun's avatar
      MDL-70815 core_completion: completion_info::get_grade_completion() · 18ef213d
      jun authored
      Move the current logic for determining the completion status for the
      "Student must receive grade" completion rule to a function so it cann
      be reused.
      Unit test included.
      18ef213d
  17. 06 Apr, 2020 1 commit
  18. 19 Apr, 2019 1 commit
  19. 08 Apr, 2019 1 commit
  20. 05 Apr, 2019 1 commit
  21. 27 Nov, 2017 1 commit
  22. 10 Oct, 2017 3 commits
  23. 13 Jun, 2017 2 commits
  24. 07 Nov, 2016 1 commit
  25. 23 Aug, 2016 1 commit
    • sam marshall's avatar
      MDL-55628 Completion: Use simpledata for completion cache · 5c2ef08f
      sam marshall authored
      The completion cache is currently not marked as simpledata. On the
      course page it is frequently retrieved hundreds of times which results
      in many calls to the slow unserialize function. By making a slight
      change to the data format (using arrays instead of objects) we can
      mark it as simpledata, which will avoid using unserialize.
      5c2ef08f
  26. 10 Dec, 2015 1 commit
  27. 03 Jun, 2015 1 commit
  28. 02 Apr, 2015 1 commit
  29. 31 Mar, 2015 2 commits
  30. 11 Jul, 2014 1 commit
  31. 30 Apr, 2014 1 commit
  32. 28 Feb, 2014 1 commit
  33. 02 Oct, 2013 1 commit
  34. 10 Sep, 2013 1 commit