findOne(get('pagare')); return view('proyectos.pagares.show', compact('pagare')); } public static function add() { $proyecto = model(Proyecto::class)->findOne(get('proyecto')); return view('proyectos.pagares.add', compact('proyecto')); } public static function do_add() { $proyecto = model(Proyecto::class)->findOne(get('proyecto')); $data = post(); $data['id'] = $data['numero']; unset($data['numero']); $data['proyecto'] = $proyecto->id; $moneda = model(TipoMonedaPagare::class)->where('descripcion', $data['moneda'])->findOne(); $data['moneda'] = $moneda->id; $fecha = ['year', 'month', 'day']; $fecha_arr = array_filter($data, function($item) use ($fecha) { return (array_search($item, $fecha) !== false); }, \ARRAY_FILTER_USE_KEY); uksort($fecha_arr, function($a, $b) use ($fecha) { return array_search($a, $fecha) - array_search($b, $fecha); }); foreach ($fecha as $f) { unset($data[$f]); } array_walk($fecha_arr, function(&$item) { if (strlen($item) < 4) { $item = str_pad($item, 2, '0', \STR_PAD_LEFT); } }); $data['fecha'] = implode('-', $fecha_arr); foreach ($fecha as &$key) { $key .= '_banco'; } $fecha_arr = array_filter($data, function($item) use ($fecha) { return (array_search($item, $fecha) !== false); }, \ARRAY_FILTER_USE_KEY); uksort($fecha_arr, function($a, $b) use ($fecha) { return array_search($a, $fecha) - array_search($b, $fecha); }); foreach ($fecha as $f) { unset($data[$f]); } array_walk($fecha_arr, function(&$item) { if (strlen($item) < 4) { $item = str_pad($item, 2, '0', \STR_PAD_LEFT); } }); $data['fecha_banco'] = implode('-', $fecha_arr); $data['abonado'] = (int) $data['abonado']; if ($data['abonado'] == 0) { $data['fecha'] = '0000-00-00'; } $pagare = model(Pagare::class)->create($data); $pagare->save(); header('Location: ' . nUrl('pagares', 'show', ['pagare' => $pagare->id])); } public static function edit() { $pagare = model(Pagare::class)->findOne(get('pagare')); return view('proyectos.pagares.edit', compact('pagare')); } public static function do_edit() { $pagare = model(Pagare::class)->findOne(get('pagare')); $data = post(); if ($pagare->id != $data['numero']) { foreach ($pagare->renovaciones() as $renovacion) { $renovacion->pagare = $data['numero']; $renovacion->save(); } $pagare->id = $data['numero']; $changed = true; } unset($data['numero']); $moneda = model(TipoMonedaPagare::class)->where('descripcion', $data['moneda'])->findOne(); $data['moneda'] = $moneda->id; $fecha = ['year', 'month', 'day']; $fecha_arr = array_filter($data, function($item) use ($fecha) { return (array_search($item, $fecha) !== false); }, \ARRAY_FILTER_USE_KEY); uksort($fecha_arr, function($a, $b) use ($fecha) { return array_search($a, $fecha) - array_search($b, $fecha); }); foreach ($fecha as $f) { unset($data[$f]); } array_walk($fecha_arr, function(&$item) { if (strlen($item) < 4) { $item = str_pad($item, 2, '0', \STR_PAD_LEFT); } }); $data['fecha'] = implode('-', $fecha_arr); foreach ($fecha as &$key) { $key .= '_banco'; } $fecha_arr = array_filter($data, function($item) use ($fecha) { return (array_search($item, $fecha) !== false); }, \ARRAY_FILTER_USE_KEY); uksort($fecha_arr, function($a, $b) use ($fecha) { return array_search($a, $fecha) - array_search($b, $fecha); }); foreach ($fecha as $f) { unset($data[$f]); } array_walk($fecha_arr, function(&$item) { if (strlen($item) < 4) { $item = str_pad($item, 2, '0', \STR_PAD_LEFT); } }); $data['fecha_banco'] = implode('-', $fecha_arr); $data['abonado'] = (int) $data['abonado']; if ($data['abonado'] == 0) { $data['fecha'] = '0000-00-00'; } $changed = false; foreach ($data as $k => $v) { if ($pagare->$k != $v) { $pagare->$k = $v; $changed = true; if (strpos($k, 'fecha') !== false) { $pagare->uf = 0; } } } if ($changed) { $pagare->save(); } header('Location: ' . nUrl('pagares', 'show', ['pagare' => $pagare->id])); } public static function edit_renovacion() { $renovacion = model(RenovacionPagare::class)->findOne(get('renovacion')); return view('proyectos.pagares.edit_renovacion', compact('renovacion')); } public static function do_edit_renovacion() { $renovacion = model(RenovacionPagare::class)->findOne(get('renovacion')); $data = post(); $fecha = ['year', 'month', 'day']; $fecha_arr = array_filter($data, function($item) use ($fecha) { return (array_search($item, $fecha) !== false); }, \ARRAY_FILTER_USE_KEY); uksort($fecha_arr, function($a, $b) use ($fecha) { return array_search($a, $fecha) - array_search($b, $fecha); }); foreach ($fecha as $f) { unset($data[$f]); } array_walk($fecha_arr, function(&$item) { if (strlen($item) < 4) { $item = str_pad($item, 2, '0', \STR_PAD_LEFT); } }); $data['fecha'] = implode('-', $fecha_arr); foreach ($fecha as &$key) { $key .= '_banco'; } $fecha_arr = array_filter($data, function($item) use ($fecha) { return (array_search($item, $fecha) !== false); }, \ARRAY_FILTER_USE_KEY); uksort($fecha_arr, function($a, $b) use ($fecha) { return array_search($a, $fecha) - array_search($b, $fecha); }); foreach ($fecha as $f) { unset($data[$f]); } array_walk($fecha_arr, function(&$item) { if (strlen($item) < 4) { $item = str_pad($item, 2, '0', \STR_PAD_LEFT); } }); $data['fecha_banco'] = implode('-', $fecha_arr); $changed = false; foreach ($data as $k => $v) { if ($renovacion->$k != $v) { $renovacion->$k = $v; $changed = true; if (strpos($k, 'fecha') !== false) { $renovacion->uf = 0; } } } if ($changed) { $renovacion->save(); } header('Location: ' . nUrl('pagares', 'show', ['pagare' => $renovacion->pagare])); } public static function add_renovacion() { $pagare = model(Pagare::class)->findOne(get('pagare')); return view('proyectos.pagares.add_renovacion', compact('pagare')); } public static function do_add_renovacion() { $pagare = model(Pagare::class)->findOne(get('pagare')); $data = post(); $data['pagare'] = $pagare->id; $fecha = ['year', 'month', 'day']; $fecha_arr = array_filter($data, function($item) use ($fecha) { return (array_search($item, $fecha) !== false); }, \ARRAY_FILTER_USE_KEY); uksort($fecha_arr, function($a, $b) use ($fecha) { return array_search($a, $fecha) - array_search($b, $fecha); }); foreach ($fecha as $f) { unset($data[$f]); } array_walk($fecha_arr, function(&$item) { if (strlen($item) < 4) { $item = str_pad($item, 2, '0', \STR_PAD_LEFT); } }); $data['fecha'] = implode('-', $fecha_arr); foreach ($fecha as &$key) { $key .= '_banco'; } $fecha_arr = array_filter($data, function($item) use ($fecha) { return (array_search($item, $fecha) !== false); }, \ARRAY_FILTER_USE_KEY); uksort($fecha_arr, function($a, $b) use ($fecha) { return array_search($a, $fecha) - array_search($b, $fecha); }); foreach ($fecha as $f) { unset($data[$f]); } array_walk($fecha_arr, function(&$item) { if (strlen($item) < 4) { $item = str_pad($item, 2, '0', \STR_PAD_LEFT); } }); $data['fecha_banco'] = implode('-', $fecha_arr); $renovacion = model(RenovacionPagare::class)->create($data); $renovacion->save(); header('Location: ' . nUrl('pagares', 'show', ['pagare' => $renovacion->pagare])); } }