Merge branch 'MDL-47065-master' of git://github.com/danpoltawski/moodle

This commit is contained in:
David Monllao 2015-11-16 15:25:42 +08:00
commit 6bcff8abf5
2 changed files with 55 additions and 2 deletions

View File

@ -0,0 +1,51 @@
@core @core_notes
Feature: Add notes to course participants
In order to share information with other staff
As a teacher
I need to add notes from the course particpants list
Scenario: An teacher can add multiple notes
Given the following "users" exist:
| username | firstname | lastname | email |
| teacher1 | Teacher | 1 | teacher1@example.com |
| student1 | Student | 1 | student1@example.com |
| student2 | Student | 2 | student2@example.com |
| student3 | Student | 3 | student3@example.com |
And the following "courses" exist:
| fullname | shortname | format |
| Course 1 | C1 | topics |
And the following "course enrolments" exist:
| user | course | role |
| teacher1 | C1 | editingteacher |
| student1 | C1 | student |
| student2 | C1 | student |
| student3 | C1 | student |
And I log in as "teacher1"
And I follow "Course 1"
And I follow "Participants"
And I set the field with xpath "//tr[contains(normalize-space(.), 'Student 1')]//input[@type='checkbox']" to "1"
And I set the field with xpath "//tr[contains(normalize-space(.), 'Student 2')]//input[@type='checkbox']" to "1"
And I set the field with xpath "//tr[contains(normalize-space(.), 'Student 3')]//input[@type='checkbox']" to "1"
And I set the field "With selected users..." to "Add a new note"
And I press "OK"
# Add a note to student 1, but leave student 2 empty and student 3 with space.
When I set the field with xpath "//tr[contains(normalize-space(.), 'Student 1')]//textarea" to "Student 1 needs to pick up his game"
And I set the field with xpath "//tr[contains(normalize-space(.), 'Student 2')]//textarea" to ""
And I set the field with xpath "//tr[contains(normalize-space(.), 'Student 3')]//textarea" to " "
And I press "Save changes"
And I follow "Student 1"
And I follow "Notes"
# Student 1 has note from Teacher
Then I should see "Teacher" in the "region-main" "region"
And I should see "Student 1 needs to pick up his game"
And I follow "Participants"
And I follow "Student 2"
And I follow "Notes"
And I follow "Course 1"
And I follow "Participants"
And I follow "Notes"
Then I should see "Student 1"
And I should see "Student 1 needs to pick up his game"
# Verify Student 2 does not have a note added.
And I should not see "Student 2"
And I should not see "Student 3"

View File

@ -54,11 +54,13 @@ if (!empty($users) && confirm_sesskey()) {
$note->courseid = $id; $note->courseid = $id;
$note->format = FORMAT_PLAIN; $note->format = FORMAT_PLAIN;
foreach ($users as $k => $v) { foreach ($users as $k => $v) {
if (!$user = $DB->get_record('user', array('id' => $v)) || empty($contents[$k])) { $user = $DB->get_record('user', array('id' => $v));
$content = trim($contents[$k]);
if (!$user || empty($content)) {
continue; continue;
} }
$note->id = 0; $note->id = 0;
$note->content = $contents[$k]; $note->content = $content;
$note->publishstate = $states[$k]; $note->publishstate = $states[$k];
$note->userid = $v; $note->userid = $v;
note_save($note); note_save($note);