Skip to content

Commit 0f93ba2

Browse files
committed
Add permissions checking to sidebar
1 parent 5f8572f commit 0f93ba2

File tree

1 file changed

+75
-57
lines changed

1 file changed

+75
-57
lines changed

resources/themes/pterodactyl/layouts/master.blade.php

Lines changed: 75 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -116,63 +116,81 @@
116116
<i class="fa fa-terminal"></i> <span>@lang('navigation.server.console')</span>
117117
</a>
118118
</li>
119-
<li class="treeview
120-
@if(in_array(Route::currentRouteName(), ['server.files.index', 'server.files.edit', 'server.files.add']))
121-
active
122-
@endif
123-
">
124-
<a href="#">
125-
<i class="fa fa-files-o"></i>
126-
<span>@lang('navigation.server.file_management')</span>
127-
<span class="pull-right-container">
128-
<i class="fa fa-angle-left pull-right"></i>
129-
</span>
130-
</a>
131-
<ul class="treeview-menu">
132-
<li class="{{ (Route::currentRouteName() !== 'server.files.index' && Route::currentRouteName() !== 'server.files.edit') ?: 'active' }}"><a href="{{ route('server.files.index', $server->uuidShort) }}"><i class="fa fa-angle-right"></i> @lang('navigation.server.file_browser')</a></li>
133-
<li class="{{ Route::currentRouteName() !== 'server.files.add' ?: 'active' }}"><a href="{{ route('server.files.add', $server->uuidShort) }}"><i class="fa fa-angle-right"></i> @lang('navigation.server.create_file')</a></li>
134-
</ul>
135-
</li>
136-
<li
137-
@if(in_array(Route::currentRouteName(), ['server.subusers', 'server.subusers.new', 'server.subusers.view']))
138-
class="active"
139-
@endif
140-
>
141-
<a href="{{ route('server.subusers', $server->uuidShort)}}">
142-
<i class="fa fa-users"></i> <span>Subusers</span>
143-
</a>
144-
</li>
145-
<li
146-
@if(in_array(Route::currentRouteName(), ['server.tasks', 'server.tasks.new']))
147-
class="active"
148-
@endif
149-
>
150-
<a href="{{ route('server.tasks', $server->uuidShort)}}">
151-
<i class="fa fa-clock-o"></i> <span>@lang('navigation.server.task_management')</span>
152-
<span class="pull-right-container">
153-
<span class="label label-primary pull-right">{{ \Pterodactyl\Models\Task::select('id')->where('server', $server->id)->where('active', 1)->count() }}</span>
154-
</span>
155-
</a>
156-
</li>
157-
<li class="treeview
158-
@if(in_array(Route::currentRouteName(), ['server.settings.sftp', 'server.settings.databases', 'server.settings.startup', 'server.settings.allocation']))
159-
active
160-
@endif
161-
">
162-
<a href="#">
163-
<i class="fa fa-gears"></i>
164-
<span>@lang('navigation.server.configuration')</span>
165-
<span class="pull-right-container">
166-
<i class="fa fa-angle-left pull-right"></i>
167-
</span>
168-
</a>
169-
<ul class="treeview-menu">
170-
<li class="{{ Route::currentRouteName() !== 'server.settings.allocation' ?: 'active' }}"><a href="{{ route('server.settings.allocation', $server->uuidShort) }}"><i class="fa fa-angle-right"></i> @lang('navigation.server.port_allocations')</a></li>
171-
<li class="{{ Route::currentRouteName() !== 'server.settings.sftp' ?: 'active' }}"><a href="{{ route('server.settings.sftp', $server->uuidShort) }}"><i class="fa fa-angle-right"></i> @lang('navigation.server.sftp_settings')</a></li>
172-
<li class="{{ Route::currentRouteName() !== 'server.settings.startup' ?: 'active' }}"><a href="{{ route('server.settings.startup', $server->uuidShort) }}"><i class="fa fa-angle-right"></i> @lang('navigation.server.startup_parameters')</a></li>
173-
<li class="{{ Route::currentRouteName() !== 'server.settings.databases' ?: 'active' }}"><a href="{{ route('server.settings.databases', $server->uuidShort) }}"><i class="fa fa-angle-right"></i> @lang('navigation.server.databases')</a></li>
174-
</ul>
175-
</li>
119+
@can('list-files', $server)
120+
<li class="treeview
121+
@if(in_array(Route::currentRouteName(), ['server.files.index', 'server.files.edit', 'server.files.add']))
122+
active
123+
@endif
124+
">
125+
<a href="#">
126+
<i class="fa fa-files-o"></i>
127+
<span>@lang('navigation.server.file_management')</span>
128+
<span class="pull-right-container">
129+
<i class="fa fa-angle-left pull-right"></i>
130+
</span>
131+
</a>
132+
<ul class="treeview-menu">
133+
<li class="{{ (Route::currentRouteName() !== 'server.files.index' && Route::currentRouteName() !== 'server.files.edit') ?: 'active' }}"><a href="{{ route('server.files.index', $server->uuidShort) }}"><i class="fa fa-angle-right"></i> @lang('navigation.server.file_browser')</a></li>
134+
@can('create-files', $server)
135+
<li class="{{ Route::currentRouteName() !== 'server.files.add' ?: 'active' }}"><a href="{{ route('server.files.add', $server->uuidShort) }}"><i class="fa fa-angle-right"></i> @lang('navigation.server.create_file')</a></li>
136+
@endcan
137+
</ul>
138+
</li>
139+
@endcan
140+
@can('list-subusers', $server)
141+
<li
142+
@if(in_array(Route::currentRouteName(), ['server.subusers', 'server.subusers.new', 'server.subusers.view']))
143+
class="active"
144+
@endif
145+
>
146+
<a href="{{ route('server.subusers', $server->uuidShort)}}">
147+
<i class="fa fa-users"></i> <span>Subusers</span>
148+
</a>
149+
</li>
150+
@endcan
151+
@can('list-tasks', $server)
152+
<li
153+
@if(in_array(Route::currentRouteName(), ['server.tasks', 'server.tasks.new']))
154+
class="active"
155+
@endif
156+
>
157+
<a href="{{ route('server.tasks', $server->uuidShort)}}">
158+
<i class="fa fa-clock-o"></i> <span>@lang('navigation.server.task_management')</span>
159+
<span class="pull-right-container">
160+
<span class="label label-primary pull-right">{{ \Pterodactyl\Models\Task::select('id')->where('server', $server->id)->where('active', 1)->count() }}</span>
161+
</span>
162+
</a>
163+
</li>
164+
@endcan
165+
@if(Gate::allows('view-startup', $server) || Gate::allows('view-sftp', $server) || Gate::allows('view-databases', $server) || Gate::allows('view-allocation', $server))
166+
<li class="treeview
167+
@if(in_array(Route::currentRouteName(), ['server.settings.sftp', 'server.settings.databases', 'server.settings.startup', 'server.settings.allocation']))
168+
active
169+
@endif
170+
">
171+
<a href="#">
172+
<i class="fa fa-gears"></i>
173+
<span>@lang('navigation.server.configuration')</span>
174+
<span class="pull-right-container">
175+
<i class="fa fa-angle-left pull-right"></i>
176+
</span>
177+
</a>
178+
<ul class="treeview-menu">
179+
@can('view-allocation', $server)
180+
<li class="{{ Route::currentRouteName() !== 'server.settings.allocation' ?: 'active' }}"><a href="{{ route('server.settings.allocation', $server->uuidShort) }}"><i class="fa fa-angle-right"></i> @lang('navigation.server.port_allocations')</a></li>
181+
@endcan
182+
@can('view-sftp', $server)
183+
<li class="{{ Route::currentRouteName() !== 'server.settings.sftp' ?: 'active' }}"><a href="{{ route('server.settings.sftp', $server->uuidShort) }}"><i class="fa fa-angle-right"></i> @lang('navigation.server.sftp_settings')</a></li>
184+
@endcan
185+
@can('view-startup', $server)
186+
<li class="{{ Route::currentRouteName() !== 'server.settings.startup' ?: 'active' }}"><a href="{{ route('server.settings.startup', $server->uuidShort) }}"><i class="fa fa-angle-right"></i> @lang('navigation.server.startup_parameters')</a></li>
187+
@endcan
188+
@can('view-databases', $server)
189+
<li class="{{ Route::currentRouteName() !== 'server.settings.databases' ?: 'active' }}"><a href="{{ route('server.settings.databases', $server->uuidShort) }}"><i class="fa fa-angle-right"></i> @lang('navigation.server.databases')</a></li>
190+
@endcan
191+
</ul>
192+
</li>
193+
@endif
176194
@endif
177195
</ul>
178196
</section>

0 commit comments

Comments
 (0)