1
0
mirror of https://github.com/BookStackApp/BookStack.git synced 2024-10-30 07:32:39 +01:00

Added missing permission checkboxes and improved image AJAX permission responses

This commit is contained in:
Dan Brown 2016-02-27 20:52:46 +00:00
parent 473261be35
commit a14b5c33fd
4 changed files with 28 additions and 13 deletions

View File

@ -68,9 +68,8 @@ abstract class Controller extends BaseController
protected function showPermissionError()
{
Session::flash('error', trans('errors.permission'));
throw new HttpResponseException(
redirect('/')
);
$response = request()->wantsJson() ? response()->json(['error' => trans('errors.permissionJson')], 403) : redirect('/', 403);
throw new HttpResponseException($response);
}
/**

View File

@ -118,6 +118,7 @@ module.exports = function (ngApp, events) {
page++;
});
}
$scope.fetchData = fetchData;
/**
@ -130,12 +131,16 @@ module.exports = function (ngApp, events) {
$http.put(url, this.selectedImage).then((response) => {
events.emit('success', 'Image details updated');
}, (response) => {
var errors = response.data;
var message = '';
Object.keys(errors).forEach((key) => {
message += errors[key].join('\n');
});
events.emit('error', message);
if (response.status === 422) {
var errors = response.data;
var message = '';
Object.keys(errors).forEach((key) => {
message += errors[key].join('\n');
});
events.emit('error', message);
} else if (response.status === 403) {
events.emit('error', response.data.error);
}
});
};
@ -158,6 +163,8 @@ module.exports = function (ngApp, events) {
// Pages failure
if (response.status === 400) {
$scope.dependantPages = response.data;
} else if (response.status === 403) {
events.emit('error', response.data.error);
}
});
};
@ -167,7 +174,7 @@ module.exports = function (ngApp, events) {
* @param stringDate
* @returns {Date}
*/
$scope.getDate = function(stringDate) {
$scope.getDate = function (stringDate) {
return new Date(stringDate);
};

View File

@ -8,4 +8,5 @@ return [
// Pages
'permission' => 'You do not have permission to access the requested page.',
'permissionJson' => 'You do not have permission to perform the requested action.'
];

View File

@ -31,7 +31,9 @@
</tr>
<tr>
<td>Books</td>
<td>@include('settings/roles/checkbox', ['permission' => 'book-create-all'])</td>
<td>
<label>@include('settings/roles/checkbox', ['permission' => 'book-create-all']) All</label>
</td>
<td>
<label>@include('settings/roles/checkbox', ['permission' => 'book-update-own']) Own</label>
<label>@include('settings/roles/checkbox', ['permission' => 'book-update-all']) All</label>
@ -43,7 +45,10 @@
</tr>
<tr>
<td>Chapters</td>
<td>@include('settings/roles/checkbox', ['permission' => 'chapter-create-all'])</td>
<td>
<label>@include('settings/roles/checkbox', ['permission' => 'chapter-create-own']) Own</label>
<label>@include('settings/roles/checkbox', ['permission' => 'chapter-create-all']) All</label>
</td>
<td>
<label>@include('settings/roles/checkbox', ['permission' => 'chapter-update-own']) Own</label>
<label>@include('settings/roles/checkbox', ['permission' => 'chapter-update-all']) All</label>
@ -55,7 +60,10 @@
</tr>
<tr>
<td>Pages</td>
<td>@include('settings/roles/checkbox', ['permission' => 'page-create-all'])</td>
<td>
<label>@include('settings/roles/checkbox', ['permission' => 'page-create-own']) Own</label>
<label>@include('settings/roles/checkbox', ['permission' => 'page-create-all']) All</label>
</td>
<td>
<label>@include('settings/roles/checkbox', ['permission' => 'page-update-own']) Own</label>
<label>@include('settings/roles/checkbox', ['permission' => 'page-update-all']) All</label>