MDL-61880 core: don't clear issuer fields not present in form data
In cases where we have an id, load the persistent and then set new data before saving. This ensures we don't delete fields which are missing in the form data.
This commit is contained in:
@@ -327,7 +327,10 @@ class api {
|
||||
*/
|
||||
protected static function create_or_update_issuer($data, bool $create): issuer {
|
||||
require_capability('moodle/site:config', context_system::instance());
|
||||
$issuer = new issuer(0, $data);
|
||||
$issuer = new issuer($data->id ?? 0, $data);
|
||||
if (!empty($data->id)) {
|
||||
$issuer->set_many((array)$data);
|
||||
}
|
||||
|
||||
// Will throw exceptions on validation failures.
|
||||
if ($create) {
|
||||
|
||||
Reference in New Issue
Block a user