Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions classes/responsetype/responsetype.php
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,7 @@ protected function user_fields_sql() {
$userfieldsarr = get_all_user_name_fields();
}
$userfieldsarr = array_merge($userfieldsarr, ['username', 'department', 'institution']);
$userfieldsarr = array_merge($userfieldsarr, ['username', 'department', 'institution', 'idnumber']);
$userfields = '';
foreach ($userfieldsarr as $field) {
$userfields .= $userfields === '' ? '' : ', ';
Expand Down
3 changes: 2 additions & 1 deletion lang/en/questionnaire.php
Original file line number Diff line number Diff line change
Expand Up @@ -259,7 +259,8 @@
$string['gradesdeleted'] = 'Questionnaire grades deleted';
$string['headingtext'] = 'Heading text';
$string['horizontal'] = 'Horizontal';
$string['id'] = 'ID';
$string['id'] = 'User id';
$string['useridnumber'] = 'User idnumber';
$string['includerankaverages'] = 'Include rank question averages';
$string['includechoicecodes'] = 'Include choice codes';
$string['includechoicetext'] = 'Include choice text';
Expand Down
6 changes: 5 additions & 1 deletion questionnaire.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -3012,6 +3012,7 @@ protected function user_fields() {
$userfieldsarr = get_all_user_name_fields();
}
$userfieldsarr = array_merge($userfieldsarr, ['username', 'department', 'institution']);
$userfieldsarr = array_merge($userfieldsarr, ['username', 'department', 'institution', 'idnumber']);
return $userfieldsarr;
}

