thekordy / ticketit

A simple helpdesk tickets system for Laravel 5.1+ which integrates smoothly with Laravel default users and auth system, demo is available at: http://ticketit.kordy.info/tickets
MIT License
875 stars 387 forks source link

InvalidArgumentException Route [login] not defined. #512

Closed froid24 closed 5 years ago

froid24 commented 5 years ago

Hello,

I'm trying a setup using kordy/ticketit on a Laravel 5.7 installation with Laravel Backpack installed. After following all the steps for ticketit, the final step does not work. I go to url/tickets-install, and get the following message:

InvalidArgumentException Route [login] not defined.

Can it have something to do with the Backpack package? Something about middleware or guard? Please help me figure this out. I've used Ticketit in a past project and it was very nice and simple to use.

Thanks so much.

froid24 commented 5 years ago

5 days and no answer whatsoever?

That Backpack package was running the authentication under the 'admin' middleware, so I modified the authMiddleware() method in Helpers/LaravelVersion.php to return ['admin']. So one suggestion is to consider the option where the auth middleware is something else than web or auth, which are hardcoded in that class.

Now there's no error, but redirects to /home. That route did not exist, so I modified in App\Http\Middleware\RedirectIfAuthenticated.php : if (Auth::guard($guard)->check()) { return redirect('/'); // return redirect('/home'); }

Now it just redirects to the root, no error, but doesn't complete the installation of ticketit (if it gets to that method, the user is obviously authenticated).

Any help? Thanks.

Is it possible to complete the installation using command line, as for this package, for example (https://github.com/panichelpdesk/panichd) that is built on top of ticketit? If so, can you list the steps please?

Also, as a suggestion, you should name the migration class CreateSettingsTable to something more concrete, like CreateTicketitSettingsTable, as it may be conflicting (as it happened to me for a past project) with other migration classes with the same name (of course, the suggestion is as good for that other package as well).

froid24 commented 5 years ago

I will just leave this comment here, maybe it helps someone in the future.

The Backpack package that I'm using manages auth under the 'admin' middleware. It seems to have started working if in vendor\kordy\ticketit\src\Helpers\LaravelVersion.php the method authMiddleware() is set to return this:

return ['web', 'admin'];

So maybe consider adding a configuration for this in a future version, as other packages might use middlewares other than 'auth'.