Merge pull request #36 from apuc/sum_and_calendar

Sum and calendar
This commit is contained in:
kavalar 2020-02-04 12:37:40 +03:00 committed by GitHub
commit 2f73cf6cee
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
9 changed files with 218 additions and 75 deletions

View File

@ -58,3 +58,9 @@ frontend
vendor/ contains dependent 3rd-party packages vendor/ contains dependent 3rd-party packages
environments/ contains environment-based overrides environments/ contains environment-based overrides
``` ```
<p>
Для ролей поднять миграцию <br>
php yii migrate --migrationPath=@yii/rbac/migrations <br>
и выполнить консольный скрипт <br>
php yii rbac/init <br>
</p>

View File

@ -44,6 +44,9 @@ return [
'calendar' => [ 'calendar' => [
'class' => 'backend\modules\calendar\Calendar', 'class' => 'backend\modules\calendar\Calendar',
], ],
'gridview' => [
'class' => 'kartik\grid\Module',
]
], ],
'components' => [ 'components' => [
'request' => [ 'request' => [

View File

@ -2,12 +2,14 @@
namespace app\modules\accesses\controllers; namespace app\modules\accesses\controllers;
use backend\modules\card\models\UserCardSearch;
use common\classes\Debug; use common\classes\Debug;
use common\models\ProjectAccesses; use common\models\ProjectAccesses;
use common\models\UserCardAccesses; use common\models\UserCardAccesses;
use Yii; use Yii;
use common\models\Accesses; use common\models\Accesses;
use app\modules\accesses\models\AccessesSearch; use app\modules\accesses\models\AccessesSearch;
use yii\data\ActiveDataProvider;
use yii\filters\AccessControl; use yii\filters\AccessControl;
use yii\web\Controller; use yii\web\Controller;
use yii\web\NotFoundHttpException; use yii\web\NotFoundHttpException;
@ -48,12 +50,19 @@ class AccessesController extends Controller
*/ */
public function actionIndex() public function actionIndex()
{ {
$searchModel = new AccessesSearch(); $searchModel = new UserCardSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams); $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
// $query = \common\models\UserCard::find()->select(['id_user', 'fio', 'email']);
//
// $provider = new ActiveDataProvider([
// 'query' => $query,
// ]);
return $this->render('index', [ return $this->render('index', [
'searchModel' => $searchModel, 'searchModel' => $searchModel,
'dataProvider' => $dataProvider, 'dataProvider' => $dataProvider,
//'provider' => $provider
]); ]);
} }

View File

@ -2,6 +2,7 @@
namespace app\modules\accesses\models; namespace app\modules\accesses\models;
use common\classes\Debug;
use yii\base\Model; use yii\base\Model;
use yii\data\ActiveDataProvider; use yii\data\ActiveDataProvider;
use common\models\Accesses; use common\models\Accesses;
@ -11,6 +12,8 @@ use common\models\Accesses;
*/ */
class AccessesSearch extends Accesses class AccessesSearch extends Accesses
{ {
public $fio;
/** /**
* {@inheritdoc} * {@inheritdoc}
*/ */
@ -18,7 +21,7 @@ class AccessesSearch extends Accesses
{ {
return [ return [
[['id'], 'integer'], [['id'], 'integer'],
[['name', 'login', 'password', 'link', 'project', 'info'], 'safe'], [['name', 'login', 'password', 'link', 'project', 'info', 'fio'], 'safe'],
]; ];
} }
@ -40,12 +43,16 @@ class AccessesSearch extends Accesses
*/ */
public function search($params) public function search($params)
{ {
$query = Accesses::find(); //Debug::dd($params);
$query = Accesses::find()
->leftJoin('user_card_accesses', 'accesses.id = user_card_accesses.accesses_id')
->leftJoin('user_card', 'user_card_accesses.user_card_id = user_card.id')
->orderBy('user_card.fio asc');
// add conditions that should always apply here // add conditions that should always apply here
$dataProvider = new ActiveDataProvider([ $dataProvider = new ActiveDataProvider([
'query' => $query, 'query' => $query
]); ]);
$this->load($params); $this->load($params);

View File

@ -0,0 +1,29 @@
<?php
use yii\grid\GridView;
use yii\helpers\Html;
/* @var $searchModel app\modules\accesses\models\AccessesSearch */
/* @var $dataProvider yii\data\ActiveDataProvider */
echo GridView::widget([
'dataProvider' => $dataProvider,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'name',
'login',
'password',
'link',
'project',
[
'class' => 'yii\grid\ActionColumn',
'template' => '{view} {update} {delete}',
'buttons' => [
'delete' => function ($data) {
return Html::a("<span class='glyphicon glyphicon-trash' aria-hidden='true'></span>",
['/accesses/accesses/custom-delete', 'id' => $data]);
},
],
],
]
]);

View File

@ -1,7 +1,8 @@
<?php <?php
use app\modules\accesses\models\AccessesSearch;
use kartik\grid\GridView;
use yii\helpers\Html; use yii\helpers\Html;
use yii\grid\GridView;
/* @var $this yii\web\View */ /* @var $this yii\web\View */
/* @var $searchModel app\modules\accesses\models\AccessesSearch */ /* @var $searchModel app\modules\accesses\models\AccessesSearch */
@ -12,48 +13,41 @@ $this->params['breadcrumbs'][] = $this->title;
?> ?>
<div class="accesses-index"> <div class="accesses-index">
<?php // echo $this->render('_search', ['model' => $searchModel]); ?> <?php // echo $this->render('_search', ['model' => $searchModel]); ?>
<p> <p>
<?= Html::a('Добавить доступ', ['create'], ['class' => 'btn btn-success']) ?> <?= Html::a('Добавить доступ', ['create'], ['class' => 'btn btn-success']) ?>
</p> </p>
<?= GridView::widget([ <?php
echo GridView::widget([
'dataProvider' => $dataProvider, 'dataProvider' => $dataProvider,
'filterModel' => $searchModel, 'filterModel' => $searchModel,
'pjax' => true,
'striped' => true,
'hover' => true,
'toggleDataContainer' => ['class' => 'btn-group mr-2'],
'columns' => [ 'columns' => [
['class' => 'yii\grid\SerialColumn'], ['class' => 'yii\grid\SerialColumn'],
'name',
'login',
'password',
'link',
'project',
[ [
'attribute' => 'userCard.fio', 'class' => 'kartik\grid\ExpandRowColumn',
'format' => 'raw', 'width' => '50px',
'value' => function(\common\models\Accesses $model){ 'value' => function ($model, $key, $index, $column) {
return $model->getUserCardName(); return GridView::ROW_COLLAPSED;
}, },
'detail' => function ($model, $key, $index, $column) {
$searchAccesses = new AccessesSearch();
$providerAccesses = $searchAccesses->search(Yii::$app->request->queryParams);
$providerAccesses->query->andWhere(['user_card.id_user' => $model->id_user]);
return Yii::$app->controller->renderPartial('_expand-row-details', ['dataProvider' => $providerAccesses]);
},
'headerOptions' => ['class' => 'kartik-sheet-style'],
'expandOneOnly' => true
], ],
// [ 'fio',
// 'attribute' => 'projects.name', 'email'
// 'format' => 'raw',
// 'value' => function(\common\models\Accesses $model){
// return $model->getProjectName();
// },
// ],
[
'class' => 'yii\grid\ActionColumn',
'template' => '{view} {update} {delete}',
'buttons' => [
'delete' => function ($data) {
return Html::a("<span class='glyphicon glyphicon-trash' aria-hidden='true'></span>",
['/accesses/accesses/custom-delete', 'id' => $data]);
},
],
],
// ['class' => 'yii\grid\ActionColumn'],
], ],
]); ?> ]);
?>
</div> </div>

View File

@ -126,6 +126,10 @@ class UserCard extends \common\models\UserCard
$user->save(); $user->save();
$auth = Yii::$app->authManager;
$authorRole = $auth->getRole('user');
$auth->assign($authorRole, $user->id);
$log = "Логин: " . $email . " Пароль: " . $password . " | "; $log = "Логин: " . $email . " Пароль: " . $password . " | ";
file_put_contents("log.txt", $log, FILE_APPEND | LOCK_EX); file_put_contents("log.txt", $log, FILE_APPEND | LOCK_EX);

View File

@ -28,6 +28,7 @@
"mirocow/yii2-eav": "*", "mirocow/yii2-eav": "*",
"kartik-v/yii2-widget-fileinput": "^1.0", "kartik-v/yii2-widget-fileinput": "^1.0",
"2amigos/yii2-file-upload-widget": "~1.0", "2amigos/yii2-file-upload-widget": "~1.0",
"kartik-v/yii2-grid": "dev-master"
}, },
"require-dev": { "require-dev": {
"yiisoft/yii2-debug": "~2.0.0", "yiisoft/yii2-debug": "~2.0.0",

170
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "cd1fbf237e9c2dd5e5075f26ed71b815", "content-hash": "27fb15c02f7c345930818f5f2b532cf8",
"packages": [ "packages": [
{ {
"name": "2amigos/yii2-file-upload-widget", "name": "2amigos/yii2-file-upload-widget",
@ -173,14 +173,13 @@
"version": "v3.16.0", "version": "v3.16.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/blueimp/JavaScript-Canvas-to-Blob.git", "url": "git@github.com:blueimp/JavaScript-Canvas-to-Blob.git",
"reference": "eab2845ebb03c9667ea6ade002ceadbef071c060" "reference": "eab2845ebb03c9667ea6ade002ceadbef071c060"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/blueimp/JavaScript-Canvas-to-Blob/zipball/eab2845ebb03c9667ea6ade002ceadbef071c060", "url": "https://api.github.com/repos/blueimp/JavaScript-Canvas-to-Blob/zipball/eab2845ebb03c9667ea6ade002ceadbef071c060",
"reference": "eab2845ebb03c9667ea6ade002ceadbef071c060", "reference": "eab2845ebb03c9667ea6ade002ceadbef071c060"
"shasum": null
}, },
"type": "bower-asset" "type": "bower-asset"
}, },
@ -189,14 +188,13 @@
"version": "v9.34.0", "version": "v9.34.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/blueimp/jQuery-File-Upload.git", "url": "git@github.com:blueimp/jQuery-File-Upload.git",
"reference": "bb52d3493d725175fcf5554da034a317aaaea0e2" "reference": "bb52d3493d725175fcf5554da034a317aaaea0e2"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/blueimp/jQuery-File-Upload/zipball/bb52d3493d725175fcf5554da034a317aaaea0e2", "url": "https://api.github.com/repos/blueimp/jQuery-File-Upload/zipball/bb52d3493d725175fcf5554da034a317aaaea0e2",
"reference": "bb52d3493d725175fcf5554da034a317aaaea0e2", "reference": "bb52d3493d725175fcf5554da034a317aaaea0e2"
"shasum": null
}, },
"require": { "require": {
"bower-asset/blueimp-canvas-to-blob": ">=2.1.1", "bower-asset/blueimp-canvas-to-blob": ">=2.1.1",
@ -214,14 +212,13 @@
"version": "v2.17.0", "version": "v2.17.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/blueimp/Gallery.git", "url": "git@github.com:blueimp/Gallery.git",
"reference": "8336bb5934cb623608808601129db3fbf9201a09" "reference": "8336bb5934cb623608808601129db3fbf9201a09"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/blueimp/Gallery/zipball/8336bb5934cb623608808601129db3fbf9201a09", "url": "https://api.github.com/repos/blueimp/Gallery/zipball/8336bb5934cb623608808601129db3fbf9201a09",
"reference": "8336bb5934cb623608808601129db3fbf9201a09", "reference": "8336bb5934cb623608808601129db3fbf9201a09"
"shasum": null
}, },
"type": "bower-asset" "type": "bower-asset"
}, },
@ -230,14 +227,13 @@
"version": "v2.24.0", "version": "v2.24.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/blueimp/JavaScript-Load-Image.git", "url": "git@github.com:blueimp/JavaScript-Load-Image.git",
"reference": "1196b4ce3c56f01cacf90fc5527b324ecccdf3b0" "reference": "1196b4ce3c56f01cacf90fc5527b324ecccdf3b0"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/blueimp/JavaScript-Load-Image/zipball/1196b4ce3c56f01cacf90fc5527b324ecccdf3b0", "url": "https://api.github.com/repos/blueimp/JavaScript-Load-Image/zipball/1196b4ce3c56f01cacf90fc5527b324ecccdf3b0",
"reference": "1196b4ce3c56f01cacf90fc5527b324ecccdf3b0", "reference": "1196b4ce3c56f01cacf90fc5527b324ecccdf3b0"
"shasum": null
}, },
"type": "bower-asset" "type": "bower-asset"
}, },
@ -246,14 +242,13 @@
"version": "v3.13.0", "version": "v3.13.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/blueimp/JavaScript-Templates.git", "url": "git@github.com:blueimp/JavaScript-Templates.git",
"reference": "07b3dd455b971cf5d087fc86889fcadae48ab2fc" "reference": "07b3dd455b971cf5d087fc86889fcadae48ab2fc"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/blueimp/JavaScript-Templates/zipball/07b3dd455b971cf5d087fc86889fcadae48ab2fc", "url": "https://api.github.com/repos/blueimp/JavaScript-Templates/zipball/07b3dd455b971cf5d087fc86889fcadae48ab2fc",
"reference": "07b3dd455b971cf5d087fc86889fcadae48ab2fc", "reference": "07b3dd455b971cf5d087fc86889fcadae48ab2fc"
"shasum": null
}, },
"type": "bower-asset" "type": "bower-asset"
}, },
@ -262,14 +257,13 @@
"version": "v3.4.1", "version": "v3.4.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/twbs/bootstrap.git", "url": "git@github.com:twbs/bootstrap.git",
"reference": "68b0d231a13201eb14acd3dc84e51543d16e5f7e" "reference": "68b0d231a13201eb14acd3dc84e51543d16e5f7e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/twbs/bootstrap/zipball/68b0d231a13201eb14acd3dc84e51543d16e5f7e", "url": "https://api.github.com/repos/twbs/bootstrap/zipball/68b0d231a13201eb14acd3dc84e51543d16e5f7e",
"reference": "68b0d231a13201eb14acd3dc84e51543d16e5f7e", "reference": "68b0d231a13201eb14acd3dc84e51543d16e5f7e"
"shasum": null
}, },
"require": { "require": {
"bower-asset/jquery": ">=1.9.1,<4.0" "bower-asset/jquery": ">=1.9.1,<4.0"
@ -284,14 +278,13 @@
"version": "3.3.11", "version": "3.3.11",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/RobinHerbots/Inputmask.git", "url": "git@github.com:RobinHerbots/Inputmask.git",
"reference": "5e670ad62f50c738388d4dcec78d2888505ad77b" "reference": "5e670ad62f50c738388d4dcec78d2888505ad77b"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/RobinHerbots/Inputmask/zipball/5e670ad62f50c738388d4dcec78d2888505ad77b", "url": "https://api.github.com/repos/RobinHerbots/Inputmask/zipball/5e670ad62f50c738388d4dcec78d2888505ad77b",
"reference": "5e670ad62f50c738388d4dcec78d2888505ad77b", "reference": "5e670ad62f50c738388d4dcec78d2888505ad77b"
"shasum": null
}, },
"require": { "require": {
"bower-asset/jquery": ">=1.7" "bower-asset/jquery": ">=1.7"
@ -306,14 +299,13 @@
"version": "3.4.1", "version": "3.4.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/jquery/jquery-dist.git", "url": "git@github.com:jquery/jquery-dist.git",
"reference": "15bc73803f76bc53b654b9fdbbbc096f56d7c03d" "reference": "15bc73803f76bc53b654b9fdbbbc096f56d7c03d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/jquery/jquery-dist/zipball/15bc73803f76bc53b654b9fdbbbc096f56d7c03d", "url": "https://api.github.com/repos/jquery/jquery-dist/zipball/15bc73803f76bc53b654b9fdbbbc096f56d7c03d",
"reference": "15bc73803f76bc53b654b9fdbbbc096f56d7c03d", "reference": "15bc73803f76bc53b654b9fdbbbc096f56d7c03d"
"shasum": null
}, },
"type": "bower-asset", "type": "bower-asset",
"license": [ "license": [
@ -325,14 +317,13 @@
"version": "1.12.1", "version": "1.12.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "git@github.com:components/jqueryui.git", "url": "https://github.com/components/jqueryui.git",
"reference": "44ecf3794cc56b65954cc19737234a3119d036cc" "reference": "44ecf3794cc56b65954cc19737234a3119d036cc"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/components/jqueryui/zipball/44ecf3794cc56b65954cc19737234a3119d036cc", "url": "https://api.github.com/repos/components/jqueryui/zipball/44ecf3794cc56b65954cc19737234a3119d036cc",
"reference": "44ecf3794cc56b65954cc19737234a3119d036cc", "reference": "44ecf3794cc56b65954cc19737234a3119d036cc"
"shasum": null
}, },
"require": { "require": {
"bower-asset/jquery": ">=1.6" "bower-asset/jquery": ">=1.6"
@ -353,8 +344,7 @@
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/moment/moment/zipball/96d0d6791ab495859d09a868803d31a55c917de1", "url": "https://api.github.com/repos/moment/moment/zipball/96d0d6791ab495859d09a868803d31a55c917de1",
"reference": "96d0d6791ab495859d09a868803d31a55c917de1", "reference": "96d0d6791ab495859d09a868803d31a55c917de1"
"shasum": null
}, },
"type": "bower-asset", "type": "bower-asset",
"license": [ "license": [
@ -372,8 +362,7 @@
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/nkovacs/bootstrap-datetimepicker/zipball/e2cd618741a467b702cc1076c3dc07472cd226b5", "url": "https://api.github.com/repos/nkovacs/bootstrap-datetimepicker/zipball/e2cd618741a467b702cc1076c3dc07472cd226b5",
"reference": "e2cd618741a467b702cc1076c3dc07472cd226b5", "reference": "e2cd618741a467b702cc1076c3dc07472cd226b5"
"shasum": null
}, },
"require": { "require": {
"bower-asset/jquery": ">=1.8.3", "bower-asset/jquery": ">=1.8.3",
@ -395,8 +384,7 @@
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/bestiejs/punycode.js/zipball/38c8d3131a82567bfef18da09f7f4db68c84f8a3", "url": "https://api.github.com/repos/bestiejs/punycode.js/zipball/38c8d3131a82567bfef18da09f7f4db68c84f8a3",
"reference": "38c8d3131a82567bfef18da09f7f4db68c84f8a3", "reference": "38c8d3131a82567bfef18da09f7f4db68c84f8a3"
"shasum": null
}, },
"type": "bower-asset" "type": "bower-asset"
}, },
@ -405,14 +393,13 @@
"version": "2.0.7.1", "version": "2.0.7.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "git@github.com:yiisoft/jquery-pjax.git", "url": "https://github.com/yiisoft/jquery-pjax.git",
"reference": "aef7b953107264f00234902a3880eb50dafc48be" "reference": "aef7b953107264f00234902a3880eb50dafc48be"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/yiisoft/jquery-pjax/zipball/aef7b953107264f00234902a3880eb50dafc48be", "url": "https://api.github.com/repos/yiisoft/jquery-pjax/zipball/aef7b953107264f00234902a3880eb50dafc48be",
"reference": "aef7b953107264f00234902a3880eb50dafc48be", "reference": "aef7b953107264f00234902a3880eb50dafc48be"
"shasum": null
}, },
"require": { "require": {
"bower-asset/jquery": ">=1.8" "bower-asset/jquery": ">=1.8"
@ -853,6 +840,109 @@
], ],
"time": "2019-09-11T18:05:56+00:00" "time": "2019-09-11T18:05:56+00:00"
}, },
{
"name": "kartik-v/yii2-dialog",
"version": "v1.0.5",
"source": {
"type": "git",
"url": "https://github.com/kartik-v/yii2-dialog.git",
"reference": "c38616d719f52530749457c022ca6134d0ad31ce"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/kartik-v/yii2-dialog/zipball/c38616d719f52530749457c022ca6134d0ad31ce",
"reference": "c38616d719f52530749457c022ca6134d0ad31ce",
"shasum": ""
},
"require": {
"kartik-v/yii2-krajee-base": ">=2.0.0"
},
"type": "yii2-extension",
"extra": {
"branch-alias": {
"dev-master": "1.0.x-dev"
}
},
"autoload": {
"psr-4": {
"kartik\\dialog\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Kartik Visweswaran",
"email": "kartikv2@gmail.com",
"homepage": "http://www.krajee.com/"
}
],
"description": "An asset bundle for bootstrap3-dialog for Yii 2.0 framework.",
"homepage": "https://github.com/kartik-v/yii2-dialog",
"keywords": [
"alert",
"bootstrap",
"dialog",
"extension",
"modal",
"yii2"
],
"time": "2018-10-09T08:08:51+00:00"
},
{
"name": "kartik-v/yii2-grid",
"version": "dev-master",
"source": {
"type": "git",
"url": "https://github.com/kartik-v/yii2-grid.git",
"reference": "878da21514481b81fa2e4d989069095aa9a3f002"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/kartik-v/yii2-grid/zipball/878da21514481b81fa2e4d989069095aa9a3f002",
"reference": "878da21514481b81fa2e4d989069095aa9a3f002",
"shasum": ""
},
"require": {
"kartik-v/yii2-dialog": "~1.0"
},
"suggest": {
"kartik-v/yii2-mpdf": "For exporting grids to PDF"
},
"type": "yii2-extension",
"extra": {
"branch-alias": {
"dev-master": "3.3.x-dev"
}
},
"autoload": {
"psr-4": {
"kartik\\grid\\": "src"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"BSD-3-Clause"
],
"authors": [
{
"name": "Kartik Visweswaran",
"email": "kartikv2@gmail.com",
"homepage": "http://www.krajee.com/"
}
],
"description": "Yii 2 GridView on steroids. Various enhancements and utilities for the Yii 2.0 GridView widget.",
"homepage": "https://github.com/kartik-v/yii2-grid",
"keywords": [
"extension",
"grid",
"widget",
"yii2"
],
"time": "2020-01-04T12:20:10+00:00"
},
{ {
"name": "kartik-v/yii2-krajee-base", "name": "kartik-v/yii2-krajee-base",
"version": "v2.0.5", "version": "v2.0.5",
@ -2132,8 +2222,7 @@
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/twitter/typeahead.js/zipball/588440f66559714280628a4f9799f0c4eb880a4a", "url": "https://api.github.com/repos/twitter/typeahead.js/zipball/588440f66559714280628a4f9799f0c4eb880a4a",
"reference": "588440f66559714280628a4f9799f0c4eb880a4a", "reference": "588440f66559714280628a4f9799f0c4eb880a4a"
"shasum": null
}, },
"require": { "require": {
"bower-asset/jquery": ">=1.7" "bower-asset/jquery": ">=1.7"
@ -4855,7 +4944,8 @@
"stability-flags": { "stability-flags": {
"kartik-v/yii2-widget-select2": 20, "kartik-v/yii2-widget-select2": 20,
"kavalar/hhapi": 20, "kavalar/hhapi": 20,
"kartik-v/yii2-widget-datepicker": 20 "kartik-v/yii2-widget-datepicker": 20,
"kartik-v/yii2-grid": 20
}, },
"prefer-stable": false, "prefer-stable": false,
"prefer-lowest": false, "prefer-lowest": false,