2017 © Pedro Peláez
 

yii2-extension yii2-cashbox-module

cashbox

image

halumein/yii2-cashbox-module

cashbox

  • Tuesday, July 18, 2017
  • by halumein
  • Repository
  • 4 Watchers
  • 1 Stars
  • 231 Installations
  • PHP
  • 2 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 8 Versions
  • 0 % Grown

The README.md

Yii2-cashbox-module

composer require halumein/yii2-cashbox-module "*"

миграции:, (*1)

php yii migrate --migrationPath=vendor/halumein/yii2-cashbox-module/migrations

В конфигурационный файл приложения добавить модуль cashbox, (*2)

    'modules' => [
        'cashbox' => [
            'class' => 'halumein\cashbox\Module',
        ],
        //...
    ]

Дополнительные параметры:, (*3)

    'modules' => [
        'cashbox' => [
            'class' => 'halumein\cashbox\Module',
            'userModel' => 'common\models\YourUser', // класс пользователя используемый в приложении. если не указан то Yii::$app->user->identity
            'paymentSuccessRedirect' => '/order/order/print',  //редирект после успешной оплаты
            'printRedirect' => '/order/order/print' // редирект на action печати чека после оплаты
            'payedStatus' => 'payed', // для простановки статусов в ордере "оплачен"
            'halfpayedStatus' => 'halfpayed', // для простановки статусов в ордере "частично оплачен"
            'lessSumPaymentTypes' => [5], // тип оплаты в котором сумма платжа допустима быть меньше суммы заказа

            // для автоподстановки кассы в зависимости от типа оплаты из виджета заказа в виджет формы оплаты
            'paymentTypeToCashbox' => [
                1 => 1, // id типа оплаты => id кассы
            ],

            // для формирования ссылок в списке операций
            'linksToViews' => [
                'dvizh\order\models\Order' => [
                    'viewUrl' => '/order/order/view',
                    'itemIdField' => 'id'
                ]
            ],
        ],
        //...
    ]

В используемую модель пользователя добавить реализации необходимых методов. Например, могут выглядеть так:, (*4)

use halumein\cashbox\models\Cashbox; //модель кассы

class YourUser extends ActiveRecord implements \halumein\cashbox\interfaces\User
{
    ...
        public function getId()
        {
            return $this->getPrimaryKey();
        }

        public function setDefaultCashbox($cashboxId)
        {
             $this->default_cashbox = $cashboxId;
             return $this->save(false);
        }

        public function getDefaultCashbox()
        {
            return $this->default_cashbox;
        }

        public function getName($id = null)
        {
            return $this->userProfile->getName();
        }

        public function getFullName($id = null)
        {
            return $this->userProfile->getFullName();
        }

        // для получения доступных касс пользователю
        public function getCashboxes()
        {
            return $this->hasMany(Cashbox::className(), ['id' => 'cashbox_id'])
                        ->viaTable('cashbox_user_to_cashbox', ['user_id' => 'id']);
        }


    ...
}

дальше обращаться по адресу cashbox/имя_контроллера доуступные роуты:, (*5)

cashbox/cashbox - индекс касс
cashbox/operation - индекс транзакций
cashbox/exchange - индекс переводов между кассами
cashbox/revision - индекс сверок

Виджет выбора дефолтной кассы: Для использования виджета потребуется дополнить таблицу пользователя в базе данных полем "default_cashbox", куда будет записываться id кассы по умолчанию для выбранного пользователя., (*6)

Вывод виджета, (*7)

    <?= halumein\cashbox\widgets\UserCashboxSelector::widget() ?>

Доступные методы компонента:, (*8)

    Yii::$app->cashbox->addTransaction();
    Yii::$app->cashbox->getIncomeSumByPeriod();
    Yii::$app->cashbox->getIncomeSumByPeriod();

The Versions

18/07 2017

dev-master

9999999-dev https://github.com/halumein

cashbox

  Sources   Download

BSD-3-Clause

The Requires

 

by Vadim Trishlin

yii2 application education

24/09 2016

dev-integration_fixes

dev-integration_fixes https://github.com/halumein

cashbox

  Sources   Download

BSD-3-Clause

The Requires

 

by Vadim Trishlin

yii2 application education

23/09 2016

dev-revision

dev-revision https://github.com/halumein

cashbox

  Sources   Download

BSD-3-Clause

The Requires

 

by Vadim Trishlin

yii2 application education

22/09 2016

dev-cashbox_operation_fixes

dev-cashbox_operation_fixes https://github.com/halumein

cashbox

  Sources   Download

BSD-3-Clause

The Requires

 

by Vadim Trishlin

yii2 application education

21/09 2016

dev-cashbox_to_user

dev-cashbox_to_user https://github.com/halumein

cashbox

  Sources   Download

BSD-3-Clause

The Requires

 

by Vadim Trishlin

yii2 application education

20/09 2016

dev-rbac

dev-rbac https://github.com/halumein

cashbox

  Sources   Download

BSD-3-Clause

The Requires

 

by Vadim Trishlin

yii2 application education

13/09 2016

dev-exchange

dev-exchange https://github.com/halumein

cashbox

  Sources   Download

BSD-3-Clause

The Requires

 

by Vadim Trishlin

yii2 application education

13/09 2016

dev-operations

dev-operations https://github.com/halumein

cashbox

  Sources   Download

BSD-3-Clause

The Requires

 

by Vadim Trishlin

yii2 application education