update verify access for test result

This commit is contained in:
Fateme
2020-07-23 23:05:18 +04:30
parent 73d0169ca3
commit 4ce1a6a379
6 changed files with 15 additions and 18 deletions
@@ -374,16 +374,13 @@ class TestResultController extends Controller
return \MessageResponse::success(null, trans('messages.success'));
}
public function verifyTestResult(TestResult $TestResult)
public function verifyTestResult(TestResult $TestResult, $Value)
{
if (auth('api')->user()->cant('verifyTestResult', $TestResult)) {
return \MessageResponse::error(trans('You dont have permission or this test result belongs to another medical center'));
}
if ($TestResult->verified == 'Verified') {
$TestResult->verified = 'NotVerified';
} else {
$TestResult->verified = 'Verified';
}
$TestResult->verified = $Value;
$TestResult->save();
$TestResult = $TestResult->load('user.medical_center');
return \MessageResponse::success(trans('messages.success'), null, $TestResult);
+1 -1
View File
@@ -30,7 +30,7 @@ class TestResultPolicy
$TR_MID = $TestResult->user->medical_center_id;
$User_MID = $User->medical_center_id;
if($User->hasRole('Admin') || ( $User->hasRole('Supervisor') && $TR_MID == $User_MID))
if($User->hasRole('Admin') || ( $User->hasRole('Supervisor') && $TR_MID == $User_MID && $TestResult->verified == 'None'))
return true;
}
}
@@ -182,18 +182,18 @@
xs12
md3
sm3
v-if="data.verified == 'NotVerified'"
@click="verify(data.id)"
v-if="data.verified == 'None' || (data.verified == 'NotVerified' && $hasRole('Admin'))"
@click="verify(data.id, 'Verified')"
>
<v-btn class="WM-CyanBlueGradient-BG" style="padding:10px 60px">
<v-icon class="white--text mr-2 caption">fas fa-check</v-icon>
<span class="white--text">Verify</span>
</v-btn>
</v-flex>
<v-flex class="WM-Align-R" xs6 md3 sm3 v-else-if="$hasRole('Admin')">
<v-flex class="WM-Align-R" xs6 md3 sm3 v-if="data.verified == 'None' || (data.verified == 'Verified' && $hasRole('Admin'))">
<v-btn
class="WM-NoShadow WM-Outline-Btn WM-Border WM-Border-Gray"
@click="verify(data.id)"
@click="verify(data.id, 'NotVerified')"
>
<v-icon class="black--text mr-2 caption">fas fa-check</v-icon>
<span class="black--text">UnVerify</span>
@@ -242,8 +242,8 @@ export default {
data: () => ({}),
methods: {
...mapMutations("modal", ["closeModal", "setResultModal"]),
async verify(id) {
const result = await ApiService.post(urls.verifyTestResult(id));
async verify(id, value) {
const result = await ApiService.post(urls.verifyTestResult(id, value));
if (result && result.status == 200) {
this.setResultModal(result.data.data);
this.closeModal();
+2 -2
View File
@@ -53,8 +53,8 @@ const urls = {
listTestResult: function(filter) {
return "/TestResults" + filter;
},
verifyTestResult: function(id) {
return `/TestResults/Verify/${id}`;
verifyTestResult: function(id, value) {
return `/TestResults/Verify/${id}/${value}`;
},
editTestResult: function(id) {
return `/TestResults/${id}/edit`;
+2 -2
View File
@@ -206,7 +206,7 @@
<template v-slot:activator="{ on, attrs }">
<!-- v-if="$hasRole('Admin') || item.user_id == $store.state.user.id" -->
<router-link class="LinkBtn"
v-if="$hasRole('Admin')"
v-if="$hasRole('Admin') || (item.user_id == $store.state.user.id && item.verified == 'None')"
:to="{name: 'EditTestResult', params: {testResult: item.id}}"
>
@@ -226,7 +226,7 @@
color="pink"
class="WM-ActionButton"
@click="remove(item.id)"
v-if="$hasRole('Admin')"
v-if="$hasRole('Admin') || (item.user_id == $store.state.user.id && item.verified == 'None')"
v-bind="attrs"
v-on="on"
>
+1 -1
View File
@@ -26,7 +26,7 @@ Route::middleware('auth:api')->group(function () {
Route::get('/TestResults/ListFilterItems', 'TestResultController@listFilterItems');
Route::post('/TestResults/Verify/{TestResult}', 'TestResultController@verifyTestResult');
Route::post('/TestResults/Verify/{TestResult}/{Value}', 'TestResultController@verifyTestResult');
Route::get('TestTypes/ListNames', 'TestTypeController@listNames');
Route::post('/TestTypes/Barcode/{TestType}', 'TestTypeController@generateBarcode');
Route::resource('TestTypes', 'TestTypeController');