Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
integration
prechecker
Commits
0dbd2594
Commit
0dbd2594
authored
Sep 21, 2015
by
Dan Poltawski
Browse files
Merge branch 'MDL-48165-28-dimgrades' of
git://github.com/mudrd8mz/moodle
into MOODLE_28_STABLE
parents
0c73e533
fa36f1d1
Changes
3
Hide whitespace changes
Inline
Side-by-side
mod/workshop/form/edit_form.php
View file @
0dbd2594
...
...
@@ -80,6 +80,23 @@ class workshop_edit_strategy_form extends moodleform {
$mform
->
closeHeaderBefore
(
'buttonar'
);
}
/**
* Validate the submitted form data.
*
* Grading strategy plugins can provide their own validation rules by
* overriding the {@link self::validation_inner()} method.
*
* @param array $data
* @param array $files
* @return array
*/
final
public
function
validation
(
$data
,
$files
)
{
return
array_merge
(
parent
::
validation
(
$data
,
$files
),
$this
->
validation_inner
(
$data
,
$files
)
);
}
/**
* Add any strategy specific form fields.
*
...
...
@@ -89,4 +106,14 @@ class workshop_edit_strategy_form extends moodleform {
// By default, do nothing.
}
/**
* Add strategy specific validation rules.
*
* @param array $data
* @param array $files
* @return array
*/
protected
function
validation_inner
(
$data
,
$files
)
{
return
array
();
}
}
mod/workshop/form/rubric/edit_form.php
View file @
0dbd2594
...
...
@@ -103,4 +103,48 @@ class workshop_edit_rubric_strategy_form extends workshop_edit_strategy_form {
$mform
->
setDefault
(
'config_layout'
,
'list'
);
$this
->
set_data
(
$current
);
}
/**
* Provide validation rules for the rubric editor form.
*
* @param array $data
* @param array $files
* @return array
*/
protected
function
validation_inner
(
$data
,
$files
)
{
$errors
=
array
();
// Iterate over all submitted dimensions (criteria).
for
(
$i
=
0
;
isset
(
$data
[
'dimensionid__idx_'
.
$i
]);
$i
++
)
{
$dimgrades
=
array
();
if
(
0
==
strlen
(
trim
(
$data
[
'description__idx_'
.
$i
.
'_editor'
][
'text'
])))
{
// The description text is empty and this criterion will be deleted.
continue
;
}
// Make sure the levels grades are unique within the criterion.
for
(
$j
=
0
;
isset
(
$data
[
'levelid__idx_'
.
$i
.
'__idy_'
.
$j
]);
$j
++
)
{
if
(
0
==
strlen
(
trim
(
$data
[
'definition__idx_'
.
$i
.
'__idy_'
.
$j
])))
{
// The level definition is empty and will not be saved.
continue
;
}
$levelgrade
=
$data
[
'grade__idx_'
.
$i
.
'__idy_'
.
$j
];
if
(
isset
(
$dimgrades
[
$levelgrade
]))
{
// This grade has already been set for another level.
$k
=
$dimgrades
[
$levelgrade
];
$errors
[
'level__idx_'
.
$i
.
'__idy_'
.
$j
]
=
$errors
[
'level__idx_'
.
$i
.
'__idy_'
.
$k
]
=
get_string
(
'mustbeunique'
,
'workshopform_rubric'
);
}
else
{
$dimgrades
[
$levelgrade
]
=
$j
;
}
}
}
return
$errors
;
}
}
mod/workshop/form/rubric/lang/en/workshopform_rubric.php
View file @
0dbd2594
...
...
@@ -33,5 +33,6 @@ $string['layoutgrid'] = 'Grid';
$string
[
'layoutlist'
]
=
'List'
;
$string
[
'levelgroup'
]
=
'Level grade and definition'
;
$string
[
'levels'
]
=
'Levels'
;
$string
[
'mustbeunique'
]
=
'Level grades must be unique within a criterion'
;
$string
[
'mustchooseone'
]
=
'You have to select one of these items'
;
$string
[
'pluginname'
]
=
'Rubric'
;
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment