Completed
Push — master ( 6cdfe5...52a2d5 )
by Aimeos
01:56
created

AdminController::indexAction()   B

Complexity

Conditions 5
Paths 3

Size

Total Lines 21
Code Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 5
eloc 13
c 1
b 0
f 0
nc 3
nop 1
dl 0
loc 21
rs 8.7624
1
<?php
2
3
/**
4
 * @license MIT, http://opensource.org/licenses/MIT
5
 * @copyright Aimeos (aimeos.org), 2014-2016
6
 * @package laravel
7
 * @subpackage Controller
8
 */
9
10
11
namespace Aimeos\Shop\Controller;
12
13
use Illuminate\Http\Request;
14
use Illuminate\Routing\Controller;
15
use Illuminate\Support\Facades\Auth;
16
use Illuminate\Support\Facades\Input;
17
use Illuminate\Support\Facades\Route;
18
use Illuminate\Support\Facades\View;
19
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
20
21
22
/**
23
 * Controller providing the ExtJS administration interface
24
 *
25
 * @package laravel
26
 * @subpackage Controller
27
 */
28
class AdminController extends Controller
29
{
30
	use AuthorizesRequests;
31
32
33
	/**
34
	 * Returns the initial HTML view for the admin interface.
35
	 *
36
	 * @param \Illuminate\Http\Request $request Laravel request object
37
	 * @return \Illuminate\Contracts\View\View View for rendering the output
38
	 */
39
	public function indexAction( Request $request )
40
	{
41
		if( Auth::check() === false
42
			|| $request->user()->can( 'admin', [AdminController::class, ['admin', 'editor', 'super']] ) === false
43
		) {
44
			return redirect()->guest( 'login' );
45
		}
46
47
		$siteId = $request->user()->siteid;
48
		$context = app( '\Aimeos\Shop\Base\Context' )->get( false );
49
		$siteManager = \Aimeos\MShop\Factory::createManager( $context, 'locale/site' );
50
		$siteCode = ( $siteId ? $siteManager->getItem( $siteId )->getCode() : 'default' );
51
52
		$param = array(
53
			'resource' => 'dashboard',
54
			'site' => Route::input( 'site', Input::get( 'site', $siteCode ) ),
55
			'lang' => Route::input( 'lang', Input::get( 'lang', $request->user()->langid ?: config( 'app.locale', 'en' ) ) )
56
		);
57
58
		return redirect()->route( 'aimeos_shop_jqadm_search', $param );
59
	}
60
}
61