diff --git a/app/Http/Controllers/TestResultController.php b/app/Http/Controllers/TestResultController.php
index b2456bae..7e1bc5d3 100644
--- a/app/Http/Controllers/TestResultController.php
+++ b/app/Http/Controllers/TestResultController.php
@@ -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);
diff --git a/app/Policies/TestResultPolicy.php b/app/Policies/TestResultPolicy.php
index 0853c1ba..4747a092 100644
--- a/app/Policies/TestResultPolicy.php
+++ b/app/Policies/TestResultPolicy.php
@@ -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;
}
}
diff --git a/resources/js/vue/components/modal/testresult/Show.vue b/resources/js/vue/components/modal/testresult/Show.vue
index fd1fecac..99e54fa5 100644
--- a/resources/js/vue/components/modal/testresult/Show.vue
+++ b/resources/js/vue/components/modal/testresult/Show.vue
@@ -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')"
>
fas fa-check
Verify
-
+
fas fa-check
UnVerify
@@ -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();
diff --git a/resources/js/vue/config/urls.js b/resources/js/vue/config/urls.js
index f9e68830..acc7193b 100644
--- a/resources/js/vue/config/urls.js
+++ b/resources/js/vue/config/urls.js
@@ -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`;
diff --git a/resources/js/vue/views/TestResult/List.vue b/resources/js/vue/views/TestResult/List.vue
index e3605b8c..7332c091 100644
--- a/resources/js/vue/views/TestResult/List.vue
+++ b/resources/js/vue/views/TestResult/List.vue
@@ -206,7 +206,7 @@
@@ -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"
>
diff --git a/routes/api.php b/routes/api.php
index f41c212b..c29369cd 100644
--- a/routes/api.php
+++ b/routes/api.php
@@ -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');