Use FormValidator in report filter - refs BT#9442

1.10.x
Angel Fernando Quiroz Campos 10 years ago
parent 266634300d
commit 19e016dc12
  1. 60
      main/gradebook/certificate_report.php
  2. 52
      main/template/default/gradebook/certificate_report.tpl

@ -27,10 +27,16 @@ $selectedYear = isset($_POST['year']) && !empty($_POST['year']) ? $_POST['year']
$userId = api_get_user_id();
$sessions = $courses = $months = [0 => get_lang('Select')];
if (api_is_student_boss()) {
$sessions = SessionManager::getSessionsFollowedForGroupAdmin($userId);
$sessionsList = SessionManager::getSessionsFollowedForGroupAdmin($userId);
} else {
$sessions = SessionManager::getSessionsCoachedByUser($userId);
$sessionsList = SessionManager::getSessionsCoachedByUser($userId);
}
foreach ($sessionsList as $session) {
$sessions[$session['id']] = $session['name'];
}
if ($selectedSession > 0) {
@ -41,18 +47,18 @@ if ($selectedSession > 0) {
exit;
}
$courses = SessionManager::get_course_list_by_session_id($selectedSession);
$coursesList = SessionManager::get_course_list_by_session_id($selectedSession);
if (is_array($courses)) {
foreach ($courses as &$course) {
if (is_array($coursesList)) {
foreach ($coursesList as &$course) {
$course['real_id'] = $course['id'];
}
}
} else {
$courses = CourseManager::get_courses_list_by_user_id($userId);
$coursesList = CourseManager::get_courses_list_by_user_id($userId);
if (is_array($courses)) {
foreach ($courses as &$course) {
if (is_array($coursesList)) {
foreach ($coursesList as &$course) {
$courseInfo = api_get_course_info_by_id($course['real_id']);
$course = array_merge($course, $courseInfo);
@ -60,13 +66,12 @@ if ($selectedSession > 0) {
}
}
$months = array();
foreach ($coursesList as $course) {
$courses[$course['id']] = $course['title'];
}
for ($key = 1; $key <= 12; $key++) {
$months[] = array(
'key' => $key,
'name' => sprintf("%02d", $key)
);
$months[$key] = sprintf("%02d", $key);
}
$exportAllLink = null;
@ -164,10 +169,31 @@ if (Session::has('reportErrorMessage')) {
$template->assign('errorMessage', Session::read('reportErrorMessage'));
}
$template->assign('selectedSession', $selectedSession);
$template->assign('selectedCourse', $selectedCourse);
$template->assign('selectedMonth', $selectedMonth);
$template->assign('selectedYear', $selectedYear);
$form = new FormValidator(
'certificate_report_form',
'post',
api_get_path(WEB_CODE_PATH) . 'gradebook/certificate_report.php'
);
$form->addHeader(get_lang('GradebookListOfStudentsCertificates'));
$form->addSelect('session', get_lang('Sessions'), $sessions, ['id' => 'session']);
$form->addSelect('course', get_lang('Courses'), $courses, ['id' => 'course']);
$form->addGroup(
[
$form->createElement('select', 'month', null, $months, ['id' => 'month']),
$form->createElement('text', 'year', null, ['id' => 'year'])
],
null,
get_lang('Date')
);
$form->addButtonSearch();
$form->setDefaults([
'session' => $selectedSession,
'course' => $selectedCourse,
'month' => $selectedMonth,
'year' => $selectedYear
]);
$template->assign('form', $form->returnForm());
$template->assign('sessions', $sessions);
$template->assign('courses', $courses);
$template->assign('months', $months);

@ -30,58 +30,18 @@
});
</script>
<form action="{{ _p.web_main }}gradebook/certificate_report.php" method="post" class="form-horizontal">
<div class="control-group">
<label class="control-label" for="session">{{ 'Sessions' | get_lang }}</label>
<div class="controls">
<select name="session" id="session">
<option value="0">{{ 'Select' | get_lang }}</option>
{% for session in sessions %}
<option value="{{ session.id }}" {{ selectedSession == session.id ? 'selected' : '' }}>{{ session.name }}</option>
{% endfor %}
</select>
</div>
</div>
<div class="control-group">
<label class="control-label" for="course">{{ 'Courses' | get_lang }}</label>
<div class="controls">
<select name="course" id="course">
<option value="0">{{ 'Select' | get_lang }}</option>
{% for course in courses %}
<option value="{{ course.real_id }}" {{ selectedCourse == course.real_id ? 'selected' : ''}}>{{ course.title }}</option>
{% endfor %}
</select>
</div>
</div>
<div class="control-group">
<label class="control-label" for="month">{{ 'Date' | get_lang }}</label>
<div class="controls">
<select name="month" id="month">
<option value="0">{{ 'Select' | get_lang }}</option>
{% for month in months %}
<option value="{{ month.key }}" {{ selectedMonth == month.key ? 'selected' : ''}}>{{ month.name }}</option>
{% endfor %}
</select>
<input type="text" name="year" id="year" class="input-mini" value="{{ selectedYear }}">
</div>
</div>
<div class="control-group">
<div class="controls">
<button type="submit" class="btn btn-primary">{{ 'Search' | get_lang }}</button>
</div>
</div>
</form>
<h1 class="page-header">{{ 'GradebookListOfStudentsCertificates' | get_lang }}</h1>
{{ form }}
{% if errorMessage is defined %}
<div class="alert alert-error">{{ errorMessage }}</div>
{% endif %}
{% if not certificateStudents is empty %}
<p>
<a href="{{ exportAllLink }}" class="btn btn-info">{{ 'ExportAllCertificatesToPDF' | get_lang }}</a>
</p>
<div class="actions">
<a href="{{ exportAllLink }}" class="btn btn-info">
<i class="fa fa-check"></i> {{ 'ExportAllCertificatesToPDF' | get_lang }}
</a>
</div>
<table class="table table-striped">
<thead>

Loading…
Cancel
Save