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,
 | 
						||
        ]);
 | 
						||
    }
 | 
						||
} |