Files
awo-hamburg-intranet/module/tasks/lib/TaskCertConstants.php

108 lines
3.0 KiB
PHP
Raw Normal View History

<?php
declare(strict_types=1);
class TaskCertConstants
{
public const ASSIGNMENT_STATUSES = [
'open', 'in_progress', 'approval_pending', 'overdue', 'completed', 'rejected', 'expired',
];
public const COMPLETED_STATUSES = ['completed', 'expired'];
public const SUBMISSION_STATUSES = [
'submitted', 'auto_passed', 'awaiting_approval', 'approved', 'rejected',
];
public const METHOD_TYPES = [
'knowledge_read', 'form_submit', 'quiz', 'manual_approval',
];
public const FIELD_TYPES = [
'text', 'textarea', 'number', 'date', 'select', 'checkbox', 'radio', 'file',
];
public const CERTIFICATE_STATUSES = ['valid', 'expired', 'revoked'];
public static function assignmentStatusLabels(): array
{
return [
'open' => 'Offen',
'in_progress' => 'In Bearbeitung',
'approval_pending' => 'Warten auf Freigabe',
'overdue' => 'Überfällig',
'completed' => 'Abgeschlossen',
'rejected' => 'Bitte erneut einreichen',
'expired' => 'Abgelaufen',
];
}
public static function submissionStatusLabels(): array
{
return [
'submitted' => 'Eingereicht',
'auto_passed' => 'Erledigt',
'awaiting_approval' => 'Wartet auf Freigabe',
'approved' => 'Freigegeben',
'rejected' => 'Abgelehnt',
];
}
public static function methodLabels(): array
{
return [
'knowledge_read' => 'Wissensbeiträge lesen',
'form_submit' => 'Formular ausfüllen',
'quiz' => 'Quiz beantworten',
'manual_approval' => 'Antrag auf Freigabe',
];
}
public static function certificateStatusLabels(): array
{
return [
'valid' => 'Gültig',
'expired' => 'Abgelaufen',
'revoked' => 'Widerrufen',
];
}
public static function fieldTypeLabels(): array
{
return [
'text' => 'Text',
'textarea' => 'Textbereich',
'number' => 'Zahl',
'date' => 'Datum',
'select' => 'Auswahl',
'checkbox' => 'Checkbox',
'radio' => 'Radio',
'file' => 'Datei-Upload',
];
}
public static function isValidAssignmentStatus(string $status): bool
{
return in_array($status, self::ASSIGNMENT_STATUSES, true);
}
public static function isValidSubmissionStatus(string $status): bool
{
return in_array($status, self::SUBMISSION_STATUSES, true);
}
public static function isValidMethodType(string $type): bool
{
return in_array($type, self::METHOD_TYPES, true);
}
public static function isValidFieldType(string $type): bool
{
return in_array($type, self::FIELD_TYPES, true);
}
public static function isValidCertificateStatus(string $status): bool
{
return in_array($status, self::CERTIFICATE_STATUSES, true);
}
}