/home/dvjjulio/softtrash/app/Http/Controllers/UserController.php
<?php
namespace Trash\Http\Controllers;
use Illuminate\Http\Request;
use Trash\Http\Requests;
use Trash\Http\Controllers\Controller;
use Trash\User;
use Trash\Tipo;
use Trash\Clientes;
use Trash\UserCliente;
use Auth;
class UserController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
//
$tipo = Tipo::all();
$clientes = Clientes::where('status_id','=',1)->get();
return view('catalogo.user')->with(compact('tipo','clientes'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function saveUser()
{
//
$data = \Input::all();
$validator = $this->get_validate($data);
if( $validator->fails() )
return response()->json( array( 'status' => false, 'message' => $validator->errors()->all() ));
return response()->json( $this->store($data));
}
public function get_validate( $data ){
if($data['pass_check'] == "false"){
$array_rules = array(
'usuario' => 'required',
'pass' => 'required',
'nombre' => 'required',
'tipo' => 'required' );
$messages = array(
'usuario.required' => 'Por favor ingrese el Usuario',
'pass.required' => 'Por favor ingrese el Password',
'nombre.required' => 'Por favor ingrese el Nombre',
'tipo.required' => 'Por favor Seleccione el Tipo' );
}else{
$array_rules = array(
'usuario' => 'required',
'nombre' => 'required',
'tipo' => 'required' );
$messages = array(
'usuario.required' => 'Por favor ingrese el Usuario',
'nombre.required' => 'Por favor ingrese el Nombre',
'tipo.required' => 'Por favor Seleccione el Tipo' );
}
return \Validator::make( $data, $array_rules, $messages );
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store($data, User $u = null)
{
try{
\DB::beginTransaction();
if( $data[ 'id' ] != '' ){
$user = User::find($data['id']);
if($data['pass_check'] == "false"){
if($data['tipo'] == 2){
$user->password = md5($data['pass']);
}else{
$user->password = bcrypt($data['pass']);
}
}
}
else {
$user = new User();
$existUser=$this->checkUser($data);
if( $existUser==false )throw new \Exception('Ya existe usuario: '.$data['usuario']);
if($data['tipo'] == 2){
$user->password = md5($data['pass']);
}else{
$user->password = bcrypt($data['pass']);
}
}
/*if($_COOKIE['id'] == null){ throw new \Exception('La sessión ha caducado vuelve a iniciar');
URL:To('/');
}*/
$user->username = $data['usuario'];
$user->nombre = $data['nombre'];
$user->ape_pat = $data['ape_pat'];
$user->ape_mat = $data['ape_mat'];
$user->telefono = $data['tel'];
$user->tipo_usuario_id = $data['tipo'];
$user->status_id = ( $data['status_id'] != 'undefined') ? $data['status_id'] : 1;
$user->user_created = Auth::user()->id;
$user->save();
if($user->tipo_usuario_id == 3){
$clientes = $data['clientes'];
if($clientes != 'null' and $clientes != 'undefined'){
$clientes = explode(",",$clientes);
foreach ($clientes as $key => $value) {
$userCli = new UserCliente();
$clientes = $userCli->ClienteUser($user->id,$value);
if(!isset($clientes)){
$cUser = new UserCliente();
$cUser->cliente_id = $value;
$cUser->user_id = $user->id;
$cUser->save();
}
}
}
}
} catch( \Exception $e ){
\DB::rollback();
return array( 'status' => false, 'message' => $e->getMessage() );
}
\DB::commit();
return array( 'status' => true , 'data' => $user );
}
public function checkUser($data){
$exist = User::where('username','=',$data['usuario'])->get();
if( count( $exist ) < 1){
return true;
}else{
return false;
}
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function showUsers()
{
//
$users = new User();
if(Auth::user()->tipo_usuario_id == 3){
$user = $users->getUsers(Auth::user()->id);
}else{
$user = $users->getUsers();
}
$tipo = Tipo::all();
$clientes = Clientes::where('status_id','=',1)->get();
return view('catalogo.userAll')->with(compact('user','tipo','clientes'));
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function getUser()
{
//
$data = \Input::all();
$user = User::with('tipo')->where('id','=',$data['id'])->get();
$userCliente = new User();
$cliente = $userCliente->userCliente($user[0]->id);
return response()->json(array('status'=> true, 'data'=>$user, 'cliente'=> $cliente));
}
public function eliminaUserC(Request $request){
if(UserCliente::destroy($request->input("id"))){
return response()->json(['status'=>true, 'message'=> 'Eliminado Correctamente']);
}else{
return response()->json(['status'=>false, 'message'=> 'Error al Eliminar']);
}
}
/**
* 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)
{
//
}
}