Compare commits
No commits in common. "9261467144faa6bc821f94cc30bacd19668181c9" and "f6fa4f9523ebe30aa36ac059df2bd4f46d6c9222" have entirely different histories.
9261467144
...
f6fa4f9523
|
@ -1,6 +1,7 @@
|
||||||
[Dolphin]
|
[Dolphin]
|
||||||
HeaderColumnWidths=372,72,103
|
HeaderColumnWidths=372,72,103
|
||||||
Timestamp=2022,12,4,10,12,38
|
SortRole=modificationtime
|
||||||
|
Timestamp=2022,6,1,16,36,48
|
||||||
Version=4
|
Version=4
|
||||||
ViewMode=1
|
ViewMode=1
|
||||||
|
|
||||||
|
|
|
@ -31,7 +31,6 @@ class Filtro extends Model
|
||||||
|
|
||||||
//Aplicar filtros que aparecen en los parámetros, si los hay
|
//Aplicar filtros que aparecen en los parámetros, si los hay
|
||||||
$filtros = $this->request->all();
|
$filtros = $this->request->all();
|
||||||
var_dump($filtros);
|
|
||||||
|
|
||||||
//el filtro nombre debe tomar precedencia sobre otros como (alfabetico)
|
//el filtro nombre debe tomar precedencia sobre otros como (alfabetico)
|
||||||
if (isset($filtros["nombre"])) {
|
if (isset($filtros["nombre"])) {
|
||||||
|
|
|
@ -5,14 +5,9 @@ use Illuminate\Database\Eloquent\Builder;
|
||||||
|
|
||||||
class FiltroDeProducto extends Filtro {
|
class FiltroDeProducto extends Filtro {
|
||||||
|
|
||||||
public function categoria(String $valor)
|
public function categoria(String $valor)
|
||||||
{
|
{
|
||||||
$this->builder->where('categoria', $valor);
|
$this->builder->where('categoria', $valor);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function grupoDeCompra($grupoDeCompraID)
|
|
||||||
{
|
|
||||||
$this->builder->where('', $valor);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -17,19 +17,12 @@ class GrupoDeCompra extends Model
|
||||||
protected $table = 'grupos_de_compra';
|
protected $table = 'grupos_de_compra';
|
||||||
protected $hidden = ['password'];
|
protected $hidden = ['password'];
|
||||||
|
|
||||||
// devuelve una colección con los productos no centrales que este grupo de compra puede comprar
|
// devuelve una colección con los productos que este grupo de compra puede comprar
|
||||||
public function productosNoCentrales()
|
public function productos()
|
||||||
{
|
{
|
||||||
return $this->belongsToMany('App\Producto');
|
return $this->belongsToMany('App\Producto');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function productosComprables() {
|
|
||||||
$noCentrales = $this->productosNoCentrales();
|
|
||||||
$centrales = Producto::productosCentrales();
|
|
||||||
if ($noCentrales->count() == 0) return $centrales;
|
|
||||||
return $centrales->concat($noCentrales);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function subpedidos() {
|
public function subpedidos() {
|
||||||
return $this->hasMany('App\Subpedido');
|
return $this->hasMany('App\Subpedido');
|
||||||
}
|
}
|
||||||
|
@ -121,13 +114,4 @@ class GrupoDeCompra extends Model
|
||||||
foreach ($gdcs as $gdc){ $gdc->exportarPedidoEnCSV(); }
|
foreach ($gdcs as $gdc){ $gdc->exportarPedidoEnCSV(); }
|
||||||
}
|
}
|
||||||
|
|
||||||
public function subpedidosInfo()
|
|
||||||
{
|
|
||||||
$pedidosAprobados = $this->pedidosAprobados();
|
|
||||||
foreach ($pedidosAprobados as $p) {
|
|
||||||
$p->info();
|
|
||||||
}
|
|
||||||
return $pedidosAprobados;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -7,7 +7,6 @@ use Illuminate\Http\Request;
|
||||||
use App\Filtros\FiltroDeProducto;
|
use App\Filtros\FiltroDeProducto;
|
||||||
use App\Http\Resources\ProductoResource;
|
use App\Http\Resources\ProductoResource;
|
||||||
use App\Producto;
|
use App\Producto;
|
||||||
use Auth;
|
|
||||||
|
|
||||||
class ProductoController extends Controller
|
class ProductoController extends Controller
|
||||||
{
|
{
|
||||||
|
@ -20,7 +19,6 @@ class ProductoController extends Controller
|
||||||
*/
|
*/
|
||||||
public function index(FiltroDeProducto $filtros, Request $request)
|
public function index(FiltroDeProducto $filtros, Request $request)
|
||||||
{
|
{
|
||||||
$gdcID = Auth::user()->grupoDeCompra->id;
|
|
||||||
return ProductoResource::collection(Producto::filtrar($filtros)->paginate(Producto::getPaginar($request)));
|
return ProductoResource::collection(Producto::filtrar($filtros)->paginate(Producto::getPaginar($request)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -12,24 +12,15 @@ class Producto extends Model
|
||||||
protected $fillable = [ "nombre", "precio", "presentacion", "stock", "categoria" ];
|
protected $fillable = [ "nombre", "precio", "presentacion", "stock", "categoria" ];
|
||||||
static $paginarPorDefecto = 10;
|
static $paginarPorDefecto = 10;
|
||||||
|
|
||||||
public function gruposDeCompra()
|
public function subpedidos()
|
||||||
{
|
{
|
||||||
return $this->belongsToMany('App\GrupoDeCompra', 'grupo_de_compra_producto', 'grupo_de_compra_id');
|
return $this->belongsToMany('App\Subpedido','productos_subpedidos')->withPivot(["cantidad"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function proveedor()
|
public function proveedor()
|
||||||
{
|
{
|
||||||
return $this->belongsTo('App\Proveedor');
|
return $this->belongsTo('App\Proveedor');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function subpedidos()
|
|
||||||
{
|
|
||||||
return $this->belongsToMany('App\Subpedido','productos_subpedidos')->withPivot(["cantidad"]);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static function productosCentrales() {
|
|
||||||
return Producto::doesntHave('gruposDeCompra')->get();
|
|
||||||
}
|
|
||||||
|
|
||||||
//Este método permite que se apliquen los filtros al hacer una request (por ejemplo, de búsqueda)
|
//Este método permite que se apliquen los filtros al hacer una request (por ejemplo, de búsqueda)
|
||||||
public function scopeFiltrar($query, FiltroDeProducto $filtros)
|
public function scopeFiltrar($query, FiltroDeProducto $filtros)
|
||||||
|
|
|
@ -88,12 +88,4 @@ class Subpedido extends Model
|
||||||
return $view->render();
|
return $view->render();
|
||||||
}
|
}
|
||||||
|
|
||||||
public function info()
|
|
||||||
{
|
|
||||||
$res = [];
|
|
||||||
$res['id'] = $this->id;
|
|
||||||
$res['productos'] = $this->productos();
|
|
||||||
return $res;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue