I know. You should not refer to strings from other plugins, but
* qformat_webct is importing multichoice questions in that bit of code.
I suppose a pedant would say that qformat_webct should declare dependencies
on all the qtypes it relies on, but that would be silly.
* Lesson should be using the question engine, rather than doing its own thing.
There is one point where it restricted the list of users. I have
fixed this and also altered the (only) script that calls that function
so that it obtains a cm_info $cm rather than the old sort.
There were previously no Behat tests at all in this module. In order
to be confident that I didn't break it, I have implemented a Behat
test (which should also be useful in general as it does go through
other pages on the way to get to the relevant one).
The availability restrictions that apply to user lists (group, grouping)
now apply in workshop:
* In user lists.
* When randomly allocating users (also now works as expected if you use
group mode and a grouping with the activity).
Updated code to restrict list of users. Also includes changes to
ensure that a cm_info object is available (required for availability
checks).
There is a tweak to upgradelib to reflect the different fields used.
(Note that upgradelib is not used during upgrade, but only when
converting assignments from the old assignment module.)
This only affects the quiz overrides form, as groupmembersonly was
not used elsewhere. The change simply restricts the list of users
shown when selecting somebody for overrides.
Some additional code is needed to (efficiently) load the $cm object
as a cm_info so that the availability API can be used on it.
* Upgrades existing data so that the groupmembersonly option is
replaced with equivalent data for the new availability API.
* Removes the database field and admin setting used for
groupmembersonly.
* Changes core modinfo library to remove/deprecate groupmembersonly
data and functions.
* Changes other core library files to remove groupmembersonly
references.
Includes deprecation of several functions, listed in lib/upgrade.txt.
LTI's activity table used to have a float
field for the grade. Now it is an integer
so we must restore the grade as an integer
so it matches the table schema.
Note that this is a very basic conversion without doing any refactoring
to split the tasks up better. That will come in MDL-44734, this is about
being a safe backportable change to give admins better control over the
running of the forum cron task.