diff --git a/resources/assets/js/controllers.js b/resources/assets/js/controllers.js index 3ef02d41f..a929f4aed 100644 --- a/resources/assets/js/controllers.js +++ b/resources/assets/js/controllers.js @@ -747,7 +747,7 @@ module.exports = function (ngApp, events) { } else if (response.data) { msg = response.data.message; } else { - msg = trans('errors.comment_add_error'); + msg = trans('errors.comment_add'); } if (msg) { events.emit('success', msg); @@ -761,15 +761,15 @@ module.exports = function (ngApp, events) { vm.delete = function(comment) { $http.delete(window.baseUrl(`/ajax/comment/${comment.id}`)).then(resp => { - if (isCommentOpSuccess(resp)) { + if (!isCommentOpSuccess(resp)) { return; } updateComment(comment, resp.data, $timeout, true); }, function (resp) { if (isCommentOpSuccess(resp)) { - events.emit('success', trans('entities.comment_delete_success')); + events.emit('success', trans('entities.comment_deleted')); } else { - events.emit('error', trans('entities.comment_delete_fail')); + events.emit('error', trans('error.comment_delete')); } }); }; @@ -794,17 +794,21 @@ module.exports = function (ngApp, events) { event.preventDefault(); }); - vm.canEdit = function (comment) { + vm.canEditDelete = function (comment, prop) { if (!comment.active) { return false; } - if (vm.permissions.comment_update_all) { + let propAll = prop + '_all'; + let propOwn = prop + '_own'; + + if (vm.permissions[propAll]) { return true; } - if (vm.permissions.comment_update_own && comment.created_by.id === vm.current_user_id) { + if (vm.permissions[propOwn] && comment.created_by.id === vm.current_user_id) { return true; } + return false; }; @@ -815,6 +819,9 @@ module.exports = function (ngApp, events) { $timeout(function() { $http.get(window.baseUrl(`/ajax/page/${$scope.pageId}/comments/`)).then(resp => { if (!isCommentOpSuccess(resp)) { + // just show that no comments are available. + vm.totalComments = 0; + setTotalCommentMsg(); return; } vm.comments = resp.data.comments; @@ -845,7 +852,7 @@ module.exports = function (ngApp, events) { } else if (response.data) { msg = response.data.message; } else { - msg = trans('errors.comment_error'); + msg = trans('errors.comment_list'); } if (msg) { events.emit('success', msg); diff --git a/resources/lang/en/errors.php b/resources/lang/en/errors.php index fc2ac73b5..71bcd1f9a 100644 --- a/resources/lang/en/errors.php +++ b/resources/lang/en/errors.php @@ -61,9 +61,10 @@ return [ 'role_registration_default_cannot_delete' => 'This role cannot be deleted while set as the default registration role', // Comments - 'comment_error' => 'An error occurred while fetching the comments.', + 'comment_list' => 'An error occurred while fetching the comments.', 'cannot_add_comment_to_draft' => 'You cannot add comments to a draft.', - 'comment_add_error' => 'An error occurred while adding the comment.', + 'comment_add' => 'An error occurred while adding the comment.', + 'comment_delete' => 'An error occurred while deleting the comment.', 'empty_comment' => 'Cannot add an empty comment.', // Error pages diff --git a/resources/views/comments/list-item.blade.php b/resources/views/comments/list-item.blade.php index eb2bcf8ab..6904a4abf 100644 --- a/resources/views/comments/list-item.blade.php +++ b/resources/views/comments/list-item.blade.php @@ -15,8 +15,8 @@