PageRenderTime 29ms CodeModel.GetById 0ms RepoModel.GetById 1ms app.codeStats 0ms

/app/controllers/ClienteController.php

https://gitlab.com/fabiorf/edigital
PHP | 397 lines | 269 code | 92 blank | 36 comment | 41 complexity | 89626ecb350f87e13d701cb221eed6d2 MD5 | raw file
  1. <?php
  2. class ClienteController extends BaseController {
  3. /*
  4. |--------------------------------------------------------------------------
  5. | Default Home Controller
  6. |--------------------------------------------------------------------------
  7. |
  8. | You may wish to use controllers instead of, or in addition to, Closure
  9. | based routes. That's great! Here is an example controller method to
  10. | get you started. To route to this controller, just add the route:
  11. |
  12. | Route::get('/', 'HomeController@showWelcome');
  13. |
  14. */
  15. public function index()
  16. {
  17. /*
  18. * Caso seja cliente apenas exibir os login do cliente pelo id authenticado
  19. * Caso seja admin exibir atraves do get id do cliente
  20. */
  21. if(Auth::user()->tipo == 'cliente'){
  22. $id = Auth::user()->idcliente;
  23. $oClientes = Clientes::where('id','=',$id)->get();
  24. }else{
  25. #$oClientes = ClienteQuery::create()->limit(5)->orderBy('Nome')->find();
  26. $oClientes = Clientes::all();
  27. }
  28. $dados['nomeEmpresa'] = "RBX Contabilidade";
  29. $dados['nomeUsuario'] = "Fulano";
  30. $dados['clientes'] = $oClientes;
  31. return View::make('cliente.cliente',$dados);
  32. }
  33. public function dadosCliente($id){
  34. if($id == ""){
  35. $aCliente = array('erro'=>'Nenhum cliente encontrado!');
  36. }else{
  37. $oCliente = Clientes::find($id);
  38. if($oCliente){
  39. var_dump(Produto::where('idcliente','=',$id)->all());
  40. exit;
  41. if(Produto::where('idcliente','=',$id)->all()){
  42. $aCliente['produtos'] = $oCliente->getProdutoss()->toArray();
  43. }
  44. }else{
  45. $aCliente = array('erro'=>'Nenhum cliente encontrado!');
  46. }
  47. }
  48. return Illuminate\Support\Facades\Response::json($aCliente);
  49. }
  50. public function listarLogin($id)
  51. {
  52. /*
  53. * Caso seja cliente apenas exibir os login do cliente pelo id authenticado
  54. * Caso seja admin exibir atraves do get id do cliente
  55. */
  56. if(Auth::user()->tipo == 'cliente'){
  57. $id = Auth::user()->idcliente;
  58. $usuarios = Usuario::where('idcliente', '=', $id)->get();
  59. }else{
  60. $usuarios = Usuario::where('tipo','<>','admin')->where('idcliente','=',$id)->get();
  61. if(!$usuarios->count()){
  62. return Redirect::to('/cliente/cadastrar-login/'.$id)->with('message-erro','Nenhum usuário encontrado!');
  63. }
  64. }
  65. $oCliente = Clientes::find($id);
  66. return View::make('cliente.listar-login',array('usuarios'=>$usuarios,'id'=>$id,'oCliente'=>$oCliente));
  67. }
  68. public function view($id)
  69. {
  70. $method = Request::method();
  71. /*
  72. * Caso seja cliente apenas exibir os login do cliente pelo id authenticado
  73. * Caso seja admin exibir atraves do get id do cliente
  74. */
  75. if(Auth::user()->tipo == 'cliente'){
  76. $id = Auth::user()->idcliente;
  77. $usuarios = Usuario::where('idcliente', '=', $id)->get();
  78. }else{
  79. $usuarios = Usuario::all();
  80. }
  81. $nome = Input::get('nome');
  82. $email = Input::get('email');
  83. $senha = Input::get('senha');
  84. $oCliente = Clientes::find($id);
  85. if(!$oCliente){
  86. return Redirect::to('/cliente')->with('message-erro','Nenhum cliente encontrado!');
  87. }
  88. return View::make('cliente.view',array('oCliente'=>$oCliente,'id'=>$id));
  89. }
  90. public function meusDados()
  91. {
  92. if(!Auth::check()){
  93. return Redirect::to('/cliente')->with('message-erro','Nenhum usuário encontrado!');
  94. }
  95. if (Request::isMethod('post'))
  96. {
  97. $oLogin = Usuario::find(Auth::user()->id);
  98. if(Input::get('senha'))
  99. {
  100. $oLogin->senha = Hash::make(Input::get('senha'));
  101. }
  102. $oLogin->nome = Input::get('nome');
  103. $oLogin->save();
  104. Session::flash('message-sucess', 'Usuário atualizado com sucesso.');
  105. }
  106. $oCliente = UsuariosQuery::create()->filterById(Auth::user()->id)->findOne();
  107. if(!$oCliente){
  108. return Redirect::to('/cliente')->with('message-erro','Nenhum usuário encontrado!');
  109. }
  110. return View::make('cliente.meus-dados',array('cliente'=>$oCliente,
  111. 'id'=>Auth::user()->idcliente));
  112. }
  113. public function editar($id)
  114. {
  115. $method = Request::method();
  116. /*
  117. * Caso seja cliente apenas exibir os login do cliente pelo id authenticado
  118. * Caso seja admin exibir atraves do get id do cliente
  119. */
  120. if(Auth::user()->tipo == 'cliente'){
  121. $id = Auth::user()->idcliente;
  122. $usuarios = Usuario::where('idcliente', '=', $id)->get();
  123. }else{
  124. $usuarios = Usuario::all();
  125. }
  126. $nome = Input::get('nome');
  127. $email = Input::get('email');
  128. $senha = Input::get('senha');
  129. $oCliente = Clientes::find(9);
  130. if(!$oCliente){
  131. return Redirect::to('/cliente')->with('message-erro','Nenhum cliente encontrado!');
  132. }
  133. if($oCliente->getUsuarioss()){
  134. $loginCliente = "";
  135. }
  136. $loginCliente = "";
  137. if (Request::isMethod('post'))
  138. {
  139. $oCliente->nome = $nome;
  140. $oCliente->email = $email;
  141. if($senha != ""){
  142. $oCliente->login = $senha;
  143. }
  144. $oCliente->save();
  145. return Redirect::to('/cliente')->with('message-sucess','Atualizado com sucesso!');
  146. }
  147. return View::make('cliente.editar',array('oCliente'=>$oCliente,'loginCliente'=>$loginCliente,'id'=>$id));
  148. }
  149. public function novo()
  150. {
  151. $method = Request::method();
  152. $nome = Input::get('nome');
  153. $email = Input::get('email');
  154. $obscontrato = Input::get('obscontrato');
  155. if (Request::isMethod('post'))
  156. {
  157. $oCliente = new Cliente();
  158. $oCliente->setNome($nome);
  159. $oCliente->setEmail($email);
  160. $oCliente->setObscontrato($obscontrato);
  161. $oCliente->setAtivo(true);
  162. $oCliente->save();
  163. $oCat = new Categorias();
  164. $oCat->setIdCliente($oCliente->getId());
  165. $oCat->setNomecategoria("Suporte");
  166. $oCat->save();
  167. $oCat = new Categorias();
  168. $oCat->setIdCliente($oCliente->getId());
  169. $oCat->setNomecategoria("Boleto");
  170. $oCat->save();
  171. $oCat = new Categorias();
  172. $oCat->setIdCliente($oCliente->getId());
  173. $oCat->setNomecategoria("INSS");
  174. $oCat->save();
  175. $oCat = new Categorias();
  176. $oCat->setIdCliente($oCliente->getId());
  177. $oCat->setNomecategoria("IRPF");
  178. $oCat->save();
  179. $oCat = new Categorias();
  180. $oCat->setIdCliente($oCliente->getId());
  181. $oCat->setNomecategoria("Tabelas");
  182. $oCat->save();
  183. return Redirect::to('/cliente')->with('message-sucess','Cadastrado com sucesso!');
  184. }
  185. return View::make('cliente.novo');
  186. }
  187. public function cadastrarLogin($id)
  188. {
  189. $method = Request::method();
  190. /*
  191. * Caso seja cliente apenas exibir os login do cliente pelo id authenticado
  192. * Caso seja admin exibir atraves do get id do cliente
  193. */
  194. if(Auth::user()->tipo == 'cliente'){
  195. $id = Auth::user()->idcliente;
  196. $usuarios = Usuario::where('idcliente', '=', $id)->get();
  197. }else{
  198. $usuarios = Usuario::all();
  199. }
  200. /*
  201. * Pegar dados do cliente
  202. */
  203. $oCliente = ClienteQuery::create()
  204. ->filterById($id)
  205. ->findOne();
  206. if(!$oCliente){
  207. return Redirect::to('/cliente')->with('message-erro','Nenhum cliente encontrado!');
  208. }
  209. if (Request::isMethod('post'))
  210. {
  211. $oLogin = new Usuario();
  212. if(Input::get('senha'))
  213. {
  214. $oLogin->senha = Hash::make(Input::get('senha'));
  215. }else{
  216. Session::flash('message-erro', 'Erro senha não preenchida.');
  217. return View::make('cliente.cadastrar-login',array('oCliente'=>$oCliente,'id'=>$id,'email'=>Input::get('email')));
  218. }
  219. $oLogin->nome = Input::get('nome');
  220. $oLogin->email = Input::get('email');
  221. $oLogin->tipo = 'cliente';
  222. if(Input::get('lang')){
  223. $oLogin->lang = Input::get('lang');
  224. }else{
  225. $oLogin->lang = 'pt';
  226. }
  227. $oLogin->idcliente = $id;
  228. $oCliente = UsuariosQuery::create()
  229. ->filterByEmail(Input::get('email'))
  230. ->findOne();
  231. if(!$oCliente){
  232. $oLogin->save();
  233. return Redirect::to('/cliente/listar-login/'.$id)->with('message-sucess','Cadastrado com sucesso!');
  234. }else{
  235. Session::flash('message-erro', 'Erro email ja á cadastrado.');
  236. }
  237. }
  238. return View::make('cliente.cadastrar-login',array('oCliente'=>$oCliente,'id'=>$id,'email'=>Input::get('email')));
  239. }
  240. public function excluir($idGet)
  241. {
  242. $method = Request::method();
  243. $oCliente = Clientes::find($idGet);
  244. if(!$oCliente){
  245. return Redirect::to('/cliente')->with('message-erro','Nenhum cliente encontrado!');
  246. }
  247. if(count($oCliente->getDocumentoss()->get())){
  248. $caminhoDoc = __DIR__.'/../storage/documento/';
  249. foreach ($oCliente->getDocumentoss()->get() as $oDoc){
  250. @unlink($caminhoDoc.$oDoc->caminhodoc);
  251. if(count($oDoc->getDocumentosDownloadss())){
  252. $oDoc->getDocumentosDownloadss()->delete();
  253. }
  254. $oDoc->delete();
  255. }
  256. }
  257. if(count($oCliente->getCategoriass()->get())){
  258. $oCliente->getCategoriass()->delete();
  259. }
  260. if(count($oCliente->getClientePgtoss()->get())){
  261. $oCliente->getClientePgtoss()->delete();
  262. }
  263. if(count($oCliente->getProdutoss()->get())){
  264. $oCliente->getProdutoss()->delete();
  265. }
  266. if(count($oCliente->getUsuarioss()->get())){
  267. $oCliente->getUsuarioss()->delete();
  268. }
  269. $oCliente->delete();
  270. return Redirect::to('/cliente')->with('message-sucess','Cliente excluído com sucesso!');
  271. }
  272. public function excluirLogin($id,$idCli)
  273. {
  274. $method = Request::method();
  275. $oCliente = UsuariosQuery::create()->filterById($id)->filterByIdcliente($idCli)->findOne();
  276. if(!$oCliente){
  277. return Redirect::to('/cliente')->with('message-erro','Usuário não encontrado!');
  278. }
  279. $oCliente->setIsdelete(true);
  280. $oCliente->save();
  281. return Redirect::to('/cliente/listar-login/'.$idCli)->with('message-sucess','Usuário excluído com sucesso!');
  282. }
  283. public function desativar($idGet)
  284. {
  285. $method = Request::method();
  286. $oCliente = Clientes::find($idGet);
  287. if(!$oCliente){
  288. return Redirect::to('/cliente')->with('message-erro','Nenhum cliente encontrado!');
  289. }
  290. $oCliente->ativo = false;
  291. $oCliente->save();
  292. return Redirect::to('/cliente')->with('message-sucess','Cliente desativado com sucesso!');
  293. }
  294. public function ativar($idGet)
  295. {
  296. $method = Request::method();
  297. $oCliente = Clientes::find($idGet);
  298. if(!$oCliente){
  299. return Redirect::to('/cliente')->with('message-erro','Nenhum cliente encontrado!');
  300. }
  301. $oCliente->ativo = true;
  302. $oCliente->save();
  303. return Redirect::to('/cliente')->with('message-sucess','Cliente ativado com sucesso!');
  304. }
  305. }