Skip to content

Commit 8d1e133

Browse files
committed
prepare new release depend on new deesoft/yii2-angular ext.
1 parent b217317 commit 8d1e133

13 files changed

+58
-17
lines changed

composer.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@
1515
}
1616
],
1717
"require": {
18-
"yiisoft/yii2": ">=2.0.4",
19-
"deesoft/yii2-angular": "~1.2",
18+
"yiisoft/yii2": ">=2.0.6",
19+
"deesoft/yii2-angular": "~1.3",
2020
"deesoft/yii2-adminlte": "~1.0"
2121
},
2222
"autoload": {

controllers/AssignmentController.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ class AssignmentController extends Controller
2323
protected function verbs()
2424
{
2525
return[
26-
'index' => ['GET'],
26+
'index' => ['GET', 'HEAD'],
2727
'view' => ['GET'],
2828
'assign' => ['POST'],
2929
'revoke' => ['POST'],

controllers/ItemController.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ class ItemController extends Controller
2121
protected function verbs()
2222
{
2323
return[
24-
'index'=>['GET'],
25-
'view'=>['GET'],
24+
'index'=>['GET', 'HEAD'],
25+
'view'=>['GET', 'HEAD'],
2626
'create'=>['POST'],
2727
'update'=>['PUT'],
2828
'delete'=>['DELETE'],

controllers/MenuController.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@ class MenuController extends Controller
2121
protected function verbs()
2222
{
2323
return[
24-
'index' => ['GET'],
25-
'view' => ['GET'],
24+
'index' => ['GET', 'HEAD'],
25+
'view' => ['GET', 'HEAD'],
2626
'update' => ['POST', 'PUT'],
2727
'create' => ['POST'],
2828
'delete' => ['DELETE'],

controllers/RouteController.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ class RouteController extends Controller
2424
protected function verbs()
2525
{
2626
return[
27-
'index' => ['GET'],
27+
'index' => ['GET', 'HEAD'],
2828
'add' => ['POST'],
2929
'remove' => ['POST'],
3030
];

controllers/RuleController.php

+2-2
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ class RuleController extends Controller
2020
protected function verbs()
2121
{
2222
return[
23-
'index' => ['GET'],
24-
'view' => ['GET'],
23+
'index' => ['GET', 'HEAD'],
24+
'view' => ['GET', 'HEAD'],
2525
'create' => ['POST'],
2626
'update' => ['POST'],
2727
'delete' => ['DELETE'],

models/AuthItem.php

+36-2
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ class AuthItem extends \yii\base\Model
2727
public $description;
2828
public $ruleName;
2929
public $data;
30+
private $_data;
3031

3132
/**
3233
* @var Item
@@ -66,7 +67,8 @@ public function rules()
6667
}],
6768
[['type'], 'integer'],
6869
[['description', 'data', 'ruleName'], 'default'],
69-
[['name'], 'string', 'max' => 64]
70+
[['name'], 'string', 'max' => 64],
71+
[['data'], 'jsonDecode'],
7072
];
7173
}
7274

@@ -84,6 +86,38 @@ public function unique()
8486
}
8587
}
8688

89+
public function jsonDecode()
90+
{
91+
if (is_array($this->data)) {
92+
$this->addError('data', Yii::t('rbac-admin', 'Invalid JSON data.'));
93+
return;
94+
}
95+
$decode = json_decode((string) $this->data, true);
96+
switch (json_last_error()) {
97+
case JSON_ERROR_NONE:
98+
$this->_data = $decode;
99+
break;
100+
case JSON_ERROR_DEPTH:
101+
$this->addError('data', 'The maximum stack depth has been exceeded.');
102+
break;
103+
case JSON_ERROR_CTRL_CHAR:
104+
$this->addError('data', 'Control character error, possibly incorrectly encoded.');
105+
break;
106+
case JSON_ERROR_SYNTAX:
107+
$this->addError('data', 'Syntax error.');
108+
break;
109+
case JSON_ERROR_STATE_MISMATCH:
110+
$this->addError('data', 'Invalid or malformed JSON.');
111+
break;
112+
case JSON_ERROR_UTF8:
113+
$this->addError('data', 'Malformed UTF-8 characters, possibly incorrectly encoded.');
114+
break;
115+
default:
116+
$this->addError('data', 'Unknown JSON decoding error.');
117+
break;
118+
}
119+
}
120+
87121
/**
88122
* @inheritdoc
89123
*/
@@ -145,7 +179,7 @@ public function save()
145179
$this->_item->name = $this->name;
146180
$this->_item->description = $this->description;
147181
$this->_item->ruleName = $this->ruleName;
148-
$this->_item->data = $this->data === null || $this->data === '' ? null : Json::decode($this->data);
182+
$this->_item->data = $this->_data;
149183
if ($isNew) {
150184
$manager->add($this->_item);
151185
} else {

views/default/index.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<?=
1818
NgView::widget([
1919
'name' => 'dAdmin',
20-
'requires' => ['ui.bootstrap', 'ngResource', 'dee'],
20+
'requires' => ['ui.bootstrap', 'ngResource', 'dee.ui'],
2121
'routes' => [
2222
'/' => [
2323
'redirectTo' => '/assignment',

views/default/permission/view.php

+3-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@
4141
<label class="col-sm-3 control-label"><?= Yii::t('rbac-admin', 'Rule')?></label>
4242
<div class="col-sm-9">
4343
<select ng-if="isEdit" class="form-control" ng-model="edit.ruleName"
44-
ng-options="rule for rule in rules"></select>
44+
ng-options="rule for rule in rules">
45+
<option></option>
46+
</select>
4547
<div ng-if="isEdit && modelError.name" class="help-block">{{modelError.ruleName}}</div>
4648
<p ng-if="!isEdit" class="form-control-static">{{model.ruleName}}</p>
4749
</div>

views/default/role/form.php

+3-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,9 @@
3939
<label class="col-sm-3 control-label"><?= Yii::t('rbac-admin', 'Rule')?></label>
4040
<div class="col-sm-9">
4141
<select class="form-control" ng-model="model.ruleName"
42-
ng-options="rule.name for rule in rules"></select>
42+
ng-options="rule.name for rule in rules">
43+
<option></option>
44+
</select>
4345
<div ng-if="modelError.ruleName" class="help-block">{{modelError.ruleName}}</div>
4446
</div>
4547
</div>

views/default/role/view.php

+3-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,9 @@
4141
<label class="col-sm-3 control-label"><?= Yii::t('rbac-admin', 'Rule')?></label>
4242
<div class="col-sm-9">
4343
<select ng-if="isEdit" class="form-control" ng-model="edit.ruleName"
44-
ng-options="rule for rule in rules"></select>
44+
ng-options="rule for rule in rules">
45+
<option></option>
46+
</select>
4547
<div ng-if="isEdit && modelError.name" class="help-block">{{modelError.ruleName}}</div>
4648
<p ng-if="!isEdit" class="form-control-static">{{model.ruleName}}</p>
4749
</div>

views/default/rule/index.js

+1
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ $scope.deleteItem = function (item) {
5959
if (confirm('Are you sure you want to delete?')) {
6060
Rule.remove({id: item.name}, {}, function () {
6161
addAlert('info', 'Rule deleted');
62+
query();
6263
}, function (r) {
6364
addAlert('error', r.statusText);
6465
});

views/default/rule/index.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
<td>{{model.name}}</td>
4040
<td><a href ng-click="showItem(model)">{{model.className}}</a></td>
4141
<td width="60px">
42-
<a href ng-click="deleteItem(model)"><span class="glyphicon glyphicon-trash"></span></a>
42+
<a href ng-click="deleteItem(model)" ng-if="model.name != 'route_rule'"><span class="glyphicon glyphicon-trash"></span></a>
4343
<a href ng-click="editItem(model)"><span class="glyphicon glyphicon-pencil"></span></a>
4444
</td>
4545
</tr>

0 commit comments

Comments
 (0)