mirror of
https://gitlab.com/signalytic/client-external/streamline/streamline-emr.git
synced 2026-09-12 03:01:32 +00:00
updated streamline-setup v2
This commit is contained in:
@@ -0,0 +1,132 @@
|
||||
<?php
|
||||
|
||||
namespace Streamline\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Streamline\Models\BloodDonation;
|
||||
use Streamline\Models\User;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class BloodDonationsController extends Controller {
|
||||
|
||||
public function __construct() {
|
||||
$this->middleware('auth');
|
||||
$this->middleware('permission:find-a-donor', ['only' => ['index']]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index() {
|
||||
$willing_donors = User::where(['willing_to_donate' => 1])->orderBy('blood_group_id', 'asc')->get();
|
||||
$blood_groups = DB::table('blood_groups')
|
||||
// ->where('active', 1)
|
||||
->pluck("name", "id")
|
||||
->prepend('- Select -', '');
|
||||
return view('blood_donations.index', compact('willing_donors', 'blood_groups'));
|
||||
}
|
||||
|
||||
/*
|
||||
* Show the donors of selected blood group
|
||||
*/
|
||||
|
||||
public function select_blood_group(Request $request) {
|
||||
$willing_donors = User::where(['blood_group_id' => $request->blood_group_id, 'willing_to_donate' => 1])->orderBy('blood_group_id', 'asc')->get();
|
||||
$blood_groups = DB::table('blood_groups')
|
||||
// ->where('active', 1)
|
||||
->pluck("name", "id")
|
||||
->prepend('- Select -', '');
|
||||
return view('blood_donations.index', compact('willing_donors', 'blood_groups'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create() {
|
||||
$donor_id = session()->get('donor_id');
|
||||
$donor = User::find($donor_id);
|
||||
return view('blood_donations.create', compact('donor'));
|
||||
}
|
||||
|
||||
/*
|
||||
* put the donor_id(same as $user->id) into a session then redirect to $this->create() function
|
||||
*/
|
||||
|
||||
public function create_donation(Request $request) {
|
||||
$selected_donor_id = $request->donor_id;
|
||||
$donor_id = session()->put(['donor_id' => $selected_donor_id]);
|
||||
return redirect('blood_donations/create');
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request) {
|
||||
$donation_date = Carbon::createFromFormat('d/m/Y', $request->donation_date)->toDateString();
|
||||
$donor_id = $request->donor_id;
|
||||
|
||||
$new_blood_donation = new BloodDonation;
|
||||
$new_blood_donation->donor_id = $donor_id;
|
||||
$new_blood_donation->last_donation_date = $donation_date;
|
||||
$new_blood_donation->created_by = Auth::id();
|
||||
if ($new_blood_donation->save()) {
|
||||
flash('New blood donation has been succesfully recorded')->success();
|
||||
return redirect('blood_donations');
|
||||
}
|
||||
flash('error occured. Contact system admiin')->error();
|
||||
return redirect()->back()->withInput();
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id) {
|
||||
$donor = User::find($id);
|
||||
$blood_donations = BloodDonation::where('donor_id', $id)->orderBy('last_donation_date', 'desc')->get();
|
||||
return view('blood_donations.show', compact('donor', 'blood_donations'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id) {
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id) {
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id) {
|
||||
//
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user