fitness-web/frontend/components/FrontendMenuStructure.php
2015-11-03 09:50:54 +01:00

102 lines
3.4 KiB
PHP

<?php
namespace frontend\components;
use Yii;
use common\models\Order;
use yii\helpers\Html;
use common\models\MoneyMovement;
use yii\db\Query;
use common\models\AccountState;
class FrontendMenuStructure{
public $menuItems;
public $start;//start date and time
public $tomorrow;//tomorrow date and time
public $startDate;//start date
public $tomorrowDate;//tomorrow date
public function __construct(){
$this->menuItems = [];
$this->start = Yii::$app->formatter->asDatetime( strtotime('today UTC') );
$this->tomorrow = Yii::$app->formatter->asDatetime( strtotime('tomorrow UTC') );
$this->startDate = Yii::$app->formatter->asDate( strtotime('today UTC') );
$this->tomorrowDate = Yii::$app->formatter->asDate( strtotime('tomorrow UTC') );
Yii::info("Start date is : ". $this->start);
if ( $this->isLogged() ){
$lastAccountState = AccountState::find()->andWhere(['id_user' => Yii::$app->user->id])->orderBy(['account_state.created_at' => SORT_DESC])->limit(1)->one();
if ( isset($lastAccountState) ){
$this->start = Yii::$app->formatter->asDatetime(strtotime( $lastAccountState->created_at . ' UTC' ));
}
}
// print_r($this->start);
// print_r($this->tomorrow);
}
protected function can($authItem){
$result = false;
if (\Yii::$app->user->can($authItem)) {
$result = true;
}
return $result;
}
protected function isLogged(){
return !Yii::$app->user->isGuest;
}
protected function addRecepcio(){
if ( $this->isLogged() ){
$this->menuItems[] = ['label' => 'Recepcio', 'url' => ['/customer/reception'] ];
// , 'MoneyMovementSearch[start]' => $this->start, 'MoneyMovementSearch[end]' => $this->tomorrow
// $this->menuItems[] = ['label' => 'Pénzmozgások', 'url' => [ '/money-movement/index', 'MoneyMovementSearch[start]' => $this->start, 'MoneyMovementSearch[end]' => $this->tomorrow ] ];
$this->menuItems[] = ['label' => 'Kassza',
'items' => [
['label' => Yii::t('frontend/account-state','Default account'), 'url' => ['/account/select'] ],
['label' => Yii::t('frontend/account-state', 'Account states'), 'url' => ['/account-state/index'] ],
['label' => Yii::t('frontend/account-state','Open account state'), 'url' => ['/account-state/open'] ],
['label' => Yii::t('frontend/account-state','Close account state'), 'url' => ['/account-state/close'] ],
['label' => 'Pénzmozgások', 'url' => [ '/money-movement/index', 'MoneyMovementSearch[start]' => $this->start, 'MoneyMovementSearch[end]' => $this->tomorrow ] ],
['label' => Yii::t('frontend/transfer','Transfers'), 'url' => ['/transfer/index', 'TransferSearch[start]' => $this->start, 'TransferSearch[end]' => $this->tomorrow ] ],
['label' => 'Zárások', 'url' => ['/collection/index' , 'CollectionSearch[start]' =>$this->start,'CollectionSearch[end]' => $this->tomorrow ] ]
]
];
}
}
protected function addLoginMainMenu(){
if (Yii::$app->user->isGuest) {
$mainMenuItem= ['label' => 'Login', 'url' => ['/site/login']];
} else {
$mainMenuItem= [
'label' => 'Kijelentkezés (' . Yii::$app->user->identity->username . ')',
'url' => ['/site/logout'],
'linkOptions' => ['data-method' => 'post']
];
}
$this->menuItems[] = $mainMenuItem;
}
public function run(){
$this->addRecepcio();
$this->addLoginMainMenu();
return $this->menuItems;
}
}