いつもお世話になっております。村上です。
現在、moodle3.1.3を用いてサーバを構築しております。
小テストとフィードバックを中心に利用していますが
小テストおよびフィードバックの集計の画面、およびCSVにはlastnameと
firstnameは表示されますが、usernameを表示させることは可能でしょうか?
いつも質問ばかりで申し訳ありませんが、宜しくお願い致します。
サイト管理▶評定▶一般設定▼評定エクスポート - ユーザプロファイルフィールド 欄に username をカンマで区切って書き加えてください。以下は、その例です。
lastname,firstname,idnumber,id,username
標題の userid をカスタムプロファイルとして定義しているのであれば、▼評定エクスポート - カスタムプロファイルフィールド 欄に userid を書き加えてください。
TN様、ありがとうございます。
ご教授していただいた設定を変更すると表示的にどこが変わりますでしょうか?
こちらの質問の仕方が悪かったのかもしれませんが、
小テストの受験件数をクリックした時に表示されるレポートの画面と
Excelファイルにエクスポートした時の画面でuserid(アカウント名)を
表示させたいと思っています。
言葉足らずで申し訳ありません。
すみせん、そういうことでしたか。
画面への表示に関しては、サイト管理▶ユーザ▶パーミッション▶ユーザポリシー▼表示するユーザ固有情報 で制御できますが、残念ながら username の制御はできないようです。
IDナンバーなどの項目に代用させるのも有効かと思いますが、本格的に制御するなら、改造が必要と思います。
改造については、私の手に余るので、他の方にお任せします。
TN様、返信ありがとうございます。
了解しました。ご丁寧に対応いただきましてありがとうございました。
他の手段が無いかを調べていきたいと思います。
以上、宜しくお願い致します。
下記プログラム修正ではいかがでしょうか。
修正対象プログラム:
mod/quiz/report/attemptsreport.php
修正箇所:
164行目
[ 修正前 ]
if (!$table->is_downloading()) {
$columns[] = 'fullname';
$headers[] = get_string('name');
} else {
$columns[] = 'lastname';
$headers[] = get_string('lastname');
$columns[] = 'firstname';
$headers[] = get_string('firstname');
}
// When downloading, some extra fields are always displayed (because
// there's no space constraint) so do not include in extra-field list.
[ 修正後 ]
if (!$table->is_downloading()) {
$columns[] = 'fullname';
$headers[] = get_string('name');
} else {
$columns[] = 'lastname';
$headers[] = get_string('lastname');
$columns[] = 'firstname';
$headers[] = get_string('firstname');
}
$columns[] = 'username';
$headers[] = get_string('username');
// When downloading, some extra fields are always displayed (because
// there's no space constraint) so do not include in extra-field list.
--------------------------
修正対象プログラム:
mod/quiz/report/attemptsreport_table.php
修正箇所:
405行目
[ 修正前 ]
$fields .= '
quiza.uniqueid AS usageid,
quiza.id AS attempt,
u.id AS userid,
u.idnumber, ' . $allnames . ',
u.picture,
u.imagealt,
u.institution,
u.department,
u.email' . $extrafields . ',
quiza.state,
quiza.sumgrades,
quiza.timefinish,
quiza.timestart,
CASE WHEN quiza.timefinish = 0 THEN null
[ 修正後 ]
$fields .= '
quiza.uniqueid AS usageid,
quiza.id AS attempt,
u.id AS userid,
u.idnumber, ' . $allnames . ',
u.username,
u.picture,
u.imagealt,
u.institution,
u.department,
u.email' . $extrafields . ',
quiza.state,
quiza.sumgrades,
quiza.timefinish,
quiza.timestart,
CASE WHEN quiza.timefinish = 0 THEN null
--------------------------
修正対象プログラム:
mod/feedback/classes/responses_table.php
修正箇所:
108行目
[ 修正前 ]
/**
* Initialises table
* @param int $group retrieve only users from this group (optional)
*/
protected function init($group = 0) {
$tablecolumns = array('userpic', 'fullname');
$tableheaders = array(get_string('userpic'), get_string('fullnameuser'));
$extrafields = get_extra_user_fields($this->get_context());
$ufields = user_picture::fields('u', $extrafields, $this->useridfield);
$fields = 'c.id, c.timemodified as completed_timemodified, c.courseid, '.$ufields;
$from = '{feedback_completed} c '
. 'JOIN {user} u ON u.id = c.userid AND u.deleted = :notdeleted';
$where = 'c.anonymous_response = :anon
AND c.feedback = :instance';
[ 修正後 ]
/**
* Initialises table
* @param int $group retrieve only users from this group (optional)
*/
protected function init($group = 0) {
// $tablecolumns = array('userpic', 'fullname');
// $tableheaders = array(get_string('userpic'), get_string('fullnameuser'));
$tablecolumns = array('userpic', 'fullname', 'username');
$tableheaders = array(get_string('userpic'), get_string('fullnameuser'), get_string('username'));
$extrafields = get_extra_user_fields($this->get_context());
$ufields = user_picture::fields('u', $extrafields, $this->useridfield);
// $fields = 'c.id, c.timemodified as completed_timemodified, c.courseid, '.$ufields;
$fields = 'c.id, c.timemodified as completed_timemodified, c.courseid, u.username, '.$ufields;
$from = '{feedback_completed} c '
. 'JOIN {user} u ON u.id = c.userid AND u.deleted = :notdeleted';
$where = 'c.anonymous_response = :anon
AND c.feedback = :instance';
Yoshida様、ありがとうございました。
先程、Moodleに修正を行いましたら、思っている表示になりました。
本当にありがとうございました。
さっそく活用させていただきます。ありがとうございました。