Commit 05875b7c by semenov

1

parent 3daac621
...@@ -8,6 +8,8 @@ ...@@ -8,6 +8,8 @@
namespace skeeks\modules\cms\shop\controllers; namespace skeeks\modules\cms\shop\controllers;
use skeeks\cms\base\Controller; use skeeks\cms\base\Controller;
use skeeks\cms\helpers\RequestResponse; use skeeks\cms\helpers\RequestResponse;
use skeeks\cms\helpers\UrlHelper;
use skeeks\cms\models\forms\SignupForm;
use skeeks\modules\cms\form\models\Form; use skeeks\modules\cms\form\models\Form;
use skeeks\modules\cms\form\models\FormField; use skeeks\modules\cms\form\models\FormField;
use skeeks\modules\cms\form\models\FormSendMessage; use skeeks\modules\cms\form\models\FormSendMessage;
...@@ -97,6 +99,28 @@ class BackendController extends Controller ...@@ -97,6 +99,28 @@ class BackendController extends Controller
//Пользователь авторизован или нет. //Пользователь авторизован или нет.
if (\Yii::$app->user->isGuest) if (\Yii::$app->user->isGuest)
{ {
$registerForm = new SignupForm();
$registerForm->setScenario(SignupForm::SCENARION_ONLYEMAIL);
$registerForm->email = $model->email;
$user = $registerForm->signup();
//Проверим может что то можно заполнить в профиле пользователя.
if ($user)
{
foreach ($model->attributes as $code => $value)
{
if ($user->hasAttribute($code))
{
$user->{$code} = $value;
}
}
$user->save(false);
} else
{
throw new UserException("Не удалось зарегистрировать пользователя");
}
} else } else
{ {
...@@ -159,6 +183,15 @@ class BackendController extends Controller ...@@ -159,6 +183,15 @@ class BackendController extends Controller
} }
$rr->success = true;
$rr->message = 'Заказ успешно создан';
\Yii::$app->session->setFlash("success", 'Заказ успешно создан');
return $this->redirect( UrlHelper::construct('shop/order/view', [
'id' => $shopOrder->id,
'sx-new' => '1'
])->toString() );
} else } else
{ {
$rr->message = 'Форма заполнена неправильно'; $rr->message = 'Форма заполнена неправильно';
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
* @date 02.04.2015 * @date 02.04.2015
*/ */
namespace skeeks\modules\cms\shop\models; namespace skeeks\modules\cms\shop\models;
use skeeks\cms\models\User;
use skeeks\cms\helpers\UrlHelper; use skeeks\cms\helpers\UrlHelper;
use skeeks\cms\models\behaviors\HasStatus; use skeeks\cms\models\behaviors\HasStatus;
use skeeks\cms\models\behaviors\HasStatusBoolean; use skeeks\cms\models\behaviors\HasStatusBoolean;
...@@ -51,8 +52,8 @@ use yii\helpers\ArrayHelper; ...@@ -51,8 +52,8 @@ use yii\helpers\ArrayHelper;
* @property string $tax_value * @property string $tax_value
* *
* @property ShopBasket[] $shopBaskets * @property ShopBasket[] $shopBaskets
* @property CmsUser $user * @property User $user
* @property CmsUser $createdBy * @property User $createdBy
* @property ShopPersonType $personType * @property ShopPersonType $personType
* @property CmsUser $updatedBy * @property CmsUser $updatedBy
*/ */
...@@ -161,7 +162,7 @@ class ShopOrder extends Core ...@@ -161,7 +162,7 @@ class ShopOrder extends Core
*/ */
public function getUser() public function getUser()
{ {
return $this->hasOne(CmsUser::className(), ['id' => 'user_id']); return $this->hasOne(User::className(), ['id' => 'user_id']);
} }
/** /**
...@@ -169,7 +170,7 @@ class ShopOrder extends Core ...@@ -169,7 +170,7 @@ class ShopOrder extends Core
*/ */
public function getCreatedBy() public function getCreatedBy()
{ {
return $this->hasOne(CmsUser::className(), ['id' => 'created_by']); return $this->hasOne(User::className(), ['id' => 'created_by']);
} }
/** /**
...@@ -185,7 +186,7 @@ class ShopOrder extends Core ...@@ -185,7 +186,7 @@ class ShopOrder extends Core
*/ */
public function getUpdatedBy() public function getUpdatedBy()
{ {
return $this->hasOne(CmsUser::className(), ['id' => 'updated_by']); return $this->hasOne(User::className(), ['id' => 'updated_by']);
} }
......
<?php
/**
* @author Semenov Alexander <semenov@skeeks.com>
* @link http://skeeks.com/
* @copyright 2010 SkeekS (СкикС)
* @date 03.04.2015
*/
namespace skeeks\modules\cms\shop\widgets\order;
use skeeks\cms\widgets\base\hasModelsSmart\WidgetHasModelsSmart;
use skeeks\cms\widgets\base\hasTemplate\WidgetHasTemplate;
use skeeks\modules\cms\shop\assets\ShopAsset;
use skeeks\modules\cms\shop\models\ShopOrder;
use yii\helpers\Json;
/**
* Class OrdersWidget
* @package skeeks\modules\cms\shop\widgets
*/
class OrderWidget extends WidgetHasTemplate
{
public $modelClassName = '\skeeks\modules\cms\shop\models\ShopOrder';
public $title = '';
/**
* @var ShopOrder
*/
public $model;
public function rules()
{
return ArrayHelper::merge(parent::rules(), [
]);
}
public function attributeLabels()
{
return ArrayHelper::merge(parent::attributeLabels(), [
]);
}
}
...@@ -21,15 +21,36 @@ class OrdersWidget extends WidgetHasModelsSmart ...@@ -21,15 +21,36 @@ class OrdersWidget extends WidgetHasModelsSmart
{ {
public $modelClassName = '\skeeks\modules\cms\shop\models\ShopOrder'; public $modelClassName = '\skeeks\modules\cms\shop\models\ShopOrder';
public $title = ''; public $title = '';
public $user_id;
public function rules() public function rules()
{ {
return ArrayHelper::merge(parent::rules(), [ return ArrayHelper::merge(parent::rules(), [
['user_id', 'integer']
]); ]);
} }
public function attributeLabels() public function attributeLabels()
{ {
return ArrayHelper::merge(parent::attributeLabels(), [ return ArrayHelper::merge(parent::attributeLabels(), [
'user_id' => 'Пользователь'
]); ]);
} }
/**
* Подготовка данных для шаблона
* @return $this
*/
public function bind()
{
parent::bind();
if ($this->user_id)
{
$query = $this->getSearch()->getDataProvider()->query;
$query->andWhere(['user_id' => $this->user_id]);
}
return $this;
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment