diff --git a/app/Http/Controllers/OrganizationController.php b/app/Http/Controllers/OrganizationController.php index 660cc42..457f6e7 100644 --- a/app/Http/Controllers/OrganizationController.php +++ b/app/Http/Controllers/OrganizationController.php @@ -10,6 +10,7 @@ use App\Models\Organization; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Log; use Illuminate\Support\Facades\Session; +use function Yajra\DataTables\Html\data; class OrganizationController extends Controller @@ -42,21 +43,18 @@ class OrganizationController extends Controller try { $validator = \Validator::make($request->all(), [ - 'lab_name_en' => 'required', - 'lab_code' => 'required|max:10', - 'sample_number' => 'required', - 'patient_code' => 'required', - 'start_date' => 'required', - 'end_date' => 'nullable' + 'name_en' => 'required', + 'name_kh' => 'required', + 'code' => 'required|max:10' ]); if ($validator->fails()) { return response()->json(['success' => false, 'message' => __('laboratory.create_fail'), 'errors' => $validator->errors()->all()]); } $data = array( - 'name_en' => $request->lab_name_en, - 'name_kh' => $request->lab_name_kh, - 'code' => $request->lab_code, - 'phone_number' => $request->phone_number, + 'name_en' => $request->name_en, + 'name_kh' => $request->name_kh, + 'code' => $request->code, + 'phone' => $request->phone, 'email' => $request->email, 'address_en' => $request->address_en, 'address_kh' => $request->address_kh, @@ -76,15 +74,15 @@ class OrganizationController extends Controller $validator = \Validator::make($request->all(), [ 'name_en' => 'required', 'name_kh' => 'required', - 'short_name' => 'required|max:10' + 'code' => 'required|max:10' ]); if ($validator->fails()) return response()->json(['errors' => $validator->errors()->all()]); $data = array( 'name_en' => $request->name_en, 'name_kh' => $request->name_kh, - 'short_name' => $request->short_name, + 'code' => $request->code, 'email' => $request->email, - 'phone_number' => $request->phone_number, + 'phone' => $request->phone, 'address_en' => $request->address_en, 'address_kh' => $request->address_kh, 'updated_at' => date('Y-m-d H:i:s'), @@ -92,10 +90,8 @@ class OrganizationController extends Controller ); $this->model::query()->where('id', $this->baseOrganizationId)->update($data); return redirect()->back(); - //return response()->json(['success' => true, 'message' => __('laboratory.update_success')]); } catch (\Exception $e){ dd($e); - //return redirect()->back(); return response()->json(['success' => false, 'message' => __('laboratory.update_fail'), 'errors' => $e->getMessage()]); } } @@ -104,31 +100,19 @@ class OrganizationController extends Controller try { $validator = \Validator::make($request->all(), [ - 'lab_name_en' => 'required', - 'lab_code' => 'required|max:5', - 'sample_number' => 'required', - 'patient_code' => 'required', - 'start_date' => 'required', - 'end_date' => 'nullable' + 'name_en' => 'required', + 'name_kh' => 'required', + 'code' => 'required|max:10' ]); if ($validator->fails()) return response()->json(['errors' => $validator->errors()->all()]); $data = array( - 'name_en' => $request->lab_name_en, - 'name_kh' => $request->lab_name_kh, - 'short_name' => $request->lab_code, - 'sample_number' => $request->sample_number, - 'patient_code' => $request->patient_code, - 'phone_number' => $request->phone_number, - 'lab_category_id' => $request->lab_category_id, - 'is_auto_make_invoice' => $request->is_auto_make_invoice, + 'name_en' => $request->name_en, + 'name_kh' => $request->name_kh, + 'code' => $request->code, 'email' => $request->email, - 'shareable_lab_result' => isset($request->shareable_lab_result) ? 1 : 0, - 'allow_external_request' => isset($request->allow_external_request) ? 1 : 0, - 'is_hide_comission_percentage' => isset($request->is_hide_comission_percentage) ? $request->is_hide_comission_percentage : 0, + 'phone' => $request->phone, 'address_en' => $request->address_en, 'address_kh' => $request->address_kh, - 'start_date' => ($request->start_date ? date('Y-m-d H:i:s', strtotime($request->start_date)) : null), - 'end_date' => ($request->end_date ? date('Y-m-d H:i:s', strtotime($request->end_date)) : null), 'updated_at' => date('Y-m-d H:i:s'), 'updated_by' => Auth::id() ); @@ -152,7 +136,11 @@ class OrganizationController extends Controller public function delete(Request $request){ try{ - $this->model::query()->where('id', $request->organization_id)->update(array(BaseModel::RECORD_STATUS_FIELD=> RecordStatusEnum::DELETE)); + $this->model::query()->where('id', $request->organization_id)->update(array( + BaseModel::DELETED_AT_FIELD => data('Y-m-d H:i:s'), + BaseModel::DELETED_BY_FIELD => Auth::id(), + BaseModel::RECORD_STATUS_FIELD => RecordStatusEnum::DELETE + )); return response()->json(['success' => true, 'message' => __('laboratory.delete_success')]); } catch (\Exception $e){ @@ -177,69 +165,5 @@ class OrganizationController extends Controller return view('organization_profile', ['info' => $organization]); } - public function labSettingSetters(Request $request){ - try{ - if(!GlobalController::user_can(Auth::user()->role_id, ['system_settings'])) return redirect(url('my-profile')); - $validator = \Validator::make($request->all(), [ - 'sample_number' => 'required|integer', - 'patient_code' => 'required|integer', - 'technician_label' => 'nullable', - 'discount_type' => 'required|integer' - ]); - if ($validator->fails()){ return response()->json(['errors'=>$validator->errors()->all()]);} - $lab = $this->model::query()->where('id', $this->baseOrganizationId)->first(); - $lab->update(array( - 'sample_number' => $request->sample_number, - 'currency' => $request->currency, - 'patient_code' => $request->patient_code, - 'technician_label' => $request->technician_label, - 'discount_type' => $request->discount_type, - 'phone_number' => $request->phone_number, - 'email' => $request->email, - 'exchange_rate' => $request->exchange_rate, - //'is_hide_inv_discount' => $request->is_hide_inv_discount, - 'abnormal_text_color' => $request->abnormal_text_color, - 'show_result_footer' => $request->show_result_footer, - 'abnormal_result_font_weight' => $request->abnormal_result_font_weight, - 'result_header_id' => $request->result_header_id, - 'is_auto_make_invoice' => $request->is_auto_make_invoice, - 'invoice_template_id' => $request->invoice_template_id - )); - return response()->json(['success' => true, 'message' => __('laboratory.update_success'), 'data' => $lab]); - } catch (\Exception $e) - { - return response()->json(['success'=> false , 'message' => __('laboratory.update_fail'), 'errors' => $e->getMessage()]); - } - } - - public function uploadImage(Request $request){ - try { - $image = $request->file('image'); - $imageName = 'avatar_'.$this->baseOrganizationId.'.' . $image->getClientOriginalExtension(); - $lab = $this->model::query()->where('id', $this->baseOrganizationId)->first(); - $lab->update(array('logo' => $imageName)); - $image->move(public_path('storage/images/avatars/labs'), $imageName); - return response()->json(['success' => true, 'message' => __('laboratory.update_success'), 'data' => $lab]); - }catch (\Exception $e){ - return response()->json(['success'=> false , 'message' => __('laboratory.update_fail'), 'errors' => $e->getMessage()]); - } - } - - public function removeLabLogo(Request $request){ - try { - $lab = $this->model::query()->find($this->baseOrganizationId); - if(!empty($lab->logo)) { - if (file_exists(public_path('storage/images/avatars/labs/' . $lab->logo))) { - unlink(public_path('storage/images/avatars/labs/' . $lab->logo)); - $lab->logo = null; - } - } - $lab->save(); - return response()->json(['success' => true, 'message' => __('laboratory.update_success'), 'data' => $lab]); - }catch (\Exception $e){ - return response()->json(['success'=> false , 'message' => __('laboratory.update_fail'), 'errors' => $e->getMessage()]); - } - } - } diff --git a/public/storage/assets/js/admin/laboratory.js b/public/storage/assets/js/admin/laboratory.js index fbc04b5..fdc19aa 100644 --- a/public/storage/assets/js/admin/laboratory.js +++ b/public/storage/assets/js/admin/laboratory.js @@ -9,20 +9,13 @@ $("#btnSave").on('click',function(e){ data:{ "_token": csrf_token, organization_id : labid, - lab_name_en: $('#lab-name-en').val(), - lab_name_kh: $('#lab-name-kh').val(), - lab_code: $('#lab-code').val(), + name_en: $('#lab-name-en').val(), + name_kh: $('#lab-name-kh').val(), + code: $('#lab-code').val(), address_en: $('#address-en').val(), address_kh: $('#address-kh').val(), - sample_number: $('input[name="sample_number"]:checked').attr('data-id'), - patient_code: $('input[name="patient_number"]:checked').attr('data-id'), - is_auto_make_invoice: $('input[name="is_auto_make_invoice"]:checked').attr('data-id'), - start_date : $('#start-date').val(), - end_date : $('#end-date').val(), - phone_number: $('#phone-number').val(), - email: $('#email').val(), - shareable_lab_result: $('input[name="shareable_lab_result"]:checked').attr('data-id'), - lab_category_id : $('#lab-category-id').val() + phone: $('#phone-number').val(), + email: $('#email').val() }, success:function(res){ handleMessage(res.success, res.message) @@ -110,20 +103,13 @@ $('#modal-laboratory').on('show.bs.modal', function (event) { success:function(res){ if(res.success) { let data = res.data; - modal.find('.modal-body input[name="lab_name_en"]').val(data.name_en); - modal.find('.modal-body input[name="lab_name_kh"]').val(data.name_kh); - modal.find('.modal-body input[name="lab_code"]').val(data.short_name); - modal.find('.modal-body select[name="lab_category_id"]').val(data.lab_category_id); - modal.find('.modal-body input:radio[name="sample_number"]').filter("[data-id=" + data.sample_number + "]").prop('checked', true); - modal.find('.modal-body input:radio[name="is_auto_make_invoice"]').filter("[data-id=" + data.is_auto_make_invoice + "]").prop('checked', true); + modal.find('.modal-body input[name="name_en"]').val(data.name_en); + modal.find('.modal-body input[name="name_kh"]').val(data.name_kh); + modal.find('.modal-body input[name="code"]').val(data.code); modal.find('.modal-body input[name="address_en"]').val(data.address_en); modal.find('.modal-body input[name="address_kh"]').val(data.address_kh); - modal.find('.modal-body input[name="start_date"]').val(getDate(data.start_date)); - modal.find('.modal-body input[name="end_date"]').val(getDate(data.end_date)); - modal.find('.modal-body input:radio[name="patient_number"]').filter("[data-id=" + data.patient_code + "]").prop('checked', true); - modal.find('.modal-body input:checkbox[name="shareable_lab_result"]').filter("[data-id=" + data.shareable_lab_result + "]").prop('checked', true); modal.find('.modal-body input[name="email"]').val(data.email); - modal.find('.modal-body input[name="phone_number"]').val(data.phone_number); + modal.find('.modal-body input[name="phone_number"]').val(data.phone); } else{ handleMessage(res.success, res.message) } diff --git a/resources/views/laboratory.blade.php b/resources/views/laboratory.blade.php index ed787db..c78ecf9 100644 --- a/resources/views/laboratory.blade.php +++ b/resources/views/laboratory.blade.php @@ -26,7 +26,7 @@