'Auth guard [productos.show] is not defined
vendor/laravel/framework/src/Illuminate/Auth/AuthManager.php:84 InvalidArgumentException Auth guard [productos.index] is not defined. http://127.0.0.1:8002/productos/index i'm using laravel framework 6.0
This is how it happens when I go to "show" "crear" "inventario"
This is my controller
?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Hash;
use Illuminate\Routing\Redirector;
use App;
use App\Agency;
use App\Credential;
use App\User;
use App\Producto;
use Carbon\Carbon;
use Illuminate\Auth\Access\AuthorizationException;
use Illuminate\Contracts\View\Factory;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\View\View;
use Queue;
use stdClass;?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Hash;
use Illuminate\Routing\Redirector;
use App;
use App\Agency;
use App\Credential;
use App\User;
use App\Producto;
use Carbon\Carbon;
use Illuminate\Auth\Access\AuthorizationException;
use Illuminate\Contracts\View\Factory;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\View\View;
use Queue;
use File;
use Image;
class ProductoController extends Controller
{
private static $this = '';
//Constructor
function __construct() {
}
/**
* Display a listing of the productos
*
* @param \App\Producto $model
* @return \Illuminate\View\View
*/
public function index()
{
$code = new DNS1D();
$productos = Producto::with('categoria')->where('categoria_id','1')->orderBy('id', 'ASC')->paginate(10);
$categorias = Categoria::all();
return view('productos.index', compact('productos', 'categorias','code')); }
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
//$productos = Producto::get();
//$code = time();
$categoria = Categoria::where('nombre','<>','SERVICIOS')->get();
return view('productos.create', compact('categoria'));
}
/**
* Display the specified resource.
*
* @param \App\Producto $producto
* @return \Illuminate\Http\Response
*/
public function show(Producto $producto)
{
//
//$producto = Producto::all();
$categorias = Categoria::all();
return view('productos.show', compact('categorias', 'producto'));
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
*
* @param \App\Producto $model
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
//form validate
$this->validate($request, [
'codigo' => 'required|string|max:30|unique:productos',
'nombre' => 'required|string|max:50',
'marca' => 'required|string|max:50',
'modelo' => 'required|string|max:50',
'descripcion' => 'required|string|nullable|max:100',
'cantidad' => 'required|integer',
'precio' => 'required|numeric',
'condicion' => 'required|integer',
'imagen' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048|nullable',
]);
try{
$imagen = null;
if($request->hasFile('imagen')) {
$imagen = $this->saveFile($request->nombre, $request->file('imagen'));
}
$producto = Producto::create([
'categoria_id' => $request->categoria_id,
'codigo' => $request->codigo,
'nombre' => $request->nombre,
'marca' => $request->marca,
'modelo' => $request->modelo,
'descripcion' => $request->descripcion,
'cantidad' => $request->cantidad,
'precio' => $request->precio,
'condicion' => $request->condicion,
'asignado' => 0,
'imagen' => $imagen,
]);
return redirect()->route('productos.index', $producto->nombre)->withStatus(__('Producto agregado satisfactoriamente.'));
}catch(Exception $e){
return redirect()->back()->with(['Error' => $e->getMessage()]);
}
}
public function saveFile($name, $photo)
{
$imagen = str_slug($name) . time() . '.' . $photo->getClientOriginalExtension();
$path = public_path('uploads/productos');
if(!File::isDirectory($path)) {
File::makeDirectory($path, 0777, true, true);
}
Image::make($photo)->save($path . '/' .$imagen);
return $imagen;
}
public function destroy($id)
{
$productos = Producto::findOrFail($id);
if(!empty($productos->imagen)) {
File::delete(public_path('uploads/productos/' . $productos->imagen));
}
$productos->delete();
return redirect()->route('productos.index', $productos->nombre)->withStatus(__('Producto eliminado satisfactoriamente.'));
}
/**
* Display a listing of the productos
*
* @param \App\Producto $model
* @return \Illuminate\View\View
*/
public function edit($id)
{
$producto = Producto::findOrFail($id);
$categorias = Categoria::orderBy('id', 'ASC')->get();
return view('productos.edit', compact('producto', 'categorias'));
}
/**
* Update a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
*
* @param \App\Producto $model
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//form validate
$this->validate($request, [
'nombre' => 'required|string|max:50',
'descripcion' => 'required|string|nullable|max:100',
'cantidad' => 'required|integer',
'precio' => 'required|numeric',
'condicion' => 'required|integer',
'imagen' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048|nullable',
]);
try{
$producto = Producto::findOrFail($id);
$imagen = $producto->imagen;
if($request->hasFile('imagen')) {
!empty($imagen) ? File::delete(public_path('uploads/productos/' . $producto->imagen)):null;
$imagen = $this->saveFile($request->nombre, $request->file('imagen'));
}
$product = Producto::find($id);
$product->nombre = $request->nombre;
$product->descripcion = $request->descripcion;
$product->cantidad = $request->cantidad;
$product->precio = $request->precio;
$product->condicion = $request->condicion;
$product->imagen = $imagen;
$product->save();
return redirect()->route('productos.index', $product->nombre)->withStatus(__('Producto actualizado satisfactoriamente.'));
}catch(Exception $e){
return redirect()->back()->with(['Error' => $e->getMessage()]);
}
}
// Servicios controller con los datos asociados a servicios de la empresa
/**
* Display a listing of the productos
*
* @param \App\Producto $model
* @return \Illuminate\View\View
*/
public function servicio_index()
{
$code = new DNS1D();
$servicios = Producto::with('categoria')->where('categoria_id','=','2')
->orderBy('id', 'ASC')->paginate(10);
$categorias = Categoria::where('id','=','2');
return view('servicios.index', compact('servicios', 'categorias','code')); }
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function servicio_create()
{
//$productos = Producto::get();
$code = time();
$categoria = Categoria::where('id','<>','1')->get();
return view('servicios.create', compact('categoria', 'code'));
}
/**
* Display the specified resource.
*
* @param \App\Producto $servicio
* @return \Illuminate\Http\Response
*/
public function servicio_show(Producto $servicio)
{
//
//$servicio = Producto::all();
$categorias = Categoria::all();
return view('servicios.show', compact('categorias', 'servicio'));
}
public function servicioSaveFile($name, $photo)
{
$imagen = str_slug($name) . time() . '.' . $photo->getClientOriginalExtension();
$path = public_path('uploads/servicios');
if(!File::isDirectory($path)) {
File::makeDirectory($path, 0777, true, true);
}
Image::make($photo)->save($path . '/' .$imagen);
return $imagen;
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
*
* @param \App\Producto $model
* @return \Illuminate\Http\Response
*/
public function servicio_store(Request $request)
{
//form validate
$this->validate($request, [
'categoria_id' => 'required|exists:categorias,id',
'codigo' => 'required|string|max:10|unique:productos',
'nombre' => 'required|string|max:50',
'descripcion' => 'required|string|nullable|max:100',
'cantidad' => 'required|integer',
'precio' => 'required|numeric',
'condicion' => 'required|integer',
'imagen' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048|nullable',
]);
try{
$imagen = null;
if($request->hasFile('imagen')) {
$imagen = $this->servicioSaveFile($request->nombre, $request->file('imagen'));
}
$producto = Producto::create([
'categoria_id' => $request->categoria_id,
'codigo' => $request->codigo,
'nombre' => $request->nombre,
'descripcion' => $request->descripcion,
'precio' => $request->precio,
'cantidad' => $request->cantidad,
'asignado' => 0,
'condicion' => $request->condicion,
'imagen' => $imagen,
]);
return redirect()->route('servicios.index', $producto->nombre)->withStatus(__('Servicio agregado satisfactoriamente.'));
}catch(Exception $e){
return redirect()->back()->with(['Error' => $e->getMessage()]);
}
}
public function servicio_destroy($id)
{
$productos = Producto::findOrFail($id);
if(!empty($productos->imagen)) {
File::delete(public_path('uploads/servicios/' . $productos->imagen));
}
$productos->delete();
return redirect()->route('servicios.index', $productos->nombre)->withStatus(__('Servicio eliminado satisfactoriamente.'));
}
/**
* Display a listing of the productos
*
* @param \App\Producto $model
* @return \Illuminate\View\View
*/
public function servicio_edit($id)
{
$servicio = Producto::findOrFail($id);
$categorias = Categoria::where('id', '>', '1')->get();
return view('servicios.edit', compact('servicio', 'categorias'));
}
/**
* Update a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
*
* @param \App\Producto $model
* @return \Illuminate\Http\Response
*/
public function servicio_update(Request $request, $id)
{
//form validate
$this->validate($request, [
'categoria_id' => 'required|exists:categorias,id',
'nombre' => 'required|string|max:50',
'descripcion' => 'required|string|nullable|max:100',
'cantidad' => 'required|integer',
'precio' => 'required|numeric',
'condicion' => 'required|integer',
'imagen' => 'image|mimes:jpeg,png,jpg,gif,svg|max:2048|nullable',
]);
try{
$producto = Producto::findOrFail($id);
$imagen = $producto->imagen;
if($request->hasFile('imagen')) {
!empty($imagen) ? File::delete(public_path('uploads/servicios/' . $producto->imagen)):null;
$imagen = $this->servicioSaveFile($request->nombre, $request->file('imagen'));
}
$product = Producto::find($id);
$product->categoria_id = $request->categoria_id;
$product->nombre = $request->nombre;
$product->descripcion = $request->descripcion;
$product->precio = $request->precio;
$product->cantidad = $request->cantidad;
$product->condicion = $request->condicion;
$product->imagen = $imagen;
$product->save();
return redirect()->route('servicios.index', $product->nombre)->withStatus(__('Servicio actualizado satisfactoriamente.'));
}catch(Exception $e){
return redirect()->back()->with(['Error' => $e->getMessage()]);
}
}
/**
* Display a listing of the productos
*
* @param \App\Producto $model
* @return \Illuminate\View\View
*/
public function inventario()
{
$code = new DNS1D();
$inventario = Producto::with('categoria')->where('categoria_id','3')->orderBy('id', 'ASC')->paginate(10);
$categorias = Categoria::all();
return view('productos.inventario', compact('inventario', 'categorias','code'));
}
}
and my web.php
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Auth::routes();
Route::get('/', 'HomeController@index');
Route::get('/home', 'HomeController@index')->name('home');
Route::resource('isps', 'IspController');
Route::resource('agencies', 'AgencyController');
Route::post('/users/changeisp', 'UserController@changeIsp');
Route::resource('users', 'UserController');
Route::resource('subscribers', 'SubscriberController');
Route::resource('plans', 'PlanController');
Route::post('/rateprofiles/changerateprofile', 'PlanController@changeRateProfile');
Route::resource('rateprofiles', 'RateProfileController');
Route::post('/services/suspend/import', 'ServiceController@suspendServicesImport');
Route::post('/services/import', 'ServiceController@servicesImport');
Route::get('/services/export', 'ServiceController@export');
Route::resource('services', 'ServiceController');
Route::get('/services/{id}/editinfo', 'ServiceController@personalInfoEdit');
Route::put('/services/{id}/editinfo', 'ServiceController@personalInfoUpdate');
Route::resource('nas', 'NasController');
Route::resource('olts', 'OltController');
Route::get('/tickets/generate', 'TicketController@printMassive');
Route::resource('tickets', 'TicketController');
Route::resource('inventories','InventoryController');
Route::resource('type__a_materials','type_A_materialController');
Route::get('/payments/export', 'PaymentController@export');
Route::get('/invoices/export', 'InvoiceController@export');
Route::resource('payments', 'PaymentController');
Route::resource('invoices', 'InvoiceController');
Route::resource('einvoices', 'ElectronicInvoiceController');
Route::get('/activity', 'ActivityLogController@index');
Route::get('/tickets/{id}/print', 'TicketController@print');
Route::get('/payments/{id}/print', 'PaymentController@printTicket');
Route::get('/invoices/{id}/print', 'InvoiceController@print')->name('invoices.print');
Route::get('/payments/{id}/pdf', 'PaymentController@savePdf');
Route::get('/payments/{id}/einvoice/send', 'PaymentController@sendEInvoice');
Route::get('/inventories/{id}/print', 'InventoryController@print');
Route::get('/type__a_materials/{id}/print', 'type_A_materialController@print');
Route::get('/radius/check/{username}', 'RadiusController@check');
Route::get('/radius/auth/{username}/{password}/{mac}', 'RadiusController@auth');
Route::post('/radius/accounting/{username}', 'RadiusController@accounting');
Route::get('/services/{id}/toggle', 'ServiceController@toggle');
Route::get('/services/{id}/disconnect', 'ServiceController@admin_disconnect_user');
Route::get('/services/{id}/cpe/mac/delete', 'ServiceController@deleteMac');
Route::get('/services/{id}/cpe/delete', 'ServiceController@delete_service_cpe');
Route::get('/sms/masivo', 'SMSController@createMassiveSMS');
Route::post('sms/enviar', 'SMSController@sendSMS');
Route::get('/fct/{shortURLKey}', 'InvoiceController@userpdf')->name('invoices.userpdf');
//productos
Route::group(['middleware' => 'auth'], function () {
Route::post('productos/store', 'ProductoController@store')->name('productos.store')
->middleware('permission:productos.create');
Route::get('productos/index', 'ProductoController@index')->name('productos.index')
->middleware('permission:productos.index');
Route::get('productos/create', 'ProductoController@create')->name('productos.create')
->middleware('permission:productos.create');
Route::put('productos/{producto}', 'ProductoController@update')->name('productos.update')
->middleware('permission:productos.edit');
Route::get('productos/{producto}', 'ProductoController@show')->name('productos.show')
->middleware('permission:productos.show');
Route::delete('productos/{producto}', 'ProductoController@destroy')->name('productos.destroy')
->middleware('permission:productos.destroy');
Route::get('productos/{producto}/edit', 'ProductoController@edit')->name('productos.edit')
->middleware('permission:productos.edit');
});
can someone please help me? Thanks in advance
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
