forked from nathalie/pedi2
Formato
This commit is contained in:
parent
f909a78e74
commit
ead7483e19
1 changed files with 52 additions and 48 deletions
|
@ -12,34 +12,34 @@ class Subpedido extends Model
|
|||
{
|
||||
const COSTO_TRANSPORTE = 15;
|
||||
public $timestamps = false;
|
||||
protected $fillable = ['grupo_de_compra_id', 'aprobado', 'nombre', 'devoluciones_total', 'devoluciones_notas'];
|
||||
protected $fillable = ['grupo_de_compra_id', 'aprobado', 'nombre', 'devoluciones_total', 'devoluciones_notas'];
|
||||
|
||||
public function productos()
|
||||
{
|
||||
return $this->belongsToMany('App\Producto')->withPivot(["cantidad","total", "notas"]);
|
||||
}
|
||||
public function productos()
|
||||
{
|
||||
return $this->belongsToMany('App\Producto')->withPivot(["cantidad", "total", "notas"]);
|
||||
}
|
||||
|
||||
//Bonos del MPS, Sororo, etc. NO devuelve bonos de transporte
|
||||
private function bonos()
|
||||
{
|
||||
return $this->productos()->where('bono',1);
|
||||
}
|
||||
//Bonos del MPS, Sororo, etc. NO devuelve bonos de transporte
|
||||
private function bonos()
|
||||
{
|
||||
return $this->productos()->where('bono', 1);
|
||||
}
|
||||
|
||||
public function productosSinBonos()
|
||||
{
|
||||
return $this->productos()->where('bono',false);
|
||||
}
|
||||
public function productosSinBonos()
|
||||
{
|
||||
return $this->productos()->where('bono', false);
|
||||
}
|
||||
|
||||
public function grupoDeCompra()
|
||||
{
|
||||
return $this->belongsTo('App\GrupoDeCompra');
|
||||
}
|
||||
public function grupoDeCompra()
|
||||
{
|
||||
return $this->belongsTo('App\GrupoDeCompra');
|
||||
}
|
||||
|
||||
//Permite que se apliquen los filtros al hacer una request (por ejemplo, de búsqueda)
|
||||
public function scopeFiltrar($query, FiltroDeSubpedido $filtros)
|
||||
{
|
||||
return $filtros->aplicar($query);
|
||||
}
|
||||
// Permite que se apliquen los filtros al hacer una request (por ejemplo, de búsqueda)
|
||||
public function scopeFiltrar($query, FiltroDeSubpedido $filtros)
|
||||
{
|
||||
return $filtros->aplicar($query);
|
||||
}
|
||||
|
||||
public function total()
|
||||
{
|
||||
|
@ -102,36 +102,40 @@ class Subpedido extends Model
|
|||
return TransporteHelper::cantidadTransporte($this->totalCentralesQuePaganTransporte());
|
||||
}
|
||||
|
||||
//Actualiza el pedido, agregando o quitando del subpedido según sea necesario. Debe ser llamado desde el controlador de subpedidos, luego de validar que los parámetros $producto y $cantidad son correctos. También calcula el subtotal por producto.
|
||||
public function syncProducto(Producto $producto, Int $cantidad, string $notas) {
|
||||
if ($cantidad){
|
||||
//si la cantidad es 1 o más se agrega el producto o actualiza la cantidad
|
||||
$this->productos()->syncWithoutDetaching([
|
||||
$producto->id => [
|
||||
'cantidad' => $cantidad,
|
||||
'total' => $cantidad * $producto->precio,
|
||||
'notas' => $notas,
|
||||
]
|
||||
]);
|
||||
//Actualiza el pedido, agregando o quitando del subpedido según sea necesario. Debe ser llamado desde el controlador de subpedidos, luego de validar que los parámetros $producto y $cantidad son correctos. También calcula el subtotal por producto.
|
||||
public function syncProducto(Producto $producto, int $cantidad, string $notas)
|
||||
{
|
||||
if ($cantidad) {
|
||||
//si la cantidad es 1 o más se agrega el producto o actualiza la cantidad
|
||||
$this->productos()->syncWithoutDetaching([
|
||||
$producto->id => [
|
||||
'cantidad' => $cantidad,
|
||||
'total' => $cantidad * $producto->precio,
|
||||
'notas' => $notas,
|
||||
]
|
||||
]);
|
||||
} else {
|
||||
//si la cantidad es 0, se elimina el producto del subpedido
|
||||
$this->productos()->detach($producto->id);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function toggleAprobacion(bool $aprobacion) {
|
||||
$this->aprobado = $aprobacion;
|
||||
$this->save();
|
||||
}
|
||||
public function toggleAprobacion(bool $aprobacion)
|
||||
{
|
||||
$this->aprobado = $aprobacion;
|
||||
$this->save();
|
||||
}
|
||||
|
||||
public function generarHTML() {
|
||||
$view = view("pdfgen.subpedido_tabla", ["subpedido" => $this]);
|
||||
return $view->render();
|
||||
}
|
||||
public function generarHTML()
|
||||
{
|
||||
$view = view("pdfgen.subpedido_tabla", ["subpedido" => $this]);
|
||||
return $view->render();
|
||||
}
|
||||
|
||||
public function syncDevoluciones(float $total, string $notas) {
|
||||
$this->devoluciones_total = $total;
|
||||
$this->devoluciones_notas = $notas;
|
||||
$this->save();
|
||||
}
|
||||
public function syncDevoluciones(float $total, string $notas)
|
||||
{
|
||||
$this->devoluciones_total = $total;
|
||||
$this->devoluciones_notas = $notas;
|
||||
$this->save();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue