Commit eb74a2bf98aa430d41f276fac8b405a32ee52f5c

Authored by Administrator
1 parent 49c47c76

14.06.16

backend/views/seo/index.php
... ... @@ -27,8 +27,6 @@ $this->params['breadcrumbs'][] = $this->title;
27 27 'seo_id',
28 28 'url:url',
29 29 'meta',
30   - 'title',
31   - 'description',
32 30 'h1',
33 31 // 'seo_text:ntext',
34 32  
... ...
common/modules/product/models/Category.php
... ... @@ -8,7 +8,6 @@ use common\components\artboxtree\ArtboxTreeHelper;
8 8 use common\modules\relation\relationBehavior;
9 9 use common\modules\rubrication\behaviors\ArtboxSynonymBehavior;
10 10 use Yii;
11   -use yii\base\ErrorException;
12 11  
13 12 /**
14 13 * This is the model class for table "category".
... ... @@ -29,7 +28,6 @@ use yii\base\ErrorException;
29 28 * @property boolean $populary
30 29 *
31 30 * @property CategoryName $categoryName
32   - * @property Product[] $products
33 31 * @property ProductUnit $productUnit
34 32 * @property CategoryName[] $categoryNames
35 33 * @property ProductCategory[] $productCategories
... ... @@ -205,12 +203,4 @@ class Category extends \yii\db\ActiveRecord
205 203 }
206 204 return false;
207 205 }
208   -
209   - public function beforeDelete()
210   - {
211   - if ( ($count = $this->getProducts()->count()) > 0) {
212   - throw new ErrorException('С категорией "'. $this->name .'" связанно <strong>'. $count .'</strong> товаров. Удаление невозможно.');
213   - return false;
214   - }
215   - }
216 206 }
... ...
common/modules/product/models/Product.php
... ... @@ -233,20 +233,7 @@ class Product extends \yii\db\ActiveRecord
233 233  
234 234 public function getOptions() {
235 235 return $this->hasMany(TaxOption::className(), ['tax_option_id' => 'option_id'])->viaTable('product_option', ['product_id' => 'product_id']);
236   - }
237   -
238   - public function getProperties() {
239   - $groups = $options = [];
240   - foreach ($this->options as $option) {
241   - $options[$option->tax_group_id][] = $option;
242   - }
243   - foreach (TaxGroup::find()->where(['tax_group_id' => array_keys($options)])->all() as $group) {
244   - if (!empty($options[$group->tax_group_id])) {
245   - $group->_options = $options[$group->tax_group_id];
246   - $groups[] = $group;
247   - }
248   - }
249   - return $groups;
  236 +// return $this->getRelations('product_option');
250 237 }
251 238  
252 239 public function getStocks() {
... ... @@ -387,4 +374,18 @@ class Product extends \yii\db\ActiveRecord
387 374 }
388 375 return $op;
389 376 }
  377 +
  378 + public function getProperties() {
  379 + $groups = $options = [];
  380 + foreach ($this->options as $option) {
  381 + $options[$option->tax_group_id][] = $option;
  382 + }
  383 + foreach (TaxGroup::find()->where(['tax_group_id' => array_keys($options)])->all() as $group) {
  384 + if (!empty($options[$group->tax_group_id])) {
  385 + $group->_options = $options[$group->tax_group_id];
  386 + $groups[] = $group;
  387 + }
  388 + }
  389 + return $groups;
  390 + }
390 391 }
... ...
common/widgets/Mailer.php
... ... @@ -41,7 +41,7 @@ class Mailer extends Widget{
41 41 return 'Mailer Error: ' . $mail->ErrorInfo;
42 42 } else {
43 43  
44   - \Yii::$app->getSession()->setFlash('success', 'Мастер-приемщик свяжется с вами в ближайшее время');
  44 +
45 45 return 'Message has been sent';
46 46 }
47 47 }
... ...
frontend/controllers/BasketController.php
... ... @@ -40,20 +40,48 @@ class BasketController extends Controller
40 40 }
41 41 $body .= "\n\r";
42 42  
43   - if ($modelOrder->load(Yii::$app->request->post()) && $modelOrder->save()) {
  43 + if ($modelOrder->load(Yii::$app->request->post()) && $modelOrder->validate()) {
44 44 $productV = $_POST['ProductVariant'];
45 45  
46 46 foreach ($productV as $index=>$row) {
47 47 $modelOrdersProducts = new OrdersProducts();
48 48 $mod_id = $row['id'];
49   - unset($row['id']);
  49 +
50 50 $data['OrdersProducts'] = $row;
51 51 $data['OrdersProducts']['mod_id'] = $mod_id;
52 52 $data['OrdersProducts']['order_id'] = $modelOrder->id;
53   - $productV[$index]['img'] = \common\components\artboximage\ArtboxImageHelper::getImageSrc(ProductVariant::findOne($mod_id)->image->imageUrl, 'list');
54   - $modelOrdersProducts->load($data);
55   - $modelOrdersProducts->save();
  53 + $product = ProductVariant::findOne($mod_id);
  54 + /**
  55 + * Проверяем товар на наличие
  56 + */
  57 + if(!$product->stock > 0 && !$product->price > 0 ){
  58 + \Yii::$app->getSession()->setFlash('error', 'К сожалению товара '.$product->name . ' нет в наличии');
  59 +
  60 + $basket_mods = $modelOrder->getBasketMods();
  61 + return $this->render('index',[
  62 + 'modelMod'=>$modelMod,
  63 + 'basket_mods'=>$basket_mods,
  64 + 'modelOrder'=>$modelOrder,
  65 + ]);
  66 + }else {
  67 +
  68 + /**
  69 + * Удаляем товар с массива и сохраняем в заказ
  70 + */
  71 + unset($row['id']);
  72 + $productV[$index]['img'] = \common\components\artboximage\ArtboxImageHelper::getImageSrc($product->image->imageUrl, 'list');
  73 + $modelOrdersProducts->load($data);
  74 + $modelOrdersProducts->save();
  75 + }
  76 +
