1. 07 Oct, 2021 1 commit
  2. 18 Mar, 2021 1 commit
  3. 15 Jul, 2015 1 commit
  4. 20 Feb, 2015 1 commit
  5. 27 Jan, 2015 1 commit
  6. 18 Sep, 2014 1 commit
  7. 02 Sep, 2014 2 commits
  8. 25 Aug, 2014 1 commit
  9. 14 May, 2014 1 commit
  10. 11 Apr, 2014 1 commit
    • sam marshall's avatar
      MDL-45027 Availability API: Better handling of invalid data in GUI · 2a848ab9
      sam marshall authored
      If there is invalid data in the availability condition (note: this
      should not happen, but can do in unusual situations, such as
      specifying a date after 2038 in 32-bit PHP), this should not
      leave the course so broken that users cannot edit the activity and
      update it.
      2a848ab9
  11. 08 Apr, 2014 2 commits
    • sam marshall's avatar
      MDL-44070 Conditional availability enhancements (3): conditions · e01efa2c
      sam marshall authored
      Includes all the conditions that were in previous Moodle versions:
      
      * Date
      * Grade
      * Completion (of another activity)
      * User profile field
      
      Also includes conditions that are used to reimplement
      groupmembersonly:
      
      * Grouping
      * Group
      
      For each condition, the component plus unit tests are included.
      
      PLEASE NOTE: The code to actually check each condition is reused
      from previous Moodle versions and has not been modified except to
      pass codechecker. This is intentional, to reduce the risk of the
      change and maximise the chance that behaviour is preserved. Some
      of this code might not be very good and might need updating but
      that can happen separately.
      
      AMOS BEGIN
       CPY [contains,core_condition],[op_contains,availability_profile]
       CPY [doesnotcontain,core_condition],[op_doesnotcontain,availability_profile]
       CPY [endswith,core_condition],[op_endswith,availability_profile]
       CPY [isempty,core_condition],[op_isempty,availability_profile]
       CPY [isequalto,core_condition],[op_isequalto,availability_profile]
       CPY [isnotempty,core_condition],[op_isnotempty,availability_profile]
       CPY [startswith,core_condition],[op_startswith,availability_profile]
       CPY [completion_fail,core_condition],[option_fail,availability_completion]
       CPY [completion_pass,core_condition],[option_pass,availability_completion]
       CPY [completion_complete,core_condition],[option_complete,availability_completion]
       CPY [completion_incomplete,core_condition],[option_incomplete,availability_completion]
      AMOS END
      e01efa2c
    • sam marshall's avatar
      MDL-44070 Conditional availability enhancements (2): subsystem, API · d3db4b03
      sam marshall authored
      This commit defines the new /availability root folder, with
      /availability/classes, /availability/tests, and
      /availability/condition where the condition plugins will live.
      Condition plugin prefix is availability_, e.g. availability_date.
      
      Rationale for this organisation:
      
      1. I was originally going to put this in /lib/availability but
         it has been pointed out that putting even more junk in lib
         is probably bad.
      2. 'availability' and 'condition' are the two names used in code
         to refer to this system ($CFG->enableavailability).
      3. The prefix has to be short enough to allow database tables
         (although in practice I assume that condition plugins will not
         normally contain database tables).
      
      The new API includes a Boolean tree structure that controls the
      availability of an item.
      
      AMOS BEGIN
       CPY [availabilityconditions,core_condition],[restrictaccess,core_availability]
       CPY [enableavailability,core_condition],[enableavailability,core_availability]
       CPY [configenableavailability,core_condition],[enableavailability_desc,core_availability]
      AMOS END
      d3db4b03