/** * Store a newly created in storage */ public function store() { $validator = Validator::make($input = Input::all(), Beneficiario::rules('create')); if ($validator->fails()) { return Redirect::back()->withErrors($validator)->withInput(); } DB::beginTransaction(); try { $nombres = $input['nombres']; $filename = null; // Profile Image Upload if (Input::hasFile('foto')) { $path = public_path() . "/foto/"; File::makeDirectory($path, $mode = 0777, true, true); $image = Input::file('foto'); $extension = $image->getClientOriginalExtension(); $filename = "{$nombres}_{$input['beneficiarioID']}." . strtolower($extension); // Image::make($image->getRealPath())->resize('872','724')->save($path.$filename); Image::make($image->getRealPath())->fit(872, 724, function ($constraint) { $constraint->upsize(); })->save($path . $filename); } Beneficiario::create(['beneficiarioID' => $input['beneficiarioID'], 'responsableID' => $input['nitcit'] . " " . $input['nitcit2'], 'objetivo' => $input['objetivo'], 'nombres' => ucwords(strtolower($input['nombres'])), 'apellidos' => ucwords(strtolower($input['apellidos'])), 'genero' => $input['genero'], 'fechanac' => date('Y-m-d', strtotime($input['fechanac'])), 'telefono' => $input['telefono'], 'fechaing' => date('Y-m-d', strtotime($input['fechaing'])), 'direccion' => ucwords(strtolower($input['direccion'])), 'foto' => isset($filename) ? $filename : 'default.jpg', 'direccionperm' => ucwords(strtolower($input['direccionperm'])), 'iddiagnostico' => $input['iddiag'], 'diagnostico' => $input['diagnostico'], 'fechadiagnostico' => $input['fechadiag'], 'tratamiento' => $input['tratamiento'], 'razon' => $input['razon'], 'duracion' => $input['duracion'], 'referencia' => $input['referencia'], 'lugar' => $input['lugar']]); // Insert into salary table if ($input['montosolicitado'] != '') { Soldonacion::create(['beneficiarioID' => $input['beneficiarioID'], 'tipo' => 'current', 'nota' => 'Primera Solicitud', 'monto' => $input['montosolicitado']]); } // Insert Into Bank Details Zonificacion::create(['beneficiarioID' => $input['beneficiarioID'], 'departamento' => $input['departamento'], 'provincia' => $input['provincia'], 'localidad' => $input['localidad'], 'zona' => $input['zona'], 'canton' => $input['canton'], 'otros' => $input['otros']]); // $tipo = 'responsable'; Personal::create(['beneficiarioID' => $input['beneficiarioID'], 'personalID' => $input['nitcit'], 'emision' => $input['nitcit2'], 'nombres' => $input['nombresReponsable'], 'apellidos' => $input['apellidosResponsable'], 'ocupacion' => $input['ocupacionResponsable'], 'parentesco' => $input['parentesco'], 'tipoPersonal' => $tipo]); $fullname = $input['nombres'] . " " . $input['apellidos']; // -------------- UPLOAD THE DOCUMENTS ----------------- $documents = ['certnac', 'CIprueba', 'solicitud', 'croquis', 'perfil']; foreach ($documents as $document) { if (Input::hasFile($document)) { $path = public_path() . "/beneficiarios_documents/{$document}/"; File::makeDirectory($path, $mode = 0777, true, true); $file = Input::file($document); $extension = $file->getClientOriginalExtension(); $filename = "{$document}_{$input['beneficiarioID']}_{$fullname}.{$extension}"; Input::file($document)->move($path, $filename); Bendocumentos::create(['beneficiarioID' => $input['beneficiarioID'], 'fileName' => $filename, 'type' => $document]); } } // dd(json_encode(Input::all())); // if($this->data['setting']->ben_add==1) // { // $this->data['ben_name'] = $fullname; // $this->data['ben_email'] = $input['email']; // $this->data['ben_password'] = $input['password']; // // Send Employee Add Mail // Mail::send('emails.admin.beneficiarios_add', $this->data, function ($message) use ($input) { // $message->from($this->data['setting']->email, $this->data['setting']->name); // $message->to($input['email'], $input['nombres']." ".$input['apellidos']) // ->subject('Cuenta Creada - ' . $this->data['setting']->website); // }); // } // ********** END UPLOAD THE DOCUMENTS********** } catch (\Exception $e) { DB::rollback(); throw $e; } Activity::log(['contentId' => $input['beneficiarioID'], 'contentType' => 'Beneficiario', 'action' => 'Creacion', 'user_id' => Auth::admin()->get()->id, 'description' => 'Creacion del un Beneficiario', 'details' => 'Usuario: ' . Auth::admin()->get()->name, 'updated' => $input['beneficiarioID'] ? true : false]); DB::commit(); return Redirect::route('admin.beneficiarios.index')->with('success', "<strong>{$fullname}</strong> exitosamente adicionado en le base de datos"); }