Expand Down Expand Up @@ -3182,6 +3183,9 @@ protected function process_csv_row(array &$row,
if (in_array('id', $options)) {
array_push($positioned, $uid);
}
if (in_array('useridnumber', $options)) {
array_push($positioned, $user->idnumber);
}
if (in_array('fullname', $options)) {
array_push($positioned, $fullname);
}
Expand Down Expand Up @@ -3241,7 +3245,7 @@ public function generate_csv($currentgroupid, $rid='', $userid='', $choicecodes=
$columns = array();
$types = array();
foreach ($options as $option) {
if (in_array($option, array('response', 'submitted', 'id'))) {
if (in_array($option, array('response', 'submitted', 'id', 'useridnumber'))) {
$columns[] = get_string($option, 'questionnaire');
$types[] = 0;
} else if ($option == 'useridentityfields') {
Expand Down
1 change: 1 addition & 0 deletions settings.php
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
'course' => get_string('course'),
'group' => get_string('group'),
'id' => get_string('id', 'questionnaire'),
'useridnumber' => get_string('useridnumber', 'questionnaire'),
'fullname' => get_string('fullname'),
'username' => get_string('username'),
'useridentityfields' => get_string('showuseridentity', 'admin')
Expand Down
22 changes: 11 additions & 11 deletions tests/csvexport_test.php
Original file line number Diff line number Diff line change
Expand Up @@ -199,21 +199,21 @@ private function do_test_csvexport_identity_fields($course, $cm, $user, $roleid,
* @return string[]
*/
private function expected_complete_output() {
return ["Institution Department Course Group Full name Username Q01_Text Box 1000 Q02_Essay Box 1002 " .
return ["Institution Department Course Group User idnumber Full name Username Q01_Text Box 1000 Q02_Essay Box 1002 " .
"Q03_Numeric 1004 Q04_Date 1006 Q05_Radio Buttons 1008 Q06_Drop Down 1010 Q07_Check Boxes 1012->four " .
"Q07_Check Boxes 1012->five Q07_Check Boxes 1012->six Q07_Check Boxes 1012->seven Q07_Check Boxes 1012->eight " .
"Q07_Check Boxes 1012->nine Q07_Check Boxes 1012->ten Q07_Check Boxes 1012->eleven " .
"Q07_Check Boxes 1012->twelve Q07_Check Boxes 1012->thirteen Q08_Rate Scale 1014->fourteen " .
"Q08_Rate Scale 1014->fifteen Q08_Rate Scale 1014->sixteen Q08_Rate Scale 1014->seventeen " .
"Q08_Rate Scale 1014->eighteen Q08_Rate Scale 1014->nineteen Q08_Rate Scale 1014->twenty " .
"Q08_Rate Scale 1014->happy Q08_Rate Scale 1014->sad Q08_Rate Scale 1014->jealous Q09_Slider 1016",
" Test course 1 Testy Lastname1 username1 Test answer Some header textSome paragraph text 83 " .
" Test course 1 Testy Lastname1 username1 Test answer Some header textSome paragraph text 83 " .
"27/12/2017 wind three 0 0 0 0 0 0 0 0 0 1 1 2 3 4 5 1 2 3 4 5",
" Test course 1 Testy Lastname2 username2 Test answer Some header textSome paragraph text 83 " .
" Test course 1 Testy Lastname2 username2 Test answer Some header textSome paragraph text 83 " .
"27/12/2017 wind three 0 0 0 0 0 0 0 0 0 1 1 2 3 4 5 1 2 3 4 5",
" Test course 1 Testy Lastname3 username3 Test answer Some header textSome paragraph text 83 " .
" Test course 1 Testy Lastname3 username3 Test answer Some header textSome paragraph text 83 " .
"27/12/2017 wind three 0 0 0 0 0 0 0 0 0 1 1 2 3 4 5 1 2 3 4 5",
" Test course 1 Testy Lastname4 username4 Test answer Some header textSome paragraph text 83 " .
" Test course 1 Testy Lastname4 username4 Test answer Some header textSome paragraph text 83 " .
"27/12/2017 wind three 0 0 0 0 0 0 0 0 0 1 1 2 3 4 5 1 2 3 4 5"];
}

Expand All @@ -222,7 +222,7 @@ private function expected_complete_output() {
* @return string[]
*/
private function expected_incomplete_output() {
return ["Institution Department Course Group Full name Username Complete Q01_Text Box 1000 " .
return ["Institution Department Course Group User idnumber Full name Username Complete Q01_Text Box 1000 " .
"Q02_Essay Box 1002 " .
"Q03_Numeric 1004 Q04_Date 1006 Q05_Radio Buttons 1008 Q06_Drop Down 1010 Q07_Check Boxes 1012->four " .
"Q07_Check Boxes 1012->five Q07_Check Boxes 1012->six Q07_Check Boxes 1012->seven Q07_Check Boxes 1012->eight " .
Expand All @@ -231,15 +231,15 @@ private function expected_incomplete_output() {
"Q08_Rate Scale 1014->fifteen Q08_Rate Scale 1014->sixteen Q08_Rate Scale 1014->seventeen " .
"Q08_Rate Scale 1014->eighteen Q08_Rate Scale 1014->nineteen Q08_Rate Scale 1014->twenty " .
"Q08_Rate Scale 1014->happy Q08_Rate Scale 1014->sad Q08_Rate Scale 1014->jealous Q09_Slider 1016",
" Test course 1 Testy Lastname1 username1 y Test answer Some header textSome paragraph text 83 " .
" Test course 1 Testy Lastname1 username1 y Test answer Some header textSome paragraph text 83 " .
"27/12/2017 wind three 0 0 0 0 0 0 0 0 0 1 1 2 3 4 5 1 2 3 4 5",
" Test course 1 Testy Lastname2 username2 y Test answer Some header textSome paragraph text 83 " .
" Test course 1 Testy Lastname2 username2 y Test answer Some header textSome paragraph text 83 " .
"27/12/2017 wind three 0 0 0 0 0 0 0 0 0 1 1 2 3 4 5 1 2 3 4 5",
" Test course 1 Testy Lastname3 username3 y Test answer Some header textSome paragraph text 83 " .
" Test course 1 Testy Lastname3 username3 y Test answer Some header textSome paragraph text 83 " .
"27/12/2017 wind three 0 0 0 0 0 0 0 0 0 1 1 2 3 4 5 1 2 3 4 5",
" Test course 1 Testy Lastname4 username4 y Test answer Some header textSome paragraph text 83 " .
" Test course 1 Testy Lastname4 username4 y Test answer Some header textSome paragraph text 83 " .
"27/12/2017 wind three 0 0 0 0 0 0 0 0 0 1 1 2 3 4 5 1 2 3 4 5",
" Test course 1 Testy Lastname5 username5 n Test answer Some header textSome paragraph text 83 " .
" Test course 1 Testy Lastname5 username5 n Test answer Some header textSome paragraph text 83 " .
"27/12/2017 wind three 0 0 0 0 0 0 0 0 0 1 1 2 3 4 5 1 2 3 4 5"];
}
}