Proyectos de Subversion Moodle

Rev

Rev 1 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 1 Rev 1441
Línea 81... Línea 81...
81
     * @param field_controller|null $field
81
     * @param field_controller|null $field
82
     * @return data_controller
82
     * @return data_controller
83
     * @throws \coding_exception
83
     * @throws \coding_exception
84
     * @throws \moodle_exception
84
     * @throws \moodle_exception
85
     */
85
     */
86
    public static function create(int $id, \stdClass $record = null, field_controller $field = null): data_controller {
86
    public static function create(int $id, ?\stdClass $record = null, ?field_controller $field = null): data_controller {
87
        global $DB;
87
        global $DB;
88
        if ($id && $record) {
88
        if ($id && $record) {
89
            // This warning really should be in persistent as well.
89
            // This warning really should be in persistent as well.
90
            debugging('Too many parameters, either id need to be specified or a record, but not both.',
90
            debugging('Too many parameters, either id need to be specified or a record, but not both.',
91
                DEBUG_DEVELOPER);
91
                DEBUG_DEVELOPER);
Línea 198... Línea 198...
198
    public function instance_form_save(\stdClass $datanew) {
198
    public function instance_form_save(\stdClass $datanew) {
199
        $elementname = $this->get_form_element_name();
199
        $elementname = $this->get_form_element_name();
200
        if (!property_exists($datanew, $elementname)) {
200
        if (!property_exists($datanew, $elementname)) {
201
            return;
201
            return;
202
        }
202
        }
203
        $value = $datanew->$elementname;
203
        $datafieldvalue = $value = $datanew->{$elementname};
-
 
204
 
-
 
205
        // For numeric datafields, persistent won't allow empty string, swap for null.
-
 
206
        $datafield = $this->datafield();
-
 
207
        if ($datafield === 'intvalue' || $datafield === 'decvalue') {
-
 
208
            $datafieldvalue = $datafieldvalue === '' ? null : $datafieldvalue;
-
 
209
        }
-
 
210
 
204
        $this->data->set($this->datafield(), $value);
211
        $this->data->set($datafield, $datafieldvalue);
205
        $this->data->set('value', $value);
212
        $this->data->set('value', $value);
206
        $this->save();
213
        $this->save();
207
    }
214
    }
Línea 208... Línea 215...
208
 
215