File: /var/www/vhost/disk-apps/dev-telemedicina.teky.com.co/app/Http/Controllers/TermController.php
<?php
namespace Telemedicina\Http\Controllers;
use DB;
use DataTables;
use Telemedicina\Term;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Storage;
class TermController extends Controller
{
public function index(){
$rol = Auth::user()->rol->id;
if ($rol == 1) {
return view('terms.terms');
} else{
return redirect()->back();
}
}
public function indexAdd()
{
return view('terms.add');
}
public function create(Request $request)
{
Term::where('active', 1)->update(['active' => false]);
$term = new Term();
$term->description = $request["description"];
$term->active = true;
$term->save();
if($term){
return array('r' => true, 'd' => array('id'=>$term->id), 'm'=> __('messages.terms.ok_create'));
}else{
return array('r' => false, 'd' => null, 'm'=> __('messages.terms.error_create'));
}
}
public function savePdf(Request $request){
$id = $request->id;
$extension = $request->file('pdf')->getClientOriginalExtension();
$filenametostore = $id.".".$extension;
Storage::disk('s3')->put(env('S3_TERMS_PATH').$filenametostore, fopen($request->file('pdf'), 'r+'), 'public');
$status = Term::where('id', $id)->update(['url' => env('AWS_URL')."/terms/".$filenametostore]);
if ($status) {
return array('r' => true, 'd' => null, 'm'=> __('messages.terms.upload_ok'));
}else{
return array('r' => false,'d' => null, 'm'=> __('messages.terms.error_upload'));
}
}
public function activateTerm(Request $request){
$id= $request['id'];
$state= $request['state'];
Term::where('active', 1)->update(['active' => false]);
$term = Term::find($id);
$term->active = $state;
$term->update();
if ($term) {
return array('r' => true, 'd' => null, 'm'=> __('messages.terms.ok_update'));
}else{
return array('r' => false,'d' => null, 'm'=> __('messages.terms.error_update'));
}
}
public function tableFilter(){
$obj = $obj = DB::table('terms')
->select('terms.id','terms.description','terms.url','terms.active','terms.created_at');
return DataTables::of($obj)
->editColumn('url', function($obj){
return '
<a href="'.$obj->url.'" target="_blank">' . __('messages.terms.view_pdf') . '</a>
';
})
->editColumn('active', function ($obj) {
if($obj->active == 0){
return '<div class="switch"><label><div class="checkbox checbox-switch switch-success"> <label> No <input type="checkbox" onChange="chkTerm('.$obj->id.')" data-id="'.$obj->id.'" id="Checkactive'.$obj->id.'" name="Checkactivo" /> <span></span>Si </label></div> </label> </div>';
}else{
return '<div class="switch"><label> <div class="checkbox checbox-switch switch-success"> <label> No <input type="checkbox" onChange="chkTerm('.$obj->id.')" data-id="'.$obj->id.'" id="Checkactive'.$obj->id.'" name="Checkactivo" checked="" />
<span></span> Si </label> </div> </label> </div>';
}
})
->rawColumns([ 'active','url'])
->make(true);
}
}