78 lines
2.2 KiB
PHP
78 lines
2.2 KiB
PHP
<?php
|
|
namespace App\Controller;
|
|
|
|
use App\Definition\Controller;
|
|
use Incoviba\old\Proyecto\Proyecto;
|
|
use Incoviba\old\Proyecto\ProyectoTipoUnidad;
|
|
use Incoviba\old\Venta\Unidad;
|
|
use Incoviba\old\Venta\TipoUnidad;
|
|
|
|
class ProyectoTipoUnidades
|
|
{
|
|
use Controller;
|
|
|
|
protected static function setDefault()
|
|
{
|
|
self::$default = self::list();
|
|
}
|
|
public static function list()
|
|
{
|
|
d(get());
|
|
}
|
|
public static function edit()
|
|
{
|
|
$id = get('tipo_unidad');
|
|
$tipo = model(ProyectoTipoUnidad::class)->findOne($id);
|
|
$tipos = model(TipoUnidad::class)->findMany();
|
|
|
|
return view('proyectos.tipo_unidades.edit', compact('tipo', 'tipos'));
|
|
}
|
|
public static function editar()
|
|
{
|
|
$id = get('tipo_unidad');
|
|
$tipo = model(ProyectoTipoUnidad::class)->findOne($id);
|
|
|
|
$changed = false;
|
|
foreach (post() as $field => $value) {
|
|
if ($tipo->{$field} != $value) {
|
|
$tipo->{$field} = $value;
|
|
$changed = true;
|
|
}
|
|
}
|
|
if ($changed) {
|
|
$tipo->save();
|
|
}
|
|
header('Location: ' . nUrl('proyectos', 'list_unidades', ['proyecto' => $tipo->proyecto()->id]));
|
|
}
|
|
public static function add_unidad()
|
|
{
|
|
$id = get('tipo_unidad');
|
|
$tipo = model(ProyectoTipoUnidad::class)->findOne($id);
|
|
if ($tipo->tipo()->descripcion == 'departamento') {
|
|
return view('proyectos.unidades.add', compact('tipo'));
|
|
}
|
|
return view('proyectos.unidades.add2', compact('tipo'));
|
|
}
|
|
public static function assign()
|
|
{
|
|
$id = get('proyecto');
|
|
$proyecto = model(Proyecto::class)->findOne($id);
|
|
$tipos = model(ProyectoTipoUnidad::class)->where('proyecto', $proyecto->id)->findMany();
|
|
$libres = model(Unidad::class)->where('proyecto', $proyecto->id)->where('pt', 0)->findMany();
|
|
|
|
return view('proyectos.unidades.assign', compact('proyecto', 'tipos', 'libres'));
|
|
}
|
|
public static function asignar()
|
|
{
|
|
$id = get('proyecto');
|
|
$proyecto = model(Proyecto::class)->findOne($id);
|
|
|
|
$libres = model(Unidad::class)->where('proyecto', $proyecto->id)->where('pt', 0)->findMany();
|
|
foreach ($libres as $unidad) {
|
|
$unidad->pt = post('tipo' . $unidad->id);
|
|
$unidad->save();
|
|
}
|
|
header('Location: ' . nUrl('proyectos', 'list_unidades', ['proyecto' => $proyecto->id]));
|
|
}
|
|
}
|