new correction

This commit is contained in:
Fateme
2020-07-04 23:26:44 +04:30
parent a74e49af6f
commit 1f1be72d74
21 changed files with 161 additions and 107 deletions
+9 -6
View File
@@ -12,16 +12,19 @@ class CycleController extends Controller
public function index(Request $request)
{
$user = auth('api')->user();
$admin_users = User::role('Admin')->get()->pluck('id')->toArray();
$admin_users[] = $user->id;
// $admin_users = User::role('Admin')->get()->pluck('id')->toArray();
// $admin_users[] = $user->id;
$Cycles = Cycle::
when($user->cant('showAll'), function($query) use ($user, $admin_users) {
if ($user->hasRole('Supervisor|User')) {
$query->whereHas('user', function($query) use ($user, $admin_users) {
$query->where('medical_center_id', $user->medical_center_id)->orWhereIn('id', $admin_users);
when($user->cant('showAll'), function($query) use ($user) {
if ($user->hasRole('Supervisor')) {
$query->whereHas('user', function($query) use ($user) {
$query->where('medical_center_id', $user->medical_center_id);
});
}
else{
$query->where('user_id', $user->id);
}
})
->when($request->has('cycle_id') && $request->cycle_id != '', function($query) use($request){
$query->where('id', $request->cycle_id);
+17 -13
View File
@@ -12,13 +12,15 @@ class ItemController extends Controller
public function index(Request $request)
{
$user = auth('api')->user();
$admin_users = User::role('Admin')->get()->pluck('id')->toArray();
$admin_users[] = $user->id;
$Items = Item::when($user->cant('showAll'), function($query) use ($user, $admin_users) {
if ($user->hasRole('Supervisor|User')) {
$query->whereHas('user', function($query) use ($user, $admin_users) {
$query->where('medical_center_id', $user->medical_center_id)->orWhereIn('id', $admin_users);
if ($user->hasRole('User')) {
return \MessageResponse::error('You dont have access to this section!');
}
$Items = Item::when($user->cant('showAll'), function($query) use ($user) {
if ($user->hasRole('Supervisor')) {
$query->whereHas('user', function($query) use ($user) {
$query->where('medical_center_id', $user->medical_center_id);
});
}
})
@@ -102,17 +104,19 @@ class ItemController extends Controller
public function getItems(){
$user = auth('api')->user();
$admin_users = User::role('Admin')->get()->pluck('id')->toArray();
$admin_users[] = $user->id;
$Items = Item::when($user->cant('showAll'), function($query) use ($user, $admin_users) {
if ($user->hasRole('Supervisor|User')) {
$query->whereHas('user', function($query) use ($user, $admin_users) {
$query->where('medical_center_id', $user->medical_center_id)->orWhereIn('id', $admin_users);
if ($user->hasRole('User')) {
return \MessageResponse::data([]);
}
$Items = Item::when($user->cant('showAll'), function($query) use ($user) {
if ($user->hasRole('Supervisor')) {
$query->whereHas('user', function($query) use ($user) {
$query->where('medical_center_id', $user->medical_center_id);
});
}
})
->with(['user' => function($query){
->with(['user' => function($query){
$query->select('id', 'name', 'medical_center_id');
},
'user.medical_center' => function($query){
+11 -8
View File
@@ -18,11 +18,14 @@ class LabelController extends Controller
$Labels = Label::
when($user->cant('showAll'), function($query) use ($user, $admin_users) {
if ($user->hasRole('Supervisor|User')) {
if ($user->hasRole('Supervisor')) {
$query->whereHas('user', function($query) use ($user, $admin_users) {
$query->where('medical_center_id', $user->medical_center_id)->orWhereIn('id', $admin_users);
$query->where('medical_center_id', $user->medical_center_id);
});
}
else{
$query->where('user_id', $user->id);
}
})
->when($request->has('sterilizer_id') && $request->sterilizer_id != '', function($query) use($request){
$query->where('sterilizer_id', $request->sterilizer_id);
@@ -90,7 +93,7 @@ class LabelController extends Controller
return \MessageResponse::data($Label);
}
public function update(Request $request, Label $Label)
public function update(StoreLabelRequest $request, Label $Label)
{
$Label->update($request->all());
return \MessageResponse::success(trans('messages.success'), null, $Label);
@@ -110,14 +113,14 @@ class LabelController extends Controller
public function getLabels()
{
$user = auth('api')->user();
$admin_users = User::role('Admin')->get()->pluck('id')->toArray();
$admin_users[] = $user->id;
// $admin_users = User::role('Admin')->get()->pluck('id')->toArray();
// $admin_users[] = $user->id;
$Labels = Label::
when($user->cant('showAll'), function($query) use ($user, $admin_users) {
when($user->cant('showAll'), function($query) use ($user) {
if ($user->hasRole('Supervisor|User')) {
$query->whereHas('user', function($query) use ($user, $admin_users) {
$query->where('medical_center_id', $user->medical_center_id)->orWhereIn('id', $admin_users);
$query->whereHas('user', function($query) use ($user) {
$query->where('medical_center_id', $user->medical_center_id);
});
}
})->get();
+13 -11
View File
@@ -12,14 +12,16 @@ class PackageController extends Controller
public function index(Request $request)
{
$user = auth('api')->user();
$admin_users = User::role('Admin')->get()->pluck('id')->toArray();
$admin_users[] = $user->id;
if ($user->hasRole('User')) {
return \MessageResponse::error('You dont have access to this section!');
}
$Packages = Package::
when($user->cant('showAll'), function($query) use ($user, $admin_users) {
if ($user->hasRole('Supervisor|User')) {
$query->whereHas('user', function($query) use ($user, $admin_users) {
$query->where('medical_center_id', $user->medical_center_id)->orWhereIn('id', $admin_users);
when($user->cant('showAll'), function($query) use ($user) {
if ($user->hasRole('Supervisor')) {
$query->whereHas('user', function($query) use ($user) {
$query->where('medical_center_id', $user->medical_center_id);
});
}
})
@@ -157,14 +159,14 @@ class PackageController extends Controller
public function getPackages()
{
$user = auth('api')->user();
$admin_users = User::role('Admin')->get()->pluck('id')->toArray();
$admin_users[] = $user->id;
// $admin_users = User::role('Admin')->get()->pluck('id')->toArray();
// $admin_users[] = $user->id;
$Packages = Package::
when($user->cant('showAll'), function($query) use ($user, $admin_users) {
when($user->cant('showAll'), function($query) use ($user) {
if ($user->hasRole('Supervisor|User')) {
$query->whereHas('user', function($query) use ($user, $admin_users) {
$query->where('medical_center_id', $user->medical_center_id)->orWhereIn('id', $admin_users);
$query->whereHas('user', function($query) use ($user) {
$query->where('medical_center_id', $user->medical_center_id);
});
}
})
+21 -21
View File
@@ -70,7 +70,7 @@ class TestResultController extends Controller
})
->when($request->has('device_id') && $request->device_id, function($query) use($request){
$device_label = $request->device_label ? $request->device_label : '';
if ($device_label){
if ($device_label && $device_label != 'undefined'){
$query->whereHas('input_values', function($query) use($request, $device_label){
$query->whereHas('input', function($query) use($request, $device_label){
$query->where('name', $device_label);
@@ -243,12 +243,12 @@ class TestResultController extends Controller
}
}
$ImagesPath = [];
if (count($TestResult->images)) {
foreach ($TestResult->images as $Key => $Image) {
$ImagesPath[] = $Image->path;
$FilesPath = [];
if (count($TestResult->files)) {
foreach ($TestResult->files as $Key => $File) {
$FilesPath[] = $File->path;
}
$TestResult['imagesPath'] = $ImagesPath;
$TestResult['filesPath'] = $FilesPath;
}
$TestResult['device_label'] = $TestResult->test_type->device_label;
return \MessageResponse::data($TestResult);
@@ -272,16 +272,16 @@ class TestResultController extends Controller
}
}
$ImagesPath = [];
$FilesPath = [];
if (count($TestResult->images)) {
foreach ($TestResult->images as $Key => $Image) {
$ImagesPath[] = $Image;
if (count($TestResult->files)) {
foreach ($TestResult->files as $Key => $file) {
$FilesPath[] = $file;
}
$TestResult['imagesPath'] = $ImagesPath;
$TestResult['filesPath'] = $FilesPath;
}
else {
$TestResult['imagesPath'] = [];
$TestResult['filesPath'] = [];
}
return \MessageResponse::data($TestResult);
@@ -364,10 +364,10 @@ class TestResultController extends Controller
if (count($TestResult->input_values)) {
InputValue::where('test_result_id', $TestResult->id)->get()->each->delete();
}
if (count($TestResult->images)){
foreach ($TestResult->images as $image) {
Storage::disk('public')->delete(static::storage_path($image->path));
Media::where('id', $image->id)->delete();
if (count($TestResult->files)){
foreach ($TestResult->files as $file) {
Storage::disk('public')->delete(static::storage_path($file->path));
Media::where('id', $file->id)->delete();
}
}
$TestResult->delete();
@@ -505,12 +505,12 @@ class TestResultController extends Controller
}
}
$ImagesPath = [];
if (count($TestResult->TitleImage)) {
foreach ($TestResult->TitleImage as $Key => $TitleImage) {
$ImagesPath[] = $TitleImage->path;
$FilesPath = [];
if (count($TestResult->files)) {
foreach ($TestResult->files as $Key => $File) {
$FilesPath[] = $File->path;
}
$TestResult['imagesPath'] = $ImagesPath;
$TestResult['filesPath'] = $FilesPath;
}
// dd($TestResult->test_type()->device_label);
$TestResult['device_label'] = $TestResult->test_type->device_label;
+48 -21
View File
@@ -9,27 +9,42 @@ use App\Media;
class UploadController extends Controller
{
public function uploadImage(Request $request)
public function uploadFile(Request $request)
{
$FileType = 'image';
$rules = [
'image' => 'required|image|mimes:jpeg,png,jpg|max:2048',
"file" => "required|mimes:pdf,jpeg,png,jpg,doc,docx|max:2048"
];
$this->validate($request, $rules);
if(substr( $request->file('file')->getMimeType(), 0, 12 ) == 'application/'){
$FileType = 'document';
}
if ($request->model_id !== null && is_numeric($request->model_id)) {
$Model = 'App\\'.$request->model_type;
$Object = $Model::findOrFail($request->model_id);
if ($Object) {
$Image = $request->file('image');
$Manager = new ImageManager(array('driver' => 'imagick'));
$InterventionImage = $Manager->make($Image);
$Mime = explode('/', $InterventionImage->mime());
if($FileType == 'image'){
$Image = $request->file('file');
$Manager = new ImageManager(array('driver' => 'imagick'));
$InterventionImage = $Manager->make($Image);
$Mime = explode('/', $InterventionImage->mime());
$ImageName = time().'.'.$Mime[1];
$Path = 'media'.'/TestResults'.'/'.$Object->id .'/'.$ImageName;
$FileName = time().'.'.$Mime[1];
$Path = 'media'.'/TestResults'.'/'.$Object->id .'/'.$FileName;
Storage::disk('public')->makeDirectory('TestResults'.'/'.$Object->id);
$InterventionImage->save(public_path($Path));
Storage::disk('public')->makeDirectory('TestResults'.'/'.$Object->id);
$InterventionImage->save(public_path($Path));
}
else if($FileType == 'document'){
$UploadedFile = $request->file('file');
$FileName = time().'_'.$request->file('file')->getClientOriginalName();
$Path = 'media'.'/TestResults'.'/'.$Object->id;
Storage::disk('public')->makeDirectory('TestResults'.'/'.$Object->id);
$UploadedFile->move($Path, $FileName);
$Path = $Path . '/' . $FileName;
}
$MediaData = [
'model_id' => $Object->id,
@@ -37,22 +52,33 @@ class UploadController extends Controller
'model_type' => 'App\\'.$request->model_type,
'path' => $Path,
'user_id' => auth('api')->user()->id,
'file_name' => $ImageName
'file_name' => $FileName,
'file_type' => $FileType
];
$Media = Media::create($MediaData);
}
}
else {
$Image = $request->file('image');
$Manager = new ImageManager(array('driver' => 'imagick'));
$InterventionImage = $Manager->make($Image);
$Mime = explode('/', $InterventionImage->mime());
if($FileType == 'image'){
$Image = $request->file('file');
$Manager = new ImageManager(array('driver' => 'imagick'));
$InterventionImage = $Manager->make($Image);
$Mime = explode('/', $InterventionImage->mime());
$ImageName = time().'.'.$Mime[1];
$Path = 'media'.'/Temp'.'/'.$request->batch_id .'/'.$ImageName;
$FileName = time().'.'.$Mime[1];
$Path = 'media'.'/Temp'.'/'.$request->batch_id .'/'.$FileName;
Storage::disk('public')->makeDirectory('Temp'.'/'.$request->batch_id);
$InterventionImage->save(public_path($Path));
Storage::disk('public')->makeDirectory('Temp'.'/'.$request->batch_id);
$InterventionImage->save(public_path($Path));
}
else if($FileType == 'document'){
$UploadedFile = $request->file('file');
$FileName = time().'_'.$request->file('file')->getClientOriginalName();
$Path = 'media'.'/Temp'.'/'.$request->batch_id;
Storage::disk('public')->makeDirectory('Temp'.'/'.$request->batch_id);
$UploadedFile->move($Path, $FileName);
$Path = $Path . '/' . $FileName;
}
$MediaData = [
'model_id' => null,
@@ -60,14 +86,15 @@ class UploadController extends Controller
'model_type' => 'App\\'.$request->model_type,
'path' => $Path,
'user_id' => auth('api')->user()->id,
'file_name' => $ImageName
'file_name' => $FileName,
'file_type' => $FileType
];
$Media = Media::create($MediaData);
}
return \MessageResponse::success(trans('messages.success_message'), null, $Media);
}
public function deleteImage(Request $request)
public function deleteFile(Request $request)
{
if ($request->model_id != null && is_numeric($request->model_id)) {
$Media = Media::findOrFail($request->media_id);
+1 -1
View File
@@ -7,7 +7,7 @@ use Illuminate\Database\Eloquent\Model;
class Media extends Model
{
protected $fillable = ['model_id', 'model_type', 'user_id', 'batch_id', 'path', 'file_name'];
protected $fillable = ['model_id', 'model_type', 'user_id', 'batch_id', 'path', 'file_name', 'file_type'];
public $timestamps = true;
public function user()
+3 -3
View File
@@ -15,19 +15,19 @@ class CyclePolicy
}
public function delete(User $User, Cycle $Cycle)
{
if($User->hasRole('Admin') || $Cycle->user_id == $User->id)
if($User->hasRole('Admin') || ($User->hasRole('Supervisor') && $Cycle->user->medical_center_id == $User->medical_center_id) || $Cycle->user_id == $User->id)
return true;
}
public function update(User $User, Cycle $Cycle)
{
if($User->hasRole('Admin') || $Cycle->user_id == $User->id)
if($User->hasRole('Admin') || ($User->hasRole('Supervisor') && $Cycle->user->medical_center_id == $User->medical_center_id) || $Cycle->user_id == $User->id)
return true;
}
public function store(User $User)
{
return true;
return true;
}
public function verifyCycle(User $User, Cycle $Cycle)
{
+3 -2
View File
@@ -15,18 +15,19 @@ class ItemPolicy
}
public function delete(User $User, Item $Item)
{
if($User->hasRole('Admin') || $Item->user_id == $User->id)
if($User->hasRole('Admin') || ($User->hasRole('Supervisor') && $Item->user->medical_center_id == $User->medical_center_id))
return true;
}
public function update(User $User, Item $Item)
{
if($User->hasRole('Admin') || $Item->user_id == $User->id)
if($User->hasRole('Admin') || ($User->hasRole('Supervisor') && $Item->user->medical_center_id == $User->medical_center_id))
return true;
}
public function store(User $User)
{
if($User->hasRole('Admin') || $User->hasRole('Supervisor'))
return true;
}
+3 -3
View File
@@ -15,19 +15,19 @@ class LabelPolicy
}
public function delete(User $User, Label $Label)
{
if($User->hasRole('Admin') || $Label->user_id == $User->id)
if($User->hasRole('Admin') || ($User->hasRole('Supervisor') && $Label->user->medical_center_id == $User->medical_center_id) || $Label->user_id == $User->id)
return true;
}
public function update(User $User, Label $Label)
{
if($User->hasRole('Admin') || $Label->user_id == $User->id)
if($User->hasRole('Admin') || ($User->hasRole('Supervisor') && $Label->user->medical_center_id == $User->medical_center_id) || $Label->user_id == $User->id)
return true;
}
public function store(User $User)
{
return true;
return true;
}
+4 -3
View File
@@ -15,19 +15,20 @@ class PackagePolicy
}
public function delete(User $User, Package $Package)
{
if($User->hasRole('Admin') || $Package->user_id == $User->id)
if($User->hasRole('Admin') || ($User->hasRole('Supervisor') && $Package->user->medical_center_id == $User->medical_center_id))
return true;
}
public function update(User $User, Package $Package)
{
if($User->hasRole('Admin') || $Package->user_id == $User->id)
if($User->hasRole('Admin') || ($User->hasRole('Supervisor') && $Package->user->medical_center_id == $User->medical_center_id))
return true;
}
public function store(User $User)
{
return true;
if($User->hasRole('Admin') || $User->hasRole('Supervisor'))
return true;
}
public function verifyPackage(User $User, Package $Package)
{
+1 -1
View File
@@ -19,7 +19,7 @@ class TestResult extends Model
{
return $this->hasMany('App\InputValue');
}
public function images()
public function files()
{
return $this->morphMany('App\Media', 'model');
}
Binary file not shown.
Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

@@ -139,8 +139,14 @@
<hr class="v-divider theme--light" />
</v-flex>
<v-layout row wrap class="ml-4">
<v-flex xs12 md6 sm6 v-for="(img, key) in data.title_image" :key="key">
<img :src="'/'+img.path" style="width: 100%" />
<v-flex xs12 md6 sm6 v-for="(file, key) in data.files" :key="key">
<template v-if="file.file_type == 'document'">
<a target="_blank" :href="'/'+file.path"><v-icon class="mr-2 caption">fas fa-check</v-icon>{{ file.file_name }}</a>
</template>
<template v-else>
<img :src="'/'+file.path" style="width: 100%" />
</template>
</v-flex>
</v-layout>
</v-layout>
@@ -10,8 +10,8 @@
@vdropzone-error = "error"
class="WM-Relative" >
<div class="dropzone-custom-content">
<!-- <h3 class="dropzone-custom-title">فایل مورد نظر خود را در این قسمت آپلود کنید</h3> -->
<div class="subtitle">Upload images here</div>
<h3 class="dropzone-custom-title">Upload your files here</h3>
<div class="subtitle">image or pdf or word</div>
</div>
</vue-dropzone>
</div>
@@ -33,7 +33,7 @@
},
data: () => ({
dropzoneOptions: {
url: '/api/UploadImage',
url: '/api/UploadFile',
thumbnailWidth: 150,
maxFilesize: 2,
headers: { "Authorization": `Bearer ${TokenService.getToken()}` },
@@ -48,7 +48,7 @@
let vm = this;
if (vm.Images != null) {
vm.Images.forEach(function(image, key){
var file = { name: image.file_name, size:'1024', type: 'jpg', id: image.id};
var file = { name: image.file_name, size:'1024', type: ' ', id: image.id};
vm.$refs.myVueDropzone.manuallyAddFile(file, '/'+image.path);
});
}
@@ -69,7 +69,7 @@
}
},
sending(file, xhr, form_data) {
form_data.append('image', file);
form_data.append('file', file);
form_data.append('model_id', this.ModelID);
form_data.append('model_type', this.ModelType);
form_data.append('batch_id', this.BatchID);
@@ -87,7 +87,7 @@
formdata.append('model_id', this.ModelID);
formdata.append('model_type', this.ModelType);
formdata.append('batch_id', this.BatchID);
let result = await ApiService.post(urls.deleteImage,formdata);
let result = await ApiService.post(urls.deleteFile,formdata);
}
},
}
@@ -139,8 +139,14 @@
<hr class="v-divider theme--light" />
</v-flex>
<v-layout row wrap class="ml-4">
<v-flex xs12 md6 sm6 v-for="(img, key) in data.images" :key="key">
<img :src="'/'+img.path" style="width: 100%" />
<v-flex xs12 md6 sm6 v-for="(file, key) in data.files" :key="key">
<template v-if="file.file_type == 'document'">
<a target="_blank" :href="'/'+file.path"><v-icon class="mr-2 caption">fas fa-check</v-icon>{{ file.file_name }}</a>
</template>
<template v-else>
<img :src="'/'+file.path" style="width: 100%" />
</template>
</v-flex>
</v-layout>
</v-layout>
+1 -1
View File
@@ -19,7 +19,7 @@ const urls = {
sendVerifyCode: `/password/verifyCode`,
changePassword: `/password/reset`,
storeMessages: `/Messages`,
deleteImage: `/DeleteImage`,
deleteFile: `/DeleteFile`,
listMessages: function(page) {
return `/Messages?page=${page}`;
},
@@ -551,7 +551,7 @@ export default {
}
}
// this.images = result.data.data.imagesPath;
this.galleries = result.data.data.imagesPath;
this.galleries = result.data.data.filesPath;
this.galleryDataLoaded = true;
}
}
@@ -22,6 +22,7 @@
label="ID Label"
color="black"
class="py-3 pr-3"
:clearable="true"
></v-autocomplete>
</v-flex>
<v-flex xs12 md3 sm3 class="WM-FlexCenter pl-3">
+2 -2
View File
@@ -64,8 +64,8 @@ Route::middleware('auth:api')->group(function () {
Route::get('TestTypes/AllArchivedTestTypes', 'TestTypeController@allArchivedTestTypes');
Route::post('UploadImage', 'UploadController@uploadImage');
Route::post('DeleteImage', 'UploadController@deleteImage');
Route::post('UploadFile', 'UploadController@uploadFile');
Route::post('DeleteFile', 'UploadController@deleteFile');
});
Route::post('/BarCode/{Code}/{Type?}', 'BarCodeController@generateBarcode');
Route::post('Package/Barcode/{Code}', 'BarCodeController@generatePackageBarcode');