MDL-58217 mod_feedback: API changes to allow generators
We include a new function set_date at item level so we can add the data instead using the forms.
This commit is contained in:
@@ -55,12 +55,25 @@ abstract class feedback_item_base {
|
||||
* @return bool
|
||||
*/
|
||||
public function get_data() {
|
||||
if ($this->item !== null) {
|
||||
return true;
|
||||
}
|
||||
if ($this->item = $this->item_form->get_data()) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the item data (to be used by data generators).
|
||||
*
|
||||
* @param stdClass $itemdata the item data to set
|
||||
* @since Moodle 3.3
|
||||
*/
|
||||
public function set_data($itemdata) {
|
||||
$this->item = $itemdata;
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates and returns an instance of the form for editing the item
|
||||
*
|
||||
|
||||
@@ -81,9 +81,10 @@ class feedback_item_info extends feedback_item_base {
|
||||
public function save_item() {
|
||||
global $DB;
|
||||
|
||||
if (!$item = $this->item_form->get_data()) {
|
||||
if (!$this->get_data()) {
|
||||
return false;
|
||||
}
|
||||
$item = $this->item;
|
||||
|
||||
if (isset($item->clone_item) AND $item->clone_item) {
|
||||
$item->id = ''; //to clone this item
|
||||
|
||||
@@ -89,9 +89,10 @@ class feedback_item_label extends feedback_item_base {
|
||||
public function save_item() {
|
||||
global $DB;
|
||||
|
||||
if (!$item = $this->item_form->get_data()) {
|
||||
if (!$this->get_data()) {
|
||||
return false;
|
||||
}
|
||||
$item = $this->item;
|
||||
|
||||
if (isset($item->clone_item) AND $item->clone_item) {
|
||||
$item->id = ''; //to clone this item
|
||||
|
||||
@@ -71,9 +71,10 @@ class feedback_item_multichoice extends feedback_item_base {
|
||||
public function save_item() {
|
||||
global $DB;
|
||||
|
||||
if (!$item = $this->item_form->get_data()) {
|
||||
if (!$this->get_data()) {
|
||||
return false;
|
||||
}
|
||||
$item = $this->item;
|
||||
|
||||
if (isset($item->clone_item) AND $item->clone_item) {
|
||||
$item->id = ''; //to clone this item
|
||||
|
||||
@@ -76,9 +76,10 @@ class feedback_item_multichoicerated extends feedback_item_base {
|
||||
public function save_item() {
|
||||
global $DB;
|
||||
|
||||
if (!$item = $this->item_form->get_data()) {
|
||||
if (!$this->get_data()) {
|
||||
return false;
|
||||
}
|
||||
$item = $this->item;
|
||||
|
||||
if (isset($item->clone_item) AND $item->clone_item) {
|
||||
$item->id = ''; //to clone this item
|
||||
|
||||
@@ -76,9 +76,10 @@ class feedback_item_numeric extends feedback_item_base {
|
||||
public function save_item() {
|
||||
global $DB;
|
||||
|
||||
if (!$item = $this->item_form->get_data()) {
|
||||
if (!$this->get_data()) {
|
||||
return false;
|
||||
}
|
||||
$item = $this->item;
|
||||
|
||||
if (isset($item->clone_item) AND $item->clone_item) {
|
||||
$item->id = ''; //to clone this item
|
||||
|
||||
@@ -76,9 +76,10 @@ class feedback_item_textarea extends feedback_item_base {
|
||||
public function save_item() {
|
||||
global $DB;
|
||||
|
||||
if (!$item = $this->item_form->get_data()) {
|
||||
if (!$this->get_data()) {
|
||||
return false;
|
||||
}
|
||||
$item = $this->item;
|
||||
|
||||
if (isset($item->clone_item) AND $item->clone_item) {
|
||||
$item->id = ''; //to clone this item
|
||||
|
||||
@@ -73,9 +73,10 @@ class feedback_item_textfield extends feedback_item_base {
|
||||
public function save_item() {
|
||||
global $DB;
|
||||
|
||||
if (!$item = $this->item_form->get_data()) {
|
||||
if (!$this->get_data()) {
|
||||
return false;
|
||||
}
|
||||
$item = $this->item;
|
||||
|
||||
if (isset($item->clone_item) AND $item->clone_item) {
|
||||
$item->id = ''; //to clone this item
|
||||
|
||||
Reference in New Issue
Block a user