This commit is contained in:
denisdulici 2017-12-27 17:06:14 +03:00
parent 8ab6972363
commit 5ce9136acd
3 changed files with 39 additions and 7 deletions

View File

@ -2,19 +2,33 @@
namespace App\Http\Controllers\Modules; namespace App\Http\Controllers\Modules;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\Module\Module; use App\Models\Module\Module;
use App\Models\Module\ModuleHistory; use App\Models\Module\ModuleHistory;
use App\Traits\Modules; use App\Traits\Modules;
use Artisan; use Artisan;
use Illuminate\Http\Request;
use Illuminate\Routing\Route; use Illuminate\Routing\Route;
class Item extends Controller class Item extends Controller
{ {
use Modules; use Modules;
/**
* Instantiate a new controller instance.
*
* @param Route $route
*/
public function __construct(Route $route)
{
parent::__construct($route);
// Add CRUD permission check
$this->middleware('permission:create-modules-item')->only(['install']);
$this->middleware('permission:update-modules-item')->only(['update', 'enable', 'disable']);
$this->middleware('permission:delete-modules-item')->only(['uninstall']);
}
/** /**
* Show the form for viewing the specified resource. * Show the form for viewing the specified resource.
* *
@ -31,7 +45,7 @@ class Item extends Controller
$module = $this->getModule($alias); $module = $this->getModule($alias);
$check = Module::where('alias', $alias)->first(); $check = Module::alias($alias)->first();
if ($check) { if ($check) {
$installed = true; $installed = true;
@ -154,7 +168,7 @@ class Item extends Controller
$json = $this->uninstallModule($alias); $json = $this->uninstallModule($alias);
$module = Module::where('alias', $alias)->first(); $module = Module::alias($alias)->first();
$data = array( $data = array(
'company_id' => session('company_id'), 'company_id' => session('company_id'),
@ -181,7 +195,7 @@ class Item extends Controller
$json = $this->updateModule($alias); $json = $this->updateModule($alias);
$module = Module::where('alias', $alias)->first(); $module = Module::alias($alias)->first();
$data = array( $data = array(
'company_id' => session('company_id'), 'company_id' => session('company_id'),
@ -206,7 +220,7 @@ class Item extends Controller
$json = $this->enableModule($alias); $json = $this->enableModule($alias);
$module = Module::where('alias', $alias)->first(); $module = Module::alias($alias)->first();
$data = array( $data = array(
'company_id' => session('company_id'), 'company_id' => session('company_id'),
@ -235,7 +249,7 @@ class Item extends Controller
$json = $this->disableModule($alias); $json = $this->disableModule($alias);
$module = Module::where('alias', $alias)->first(); $module = Module::alias($alias)->first();
$data = array( $data = array(
'company_id' => session('company_id'), 'company_id' => session('company_id'),

View File

@ -17,4 +17,16 @@ class Module extends Model
* @var array * @var array
*/ */
protected $fillable = ['company_id', 'alias', 'status']; protected $fillable = ['company_id', 'alias', 'status'];
/**
* Scope alias.
*
* @param \Illuminate\Database\Eloquent\Builder $query
* @param string $alias
* @return \Illuminate\Database\Eloquent\Builder
*/
public function scopeAlias($query, $alias)
{
return $query->where('alias', $alias);
}
} }

View File

@ -74,13 +74,18 @@
<div class="box-footer"> <div class="box-footer">
@if ($installed) @if ($installed)
@permission('delete-modules-item')
<a href="{{ url('apps/' . $module->slug . '/uninstall') }}" class="btn btn-block btn-danger">{{ trans('modules.button.uninstall') }}</a> <a href="{{ url('apps/' . $module->slug . '/uninstall') }}" class="btn btn-block btn-danger">{{ trans('modules.button.uninstall') }}</a>
@endpermission
@permission('update-modules-item')
@if ($enable) @if ($enable)
<a href="{{ url('apps/' . $module->slug . '/disable') }}" class="btn btn-block btn-warning">{{ trans('modules.button.disable') }}</a> <a href="{{ url('apps/' . $module->slug . '/disable') }}" class="btn btn-block btn-warning">{{ trans('modules.button.disable') }}</a>
@else @else
<a href="{{ url('apps/' . $module->slug . '/enable') }}" class="btn btn-block btn-success">{{ trans('modules.button.enable') }}</a> <a href="{{ url('apps/' . $module->slug . '/enable') }}" class="btn btn-block btn-success">{{ trans('modules.button.enable') }}</a>
@endif @endif
@endpermission
@else @else
@permission('create-modules-item')
@if ($module->install) @if ($module->install)
<a href="{{ $module->action_url }}" class="btn btn-success btn-block" id="install-module"> <a href="{{ $module->action_url }}" class="btn btn-success btn-block" id="install-module">
{{ trans('modules.install') }} {{ trans('modules.install') }}
@ -90,6 +95,7 @@
{{ trans('modules.buy_now') }} {{ trans('modules.buy_now') }}
</a> </a>
@endif @endif
@endpermission
@endif @endif
</div> </div>
<!-- /.box-footer --> <!-- /.box-footer -->