fix assessment import and exams draft
This commit is contained in:
@@ -4,6 +4,7 @@ namespace App\Controllers\View;
|
||||
|
||||
use CodeIgniter\Controller;
|
||||
use CodeIgniter\Exceptions\PageNotFoundException;
|
||||
use Config\Database;
|
||||
|
||||
class FilesController extends Controller
|
||||
{
|
||||
@@ -287,11 +288,20 @@ class FilesController extends Controller
|
||||
private function buildDraftDownloadName(string $filename, string $subdir): string
|
||||
{
|
||||
$db = Database::connect();
|
||||
$column = $subdir === 'finals' ? 'final_file' : $this->resolveExamDraftFileColumn($db);
|
||||
$row = $db->table('exam_drafts ed')
|
||||
$builder = $db->table('exam_drafts ed')
|
||||
->select('ed.version, ed.exam_type, ed.class_section_id, cs.class_section_name')
|
||||
->join('classSection cs', 'cs.class_section_id = ed.class_section_id', 'left')
|
||||
->where('ed.' . $column, $filename)
|
||||
->join('classSection cs', 'cs.class_section_id = ed.class_section_id', 'left');
|
||||
if ($subdir === 'finals') {
|
||||
$builder->groupStart()
|
||||
->where('ed.final_file', $filename);
|
||||
if ($db->fieldExists('final_pdf_file', 'exam_drafts')) {
|
||||
$builder->orWhere('ed.final_pdf_file', $filename);
|
||||
}
|
||||
$builder->groupEnd();
|
||||
} else {
|
||||
$builder->where('ed.' . $this->resolveExamDraftFileColumn($db), $filename);
|
||||
}
|
||||
$row = $builder
|
||||
->limit(1)
|
||||
->get()
|
||||
->getRowArray();
|
||||
@@ -363,12 +373,21 @@ class FilesController extends Controller
|
||||
}
|
||||
|
||||
$db = Database::connect();
|
||||
$fileColumn = $subdir === 'finals' ? 'final_file' : $this->resolveExamDraftFileColumn($db);
|
||||
$authorIdColumn = $this->resolveExamDraftAuthorIdColumn($db);
|
||||
|
||||
$draft = $db->table('exam_drafts ed')
|
||||
->select('ed.class_section_id, ed.school_year, ed.semester, ed.status, ed.' . $authorIdColumn . ' AS draft_author_id')
|
||||
->where('ed.' . $fileColumn, $filename)
|
||||
$builder = $db->table('exam_drafts ed')
|
||||
->select('ed.class_section_id, ed.school_year, ed.semester, ed.status, ed.' . $authorIdColumn . ' AS draft_author_id');
|
||||
if ($subdir === 'finals') {
|
||||
$builder->groupStart()
|
||||
->where('ed.final_file', $filename);
|
||||
if ($db->fieldExists('final_pdf_file', 'exam_drafts')) {
|
||||
$builder->orWhere('ed.final_pdf_file', $filename);
|
||||
}
|
||||
$builder->groupEnd();
|
||||
} else {
|
||||
$builder->where('ed.' . $this->resolveExamDraftFileColumn($db), $filename);
|
||||
}
|
||||
$draft = $builder
|
||||
->limit(1)
|
||||
->get()
|
||||
->getRowArray();
|
||||
|
||||
Reference in New Issue
Block a user