forked from moodle/moodle
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
MDL-54891 Block_activity_results: Allow admin defaults
- Loading branch information
1 parent
ac8d6cf
commit 03064d6
Showing
6 changed files
with
201 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,86 @@ | ||
<?php | ||
// This file is part of Moodle - http://moodle.org/ | ||
// | ||
// Moodle is free software: you can redistribute it and/or modify | ||
// it under the terms of the GNU General Public License as published by | ||
// the Free Software Foundation, either version 3 of the License, or | ||
// (at your option) any later version. | ||
// | ||
// Moodle is distributed in the hope that it will be useful, | ||
// but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
// GNU General Public License for more details. | ||
// | ||
// You should have received a copy of the GNU General Public License | ||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>. | ||
|
||
/** | ||
* Defines the form for editing activity results block instances. | ||
* | ||
* @package block_activity_results | ||
* @copyright 2016 Stephen Bourget | ||
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later | ||
*/ | ||
|
||
defined('MOODLE_INTERNAL') || die; | ||
|
||
if ($ADMIN->fulltree) { | ||
|
||
// Default high scores. | ||
$setting = new admin_setting_configtext('block_activity_results/config_showbest', | ||
new lang_string('defaulthighestgrades', 'block_activity_results'), | ||
new lang_string('defaulthighestgrades_desc', 'block_activity_results'), 3, PARAM_INT); | ||
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false); | ||
$settings->add($setting); | ||
|
||
// Default low scores. | ||
$setting = new admin_setting_configtext('block_activity_results/config_showworst', | ||
new lang_string('defaultlowestgrades', 'block_activity_results'), | ||
new lang_string('defaultlowestgrades_desc', 'block_activity_results'), 0, PARAM_INT); | ||
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false); | ||
$settings->add($setting); | ||
|
||
// Default group display. | ||
$yesno = array(0 => get_string('no'), 1 => get_string('yes')); | ||
$setting = new admin_setting_configselect('block_activity_results/config_usegroups', | ||
new lang_string('defaultshowgroups', 'block_activity_results'), | ||
new lang_string('defaultshowgroups_desc', 'block_activity_results'), 0, $yesno); | ||
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false); | ||
$settings->add($setting); | ||
|
||
// Default privacy settings. | ||
$nameoptions = array( | ||
B_ACTIVITYRESULTS_NAME_FORMAT_FULL => get_string('config_names_full', 'block_activity_results'), | ||
B_ACTIVITYRESULTS_NAME_FORMAT_ID => get_string('config_names_id', 'block_activity_results'), | ||
B_ACTIVITYRESULTS_NAME_FORMAT_ANON => get_string('config_names_anon', 'block_activity_results') | ||
); | ||
$setting = new admin_setting_configselect('block_activity_results/config_nameformat', | ||
new lang_string('defaultnameoptions', 'block_activity_results'), | ||
new lang_string('defaultnameoptions_desc', 'block_activity_results'), B_ACTIVITYRESULTS_NAME_FORMAT_FULL, $nameoptions); | ||
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false); | ||
$settings->add($setting); | ||
|
||
// Default grade display settings. | ||
$gradeoptions = array( | ||
B_ACTIVITYRESULTS_GRADE_FORMAT_PCT => get_string('config_format_percentage', 'block_activity_results'), | ||
B_ACTIVITYRESULTS_GRADE_FORMAT_FRA => get_string('config_format_fraction', 'block_activity_results'), | ||
B_ACTIVITYRESULTS_GRADE_FORMAT_ABS => get_string('config_format_absolute', 'block_activity_results') | ||
); | ||
$setting = new admin_setting_configselect('block_activity_results/config_gradeformat', | ||
new lang_string('defaultgradedisplay', 'block_activity_results'), | ||
new lang_string('defaultgradedisplay_desc', 'block_activity_results'), B_ACTIVITYRESULTS_GRADE_FORMAT_PCT, $gradeoptions); | ||
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false); | ||
$settings->add($setting); | ||
|
||
// Default decimal places. | ||
$places = array(); | ||
for ($i = 0; $i <= 5; $i++) { | ||
$places[$i] = $i; | ||
} | ||
$setting = new admin_setting_configselect('block_activity_results/config_decimalpoints', | ||
new lang_string('defaultdecimalplaces', 'block_activity_results'), | ||
new lang_string('defaultdecimalplaces_desc', 'block_activity_results'), 2, $places); | ||
$setting->set_locked_flag_options(admin_setting_flag::ENABLED, false); | ||
$settings->add($setting); | ||
|
||
} |
66 changes: 66 additions & 0 deletions
66
blocks/activity_results/tests/behat/defaultsettings.feature
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
@block @block_activity_results | ||
Feature: The activity results block can have administrator set defaults | ||
In order to be customize the activity results block | ||
As an admin | ||
I need can assign some site wide defaults | ||
|
||
Background: | ||
Given the following "users" exist: | ||
| username | firstname | lastname | email | idnumber | | ||
| teacher1 | Teacher | 1 | teacher1@example.com | T1 | | ||
| student1 | Student | 1 | student1@example.com | S1 | | ||
And the following "courses" exist: | ||
| fullname | shortname | category | | ||
| Course 1 | C1 | 0 | | ||
And the following "course enrolments" exist: | ||
| user | course | role | | ||
| teacher1 | C1 | editingteacher | | ||
| student1 | C1 | student | | ||
|
||
Scenario: Assign some site-wide defaults to the block. | ||
Given the following config values are set as admin: | ||
| config_showbest | 0 | block_activity_results | | ||
| config_showworst | 0 | block_activity_results | | ||
| config_gradeformat | 2 | block_activity_results | | ||
| config_nameformat | 2 | block_activity_results | | ||
And I log in as "teacher1" | ||
And I follow "Course 1" | ||
And I turn editing mode on | ||
And I add a "Assignment" to section "1" and I fill the form with: | ||
| Assignment name | Test assignment | | ||
| Description | Offline text | | ||
| assignsubmission_file_enabled | 0 | | ||
And I follow "Course 1" | ||
And I add the "Activity results" block | ||
When I configure the "Activity results" block | ||
And the following fields match these values: | ||
| id_config_showbest | 0 | | ||
| id_config_showworst | 0 | | ||
| id_config_gradeformat | Fractions | | ||
| id_config_nameformat | Display only ID numbers | | ||
And I press "Save changes" | ||
Then I should see "This block's configuration currently does not allow it to show any results." in the "Activity results" "block" | ||
|
||
Scenario: Assign some site-wide defaults to the block and lock them. | ||
Given the following config values are set as admin: | ||
| config_showbest | 0 | block_activity_results | | ||
| config_showbest_locked | 1 | block_activity_results | | ||
| config_showworst | 0 | block_activity_results | | ||
| config_showworst_locked | 1 | block_activity_results | | ||
And I log in as "teacher1" | ||
And I follow "Course 1" | ||
And I turn editing mode on | ||
And I add a "Assignment" to section "1" and I fill the form with: | ||
| Assignment name | Test assignment | | ||
| Description | Offline text | | ||
| assignsubmission_file_enabled | 0 | | ||
And I follow "Course 1" | ||
And I add the "Activity results" block | ||
When I configure the "Activity results" block | ||
And the following fields match these values: | ||
| id_config_showbest | 0 | | ||
| id_config_showworst | 0 | | ||
And the "id_config_showbest" "field" should be readonly | ||
And the "id_config_showworst" "field" should be readonly | ||
And I press "Save changes" | ||
Then I should see "This block's configuration currently does not allow it to show any results." in the "Activity results" "block" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters