Наладить человекопонятную работу сообщений студенту когда ему отказываают в тесте
Issue #320
closed
Originally reported on Google Code with ID 320
Мы реально один раз полчаса разбирались с настройками IP-адреса на компе из-за сообщения,
а студент оказался не в той группе.
Описание текущего положения дел от Анастасии:
"Я также оттестировала вход человека, приписанного к курсу, но с другой группы, выводится
сообщение: вы не принадлежите к заданному диапазону ip-адресов или же для вашей группы
нет активной сессии." (кстати, "или" и в русском и английском варианте? а то я в том
случае никакого "или" не видел).
Предложение:
Сообщение "вы не принадлежите к заданному диапазону ip-адресов или же для вашей группы
нет активной сессии" хотелось бы иметь более точным, чтобы преподаватель не гадал что
происходит.
а) если для группы (и для "всех групп" конечно) нет активной сессии вообще то говорить
что " для вашей группы нет активной сессии"
б) если для группы активная сессия есть, но нет аудитории - то говорить что "вы не
находитесь в аудитории такой-то (подставляется название аудитории), в которой занимается
ваша группа" (вариант - аудитории во множественном числе, если сессий несколько).
Так я думаю понятнее, ибо группа в этом плане первична - если группа не занимается,
то в каком ты классе не так уж важно. А если занимается - иди в свой класс. Определять
каким группам принадлежит в занятиях лучше не по мудловским таблицам, а по блоковской
таблице куда копируется группа при занятии, чтобы успешно действовало на "временные"
группы с конкретным перечнем человек в будущем.
Reported by oasychev
on 2015-01-10 19:52:29
Comments (9)
-
Account Deleted -
Account Deleted $string['iperror'] = 'You can\'t start the quiz now. No active supervised session for your group at this moment or your ip isn\'t in the classroom subnet.'; $string['noaccess'] = 'You can\'t start the quiz now. No active supervised session for your group at this moment with appropriate lesson type.'; Вот iperror строка частично дублирует строку noaccess, и, как мне кажется, выдает сообщение об ошибке, за которую не отвечает. Я изменила ее на You can\'t start the quiz now. Your ip isn\'t in the classroom subnet.
Reported by
anastasiyaSergeevnaP
on 2015-01-22 11:48:29 -
reporter Флаги удалять не нужно, нужно разобраться с логикой их применения. Возможно сделать пару условий вместо одного. Там надо точно понять логику выставления флагов в ситуации если одновременно ведет несколько занятий - и проверить, чтобы логика выдачи сообщений соответствовала тому, что я написал в описании issue. Можете сегодня подойти часов до 14...14-30, уточним все.
Reported by
oasychev
on 2015-01-23 05:01:50 -
Account Deleted Олег Александрович, я по поводу добавления в функцию user_active_sessions фильтр по типам. Я так поняла, что фильтр по типам не перенесли в функцию по следующей причине: https://code.google.com/r/anastasiyasergeevnap-supervised-block-clone/source/browse/mod/quiz/accessrule/supervisedcheck/rule.php (строка 56 case). Тут получается, что в зависимости от режима выбираются и типы занятий из разных таблиц. Я не думаю, что в данную функцию нужно передавать массив типа занятий или цифру режима, потому что данная функция применялась где-то в блоке, который о режимах по идее не знает ничего, а как обойти такой момент я не знаю.
Reported by
anastasiyaSergeevnaP
on 2015-01-24 21:35:23 -
reporter В данном случае из данных правила (которые блоку знать не положено) берется массив lessontypeid для которых разрешены занятия. Причем не очень эффективно. Что сделал бы я: передал массив в функцию блока, причем только в случае case 2 (когда есть конкретный перечень), для случая же case 1 когда по случаю проверка реально не требуется (все стили блока) сделал бы значение по умолчанию для этого параметра null и развилку в коде проверке в блоке что проверять только если передан массив, если нет то проверка типа занятия пропускается вообще. Это будет быстрее, чем проверять по списку из всех. Про сами типы занятий блок знает, это его информация - он не знает только какие типы настроены для конкретного теста, именно эта информация берется из таблицы правила. P.S. Синие цифры в google code с номерами строк являются ссылками, можно нажать и скопировать. Т.е. ссылка на строку 56 будет выглядеть так https://code.google.com/r/anastasiyasergeevnap-supervised-block-clone/source/browse/mod/quiz/accessrule/supervisedcheck/rule.php#56
Reported by
oasychev
on 2015-01-24 21:51:53 -
Account Deleted Олег Александрович, я почти доделала. У меня остался последний вопрос. Допустим, такая ситуация - у нас есть один Quiz и два типа занятий: лаба и лекция. Я настроила supervised quiz attempts для теста только для лабы. Далее я начинаю сессию с типом занятий - лекция. Если пользователь зашел во время сессии на курс и хочет пройти этот тест, ему должны отказать или нет? Данная настройка означает именно привязку теста к типу занятия или что все supervised-проверки будут проводиться для данного теста только если он проходится во время занятия с типом лаба?
Reported by
anastasiyaSergeevnaP
on 2015-01-27 07:57:37 -
reporter Если выбран третий пункт в правиле - разрешать только на определенных типах занятий - то на занятий других типов тест должен быть недоступен. Пример - экзаменационный тест должен быть доступен на экзамене и досдаче, но не на лабораторной работе. Если группа и аудитория нужные, а тип занятия нет - должно выдаваться сообщение типа "Во время xxx занятия проходить этот тест нельзя." где xxx - тип текущего занятия. P.S. Сорри за задержку, уезжал из города...
Reported by
oasychev
on 2015-02-08 22:13:25 -
reporter Предлагаю встретится в среду после конца пар - они у нас обоих в районе 18-30 заканчиваются - и посмотреть сделанные изменения+решить все вопросы...
Reported by
oasychev
on 2015-02-08 22:26:09 -
reporter Сделано, спасибо.
Reported by
oasychev
on 2015-02-26 23:07:54 - Status changed:Done
- Log in to comment
Reported by
anastasiyaSergeevnaP
on 2015-01-22 11:45:54