pistol88/yii2-work-session

yii2-work-session ведет учет прихода и ухода сотрудников на работу


Keywords
module, application, session, yii2, work, pistol88
License
BSD-3-Clause

Documentation

Yii2-work-session

Модуль предоставляет интерфейс для ведения учета рабочих смен сотрудников, а также организации в целом.

work session

Фиксируется начало всей смены, время прихода и ухода каждого сотрудника, рассчитывается время фактического нахождения на рабочем месте.

Установка

Выполнить команду

php composer require pistol88/yii2-work-session "*"

Или добавить в composer.json

"pistol88/yii2-work-session": "*",

И выполнить

php composer update

Далее, мигрируем базу:

php yii migrate --migrationPath=vendor/pistol88/yii2-work-session/migrations

Подключение и настройка

В конфигурационный файл приложения добавить модуль worksess, настроив его

    'modules' => [
        //...
        'worksess' => [
            'class' => 'pistol88\worksess\Module',
            'adminRoles' => ['administrator'],
            //модуль пользователей
            'userModel' => 'common\models\User',
            //callback функция, позвращающая список работников
            'workers' => function() {
                return \common\models\User::findAll(['status' => 2, 'id' => Yii::$app->authManager->getUserIdsByRole(['washer'])]);
            },
        ],
        //...
    ]

Управление сессиями по роуту worksess/session/current.

Виджеты

<?php
use pistol88\worksess\widgets\ControlButton;
use pistol88\worksess\widgets\Info;
?>

Информация об общей смене сменой:

<?=Info::widget();?>

Информация о смене сотрудника ($worker - модель пользователя):

<?=Info::widget(['for' => $worker]);?>

Кнопки переключения старта\остановки общей сессии и сессии отдельного сотрудника (если передано свойство $worker):

<?=ControlButton::widget(['for' => $worker]);?>