54 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | ||
| 
 | ||
| namespace common\helpers;
 | ||
| 
 | ||
| use yii\helpers\ArrayHelper;
 | ||
| use yii\helpers\Html;
 | ||
| use Exception;
 | ||
| 
 | ||
| class UserQuestionnaireStatusHelper
 | ||
| {
 | ||
|     const STATUS_PASSIVE = 0;
 | ||
|     const STATUS_ACTIVE = 1;
 | ||
|     const STATUS_COMPLETED = 2;
 | ||
|     const STATUS_ON_INSPECTION = 3;
 | ||
| 
 | ||
|     public static function statusList() :array
 | ||
|     {
 | ||
|         return [
 | ||
|             self::STATUS_PASSIVE => 'Не используется',
 | ||
|             self::STATUS_ACTIVE => 'Активен',
 | ||
|             self::STATUS_COMPLETED => 'Завершён',
 | ||
|             self::STATUS_ON_INSPECTION => 'На проверке'
 | ||
|         ];
 | ||
|     }
 | ||
| 
 | ||
|     /**
 | ||
|      * @throws Exception
 | ||
|      */
 | ||
|     public static function statusName($status): string
 | ||
|     {
 | ||
|         return ArrayHelper::getValue(self::statusList(), $status);
 | ||
|     }
 | ||
| 
 | ||
|     /**
 | ||
|      * @throws Exception
 | ||
|      */
 | ||
|     public static function statusLabel($status): string
 | ||
|     {
 | ||
|         switch ($status) {
 | ||
|             case self::STATUS_PASSIVE:
 | ||
|                 $class = 'label label-danger';
 | ||
|                 break;
 | ||
|             case ($status === self::STATUS_ACTIVE or $status === self::STATUS_COMPLETED):
 | ||
|                 $class = 'label label-success';
 | ||
|                 break;
 | ||
|             default:
 | ||
|                 $class = 'label label-default';
 | ||
|         }
 | ||
| 
 | ||
|         return Html::tag('span', ArrayHelper::getValue(self::statusList(), $status), [
 | ||
|             'class' => $class,
 | ||
|         ]);
 | ||
|     }
 | ||
| } | 
