2020-05-03 04:04:26 +00:00
@ extends ( 'adminlte::page' )
@ section ( 'title' , 'Raspberry Network | Open Positions' )
@ section ( 'content_header' )
< h4 > Administration / Open Positions </ h4 >
@ stop
2020-05-07 23:24:56 +00:00
@ section ( 'js' )
@ if ( session () -> has ( 'success' ))
< script >
toastr . success ( " { { session('success')}} " )
</ script >
@ elseif ( session () -> has ( 'error' ))
< script >
toastr . error ( " { { session('error')}} " )
</ script >
@ endif
@ if ( $errors -> any ())
@ foreach ( $errors -> all () as $error )
< script > toastr . error ( '{{$error}}' , 'Validation error!' ) </ script >
@ endforeach
@ endif
@ stop
2020-05-03 04:04:26 +00:00
@ section ( 'content' )
2020-05-07 23:24:56 +00:00
< div class = " modal fade " tabindex = " -1 " id = " newVacancyForm " role = " dialog " aria - labelledby = " modalFormLabel " aria - hidden = " true " >
< div class = " modal-dialog " role = " document " >
< div class = " modal-content " >
< div class = " modal-header " >
< h5 class = " modal-title " id = " modalFormLabel " > New Vacancy </ h5 >
< button type = " button " class = " close " data - dismiss = " modal " aria - label = " Close " >
< span aria - hidden = " true " >& times ; </ span >
</ button >
</ div >
< div class = " modal-body " >
@ if ( ! $forms -> isEmpty ())
< form id = " savePositionForm " action = " { { route('savePosition')}} " method = " POST " >
@ csrf
< label for = " vacancyName " > Vacancy name ( e . g . Helper ) </ label >
< input type = " text " id = " vacancyName " name = " vacancyName " class = " form-control " >
< label for = " vacancyDescription " > Vacancy Description </ label >
< input type = " text " id = " vacancyDescription " name = " vacancyDescription " class = " form-control " >
2020-07-11 04:34:12 +00:00
< label for = " vacancyFullDescription " > Vacancy Details </ label >
< textarea name = " vacancyFullDescription " class = " form-control " rel = " txtTooltip " title = " Add things like admission requirements, rank resposibilities and roles, and anything else you feel is necessary " data - toggle = " tooltip " data - placement = " bottom " ></ textarea >
< span class = " right text-muted " >< i class = " fab fa-markdown " ></ i > Markdown supported </ span >
2020-05-07 23:24:56 +00:00
< div class = " row mt-3 " >
< div class = " col " >
< label for = " pgroup " > Permission Group Name </ label >
< input rel = " txtTooltip " title = " The permission group from your server/network's permissions manager. Compatible with Luckperms and PEX. " data - toggle = " tooltip " data - placement = " bottom " type = " text " id = " pgroup " name = " permissionGroup " class = " form-control " >
</ div >
< div class = " col " >
< label for = " discordrole " > Discord Role ID ( * ) </ label >
< input rel = " txtTooltip " title = " Discord Desktop: Go to your Account Settings > Appearance -> Advanced and toggle Developer Mode. On your server's roles tab, right click any role to copy it's ID. " data - toggle = " tooltip " data - placement = " bottom " type = " text " id = " discordrole " name = " discordRole " class = " form-control " >
</ div >
</ div >
< div class = " form-group mt-4 " >
< label for = " associatedForm " > Application form </ label >
< select class = " custom-select " name = " vacancyFormID " id = " associatedForm " >
< option disabled > Select a form ...</ option >
@ foreach ( $forms as $form )
< option value = " { { $form -> id } } " > {{ $form -> formName }} </ option >
@ endforeach
</ select >
< label for = " vacancyCount " > Free slots </ label >
< input rel = " txtTooltip " title = " How many submissions before the vacancy stops accepting new applicants? " data - toggle = " tooltip " data - placement = " bottom " type = " text " id = " vacancyCount " name = " vacancyCount " class = " form-control " >
</ div >
</ form >
@ else
< div class = " alert alert-danger " >
< p >
You cannot create a vacancy without any forms with which people would apply .
Please create a form first , then , create a vacancy .
A single form is allowed to have multiple vacancies , so you can attach future vacancies to the same form if you ' d like .
</ p >
</ div >
@ endif
</ div >
< div class = " modal-footer " >
@ if ( ! $forms -> isEmpty ())
< button type = " button " class = " btn btn-primary " onclick = " document.getElementById('savePositionForm').submit() " > Add Vacancy </ button >
@ endif
< button type = " button " class = " btn btn-secondary " data - dismiss = " modal " > Close </ button >
</ div >
</ div >
</ div >
</ div >
2020-05-03 04:04:26 +00:00
< div class = " row " >
< div class = " col-md-4 offset-md-4 text-center " >
< div class = " card " >
< div class = " card-body " >
2020-05-07 23:24:56 +00:00
< button type = " button " class = " btn btn-primary " onclick = " $ ('#newVacancyForm').modal('show') " > NEW POSITION </ button >
2020-05-03 04:04:26 +00:00
</ div >
</ div >
</ div >
</ div >
< div class = " row " >
< div class = " col " >
< div class = " card bg-gray-dark " >
< div class = " card-header bg-indigo " >
< div class = " card-title " >< h4 class = " text-bold " > Open Vacancies </ h4 ></ div >
</ div >
< div class = " card-body " >
2020-05-07 23:24:56 +00:00
@ if ( ! $vacancies -> isEmpty ())
2020-05-03 04:04:26 +00:00
2020-05-07 23:24:56 +00:00
< table class = " table table-active table-borderless " style = " white-space: nowrap " >
< thead >
2020-05-03 04:04:26 +00:00
< tr >
< th > #</th>
< th > Vacancy Name </ th >
< th > Vacancy Description </ th >
2020-05-07 23:24:56 +00:00
< th > Discord Role ID </ th >
< th > Perm . Group Name </ th >
< th > Open Slots </ th >
< th > Status </ th >
< th > Created On </ th >
2020-05-03 04:04:26 +00:00
< th > Actions </ th >
</ tr >
2020-05-07 23:24:56 +00:00
</ thead >
2020-05-03 04:04:26 +00:00
2020-05-07 23:24:56 +00:00
< tbody >
2020-05-03 04:04:26 +00:00
2020-05-07 23:24:56 +00:00
@ foreach ( $vacancies as $vacancy )
< tr >
< td > {{ $vacancy -> id }} </ td >
< td > {{ $vacancy -> vacancyName }} </ td >
2020-05-08 00:45:29 +00:00
< td > {{ substr ( $vacancy -> vacancyDescription , 0 , 20 )}} ...</ td >
2020-05-07 23:24:56 +00:00
< td >< span class = " badge badge-success " > {{ $vacancy -> discordRoleID }} </ span ></ td >
< td >< span class = " badge badge-success " > {{ $vacancy -> permissionGroupName }} </ span ></ td >
< td > {{ $vacancy -> vacancyCount }} </ td >
@ if ( $vacancy -> vacancyStatus == 'OPEN' )
< td >< span class = " badge badge-success " > OPEN </ span ></ td >
@ else
< td >< span class = " badge badge-danger " > CLOSED </ span ></ td >
@ endif
< td > {{ $vacancy -> created_at }} </ td >
< td >
@ if ( $vacancy -> vacancyStatus == 'OPEN' )
< form action = " { { route('updatePositionAvailability', ['status' => 'close', 'id' => $vacancy->id ])}} " method = " POST " id = " closePosition " >
@ csrf
@ method ( 'PATCH' )
< button type = " submit " class = " btn btn-sm btn-danger " >< i class = " fa fa-ban " ></ i > Close </ button >
</ form >
@ else
< form action = " { { route('updatePositionAvailability', ['status' => 'open', 'id' => $vacancy->id ])}} " method = " POST " id = " openPosition " >
@ csrf
@ method ( 'PATCH' )
< button type = " submit " class = " btn btn-sm btn-success " >< i class = " fa fa-check " ></ i > Open </ button >
</ form >
@ endif
</ td >
</ tr >
@ endforeach
</ tbody >
</ table >
2020-05-03 04:04:26 +00:00
2020-05-07 23:24:56 +00:00
@ else
2020-05-03 04:04:26 +00:00
2020-05-07 23:24:56 +00:00
< div class = " alert alert-warning " >
< p > Nothing to see here ! Open some vacancies first . This will get applicants pouring in ! ( hopefully ) </ p >
</ div >
2020-05-03 04:04:26 +00:00
2020-05-07 23:24:56 +00:00
@ endif
2020-05-03 04:04:26 +00:00
</ div >
< div class = " card-footer " >
2020-05-06 23:36:33 +00:00
< button type = " button " class = " btn btn-outline-primary " onclick = " window.location.href=' { { route('showForms')}}' " > MANAGE APPLICATION FORMS </ button >
2020-05-03 04:04:26 +00:00
</ div >
</ div >
</ div >
</ div >
@ stop