Проблема с замечательным модулем Сертификат

Re: Проблема с замечательным модулем Сертификат

от Эдуард Галиаскаров -
Количество ответов: 0

Решил вопрос и причину окончательно.

Все дело в праве mod/certificate:manage и соответственно обработке этого право в lib модуля и в других местах.

Создатели модуля решили, что у того, у кого есть право Allows a user to manage certificates видеть список сертификатов группы в которой ассистент существует - правда я так и не понял, что это значит, просто я могу лишь просматривать сам сертификат, но как я им могу управлять не совсем понял. По крайней мере участник с ролью ассистент может посмотреть дополнительно логи да список счастливцев, которые получили в его группе сертификаты.

У меня два выхода - убрать право и таким образом получить ассистентов-учеников в список сертифицированных, либо внести в код изменение

// get all users that can manage this certificate to exclude them from the report.
$context = get_context_instance(CONTEXT_MODULE, $cm->id);

$conditionssql = '';
$conditionsparams = array();
if ($certmanagers = array_keys(get_users_by_capability($context, 'mod/certificate:manage', 'u.id'))) {
list($sql, $params) = $DB->get_in_or_equal($certmanagers, SQL_PARAMS_NAMED, 'cert');
$conditionssql .= "AND NOT u.id $sql \n";
$conditionsparams += $params;
}

иначе ассистент не увидит список своих подчинненых
if (has_capability('mod/certificate:manage', $context)) {
$numusers = count(certificate_get_issues($certificate->id, 'ci.timecreated ASC', '', $cm));
$url = html_writer::tag('a', get_string('viewcertificateviews', 'certificate', $numusers),
array('href' => $CFG->wwwroot . '/mod/certificate/report.php?id=' . $cm->id));
echo html_writer::tag('div', $url, array('class' => 'reportlink'));
}

могут ли разработчики внести правки в код своего модуля, так чтобы появилось право имеет право просматривать сертификаты других, если нет иных ограничений (группы, потока)

Помогите сформулировать?