Beispiel #1
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = ProductCategory::find();
     $dataProvider = new ActiveDataProvider(['query' => $query, 'pagination' => ['pageSize' => 1]]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'created_time' => $this->created_time, 'last_update' => $this->last_update]);
     $query->andFilterWhere(['like', 'name', $this->name])->andFilterWhere(['like', 'code', $this->code])->andFilterWhere(['like', 'detail', $this->detail]);
     return $dataProvider;
 }
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $productsCountSql = self::getProductsCountQuery('`pc`.`id`')->createCommand()->sql;
     $query = ProductCategory::find()->select(['`pc`.*', "({$productsCountSql}) AS `productsCount`"])->from(ProductCategory::tableName() . ' `pc`');
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere([]);
     $query->andFilterWhere(['like', 'name', $this->name]);
     $dataProvider->sort = ['attributes' => ['name', 'productsCount'], 'defaultOrder' => ['name' => SORT_ASC]];
     return $dataProvider;
 }
Beispiel #3
0
        <?=
        GridView::widget([
            'dataProvider' => $dataProvider,
            'filterModel' => $searchModel,
            'columns' => [
                ['class' => 'yii\grid\SerialColumn'],
//            'id',
                'code',
                'name',
//                'detail:ntext',
//                'created_time',
                // 'last_update',
//                 'product_category_id',
                [
                    'attribute' => 'product_category_id',
                    'header' => Yii::t('app', 'Product Category'),
                    'filter' => Html::activeDropDownList($searchModel, 'product_category_id', ArrayHelper::map(\app\models\ProductCategory::find()->asArray()->all(), 'id', 'name'), ['class' => 'form-control', 'prompt' => Yii::t('app', 'All')]),
                    'value' => function ($data) {
                return $data->productCategory->name;
            }
                ],
                ['class' => 'yii\grid\ActionColumn',
                    'template' => '{update} {delete}'
                ],
            ],
        ]);
        ?>
        <?php Pjax::end() ?>
    </div>    
</div>
 /**
  * Updates an existing ProductCategory model.
  * If update is successful, the browser will be redirected to the 'view' page.
  * @param integer $id
  * @return mixed
  */
 public function actionUpdate($id)
 {
     $model = $this->findModel($id);
     if ($model->load(Yii::$app->request->post()) && $model->save()) {
         return $this->redirect(['view', 'id' => $model->id]);
     } else {
         return $this->render('update', ['model' => $model, 'categories' => ProductCategory::find()->orderBy('id')->asArray()->noParents()->all()]);
     }
 }
 /**
  * @return array
  */
 public function getCategoryIdItems()
 {
     if ($this->_categoryIdItems !== null) {
         return $this->_categoryIdItems;
     }
     $this->_categoryIdItems = [];
     $categories = ProductCategory::find()->orderBy('name')->asArray()->all();
     if (!empty($categories)) {
         foreach ($categories as $category) {
             $this->_categoryIdItems[$category['id']] = $category['name'];
         }
     }
     return $this->_categoryIdItems;
 }
 public function actionSearch()
 {
     $post = \Yii::$app->request->post();
     if (isset($post["code"])) {
         $category = ProductCategory::find()->where("code=:code", [":code" => $post["code"]])->one();
         if ($category) {
             echo json_encode(["id" => $category->id, "code" => $category->code, "name" => $category->name]);
         }
     } else {
         echo "";
     }
 }
 public function actionProductsales($groupBy = null)
 {
     $this->layout = 'dashboard';
     $model = new ProductSaleReportForm();
     $modelsales = new SaleOrder();
     $modelsaleine = new SaleOrderLine();
     // Data Category Product
     $category = ProductCategory::find()->all();
     $datacetegory = ArrayHelper::map($category, 'id', 'name');
     // Data Pricelist
     $pricelist = ProductPricelist::find()->where(['type' => 'sale'])->all();
     $datapricelist = ArrayHelper::map($pricelist, 'id', 'name');
     if ($model->load(Yii::$app->request->get())) {
         $query = $this->getSOLineRelatedQuery($model, $groupBy);
     } else {
         $query = $this->getSOLineRelatedQuery($model, $groupBy);
         $productcategory = null;
         $pricelist = null;
     }
     $dataProvider = new ActiveDataProvider(['query' => $query, 'key' => 'id', 'pagination' => ['pageSize' => 100]]);
     if ($groupBy) {
         return $this->render('productsales_form', ['model' => $model, 'type' => 'search', 'dataProvider' => $dataProvider, 'groupBy' => $groupBy, 'datacetegory' => $datacetegory, 'datapricelist' => $datapricelist]);
     } else {
         return $this->render('productsales_form', ['model' => $model, 'type' => 'search', 'dataProvider' => $dataProvider, 'groupBy' => 'nogroup', 'datacetegory' => $datacetegory, 'datapricelist' => $datapricelist]);
     }
 }