56 77 }
  78 +
  79 + /**
  80 + * Сохраняем заказ
  81 + */
  82 +
  83 + $modelOrder->save();
  84 +
57 85 if(!Yii::$app->user->id && !empty($modelOrder->email)){
58 86 $modelUser = new Customer();
59 87 $modelUser->role = 'person';
... ... @@ -65,6 +93,10 @@ class BasketController extends Controller
65 93 $modelUser->save();
66 94 }
67 95 $order = clone $modelOrder;
  96 + /**
  97 + * Чистим сессию корзины
  98 + */
  99 +
68 100 $modelOrder->clearBasket();
69 101  
70 102 Mailer::widget(
... ...
frontend/views/basket/index.php
... ... @@ -41,7 +41,12 @@ $(&#39;#orders-delivery input[type=\&quot;radio\&quot;]&#39;).click(function(){
41 41  
42 42 <h1 class="basket_title_">Корзина</h1>
43 43 <div class="ten"></div>
44   -
  44 + <?php if ($flash = Yii::$app->session->getFlash ('success')): ?>
  45 + <div class="alert-success"><?= $flash ?></div>
  46 + <?php endif; ?>
  47 + <?php if ($flash = Yii::$app->session->getFlash ('error')): ?>
  48 + <div class="alert-error"><?= $flash ?></div>
  49 + <?php endif; ?>
45 50 <?php $form = ActiveForm::begin(['enableClientScript' => false]); ?>
46 51 <div class="rightbar basket_rightbar">
47 52 <div class="form-order">
... ...
frontend/views/iam/share.php
... ... @@ -46,6 +46,7 @@ $this-&gt;registerJs(&quot;
46 46  
47 47 <div class="orders_view">
48 48 <?foreach($_items as $item_p):if(!empty($item_p->product)):?>
  49 + <?= print_r($item_p->product); die(); ?>
49 50 <div class="order">
50 51 <div><a href="<?=Url::to(['iam/share','deleteID'=>$item_p->id])?>" class="delete_button"></a></div>
51 52 <div class="pixbox"><a href="<?=Url::to(['catalog/product', 'product' => $item_p->product])?>">
... ...