MDL-69805 mod_data: Freeze comment field if comments disabled

This commit is contained in:
David Matamoros 2020-09-29 17:47:39 +02:00
parent e049d30613
commit 84e9360c9d
2 changed files with 42 additions and 0 deletions

View file

@ -38,6 +38,10 @@ class mod_data_mod_form extends moodleform_mod {
$mform->hideIf('manageapproved', 'approval', 'eq', 0);
$mform->addElement('selectyesno', 'comments', get_string('allowcomments', 'data'));
if (empty($CFG->usecomments)) {
$mform->hardFreeze('comments');
$mform->setConstant('comments', 0);
}
$countoptions = array(0=>get_string('none'))+
(array_combine(range(1, DATA_MAX_ENTRIES), // Keys.

View file

@ -0,0 +1,38 @@
@mod @mod_data
Feature: Teachers can enable comments only if comments are enabled at site level
In order to enable comments on entries
As an admin
I need to enable comments at site level
@javascript
Scenario: Teacher cannot enable comments if they are disabled at site level
Given the following "users" exist:
| username | firstname | lastname | email |
| teacher1 | Teacher | 1 | teacher1@example.com |
And the following "courses" exist:
| fullname | shortname | category |
| Course 1 | C1 | 0 |
And the following "course enrolments" exist:
| user | course | role |
| teacher1 | C1 | editingteacher |
When I log in as "teacher1"
And I am on "Course 1" course homepage
And I press "Turn editing on"
And I press "Add an activity or resource"
And I click on "Add a new Database" "link" in the "Add an activity or resource" "dialogue"
And I expand all fieldsets
And "Allow comments on entries" "field" should exist
And I set the field "Name" to "Test Database name"
And I set the field "Allow comments on entries" to "Yes"
And I press "Save and return to course"
# Disable comments in site config.
And the following config values are set as admin:
| usecomments | 0 |
And I press "Add an activity or resource"
And I click on "Add a new Database" "link" in the "Add an activity or resource" "dialogue"
And I expand all fieldsets
And I set the field "Name" to "Test Database name 2"
And "Allow comments on entries" "field" should not exist
Then I should see "No" in the "//*[@id=\"fitem_id_comments\"]/*[@data-fieldtype=\"selectyesno\"]" "xpath_element"
And I press "Save and return to course"
And I log out