Add application list for users
This commit is contained in:
parent
f46a941b61
commit
7635f8e2f4
@ -13,4 +13,9 @@ class Application extends Model
|
|||||||
'applicantStatus'
|
'applicantStatus'
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
||||||
|
public function user()
|
||||||
|
{
|
||||||
|
return $this->belongsTo('App\User', 'applicantUserID', 'id');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -13,20 +13,13 @@ use Illuminate\Support\Facades\Validator;
|
|||||||
class ApplicationController extends Controller
|
class ApplicationController extends Controller
|
||||||
{
|
{
|
||||||
|
|
||||||
public function showPendingUserApps()
|
public function showUserApps()
|
||||||
{
|
{
|
||||||
return view('dashboard.user.applications');
|
|
||||||
|
return view('dashboard.user.applications')
|
||||||
|
->with('applications', Auth::user()->applications);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function showDeniedUserApps()
|
|
||||||
{
|
|
||||||
return view('dashboard.user.deniedapplications');
|
|
||||||
}
|
|
||||||
|
|
||||||
public function showApprovedApps()
|
|
||||||
{
|
|
||||||
return view('dashboard.user.approvedapplications');
|
|
||||||
}
|
|
||||||
|
|
||||||
public function showAllPendingApps()
|
public function showAllPendingApps()
|
||||||
{
|
{
|
||||||
|
@ -36,4 +36,9 @@ class User extends Authenticatable
|
|||||||
protected $casts = [
|
protected $casts = [
|
||||||
'email_verified_at' => 'datetime',
|
'email_verified_at' => 'datetime',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
public function applications()
|
||||||
|
{
|
||||||
|
return $this->hasMany('App\Application', 'applicantUserID', 'id');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -214,19 +214,9 @@ return [
|
|||||||
'icon' => 'fas fa-fw fa-list-ul',
|
'icon' => 'fas fa-fw fa-list-ul',
|
||||||
'submenu' => [
|
'submenu' => [
|
||||||
[
|
[
|
||||||
'text' => 'Under Review',
|
'text' => 'Current Applications',
|
||||||
'icon' => 'fas fa-fw fa-check-double',
|
'icon' => 'fas fa-fw fa-check-double',
|
||||||
'url' => '/applications/pending'
|
'url' => '/applications/current'
|
||||||
],
|
|
||||||
[
|
|
||||||
'text' => 'Denied',
|
|
||||||
'icon' => 'fas fa-fw fa-times',
|
|
||||||
'url' => '/applications/denied'
|
|
||||||
],
|
|
||||||
[
|
|
||||||
'text' => 'Approved',
|
|
||||||
'icon' => 'fas fa-fw fa-user-check',
|
|
||||||
'url' => '/applications/approved'
|
|
||||||
]
|
]
|
||||||
]
|
]
|
||||||
|
|
||||||
|
@ -39,6 +39,18 @@
|
|||||||
<p>If an interview is scheduled, you'll need to open your application here and confirm the time, date, and location assigned for you.</p>
|
<p>If an interview is scheduled, you'll need to open your application here and confirm the time, date, and location assigned for you.</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="alert alert-info">
|
||||||
|
<b><i class="fa fa-info-circle"></i> Account Standing</b>
|
||||||
|
|
||||||
|
<p>Your account is currently <b>{{($isEligibleForApplication) ? 'eligible' : 'not eligible'}}</b> for application.</p>
|
||||||
|
|
||||||
|
@if (!$isEligibleForApplication)
|
||||||
|
<p>As of today, there are <b>{{$eligibilityDaysRemaining}} days</b> remaining until you're permitted to submit another application.</p>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
<i class="text-sm">Powered by Carbon</i>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@ -60,25 +72,59 @@
|
|||||||
<th style="width: 10px">#</th>
|
<th style="width: 10px">#</th>
|
||||||
<th>Applicant</th>
|
<th>Applicant</th>
|
||||||
<th>Application Date</th>
|
<th>Application Date</th>
|
||||||
<th>Updated On</th>
|
<th>Last Acted On</th>
|
||||||
<th style="width: 40px">Status</th>
|
<th style="width: 40px">Status</th>
|
||||||
<th style="width: 40px">Actions</th>
|
<th style="width: 40px">Actions</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
|
||||||
<td>1.</td>
|
|
||||||
<td>Jonathan Smith</td>
|
|
||||||
<td>2020-04-28</td>
|
|
||||||
<td>2020-04-29</td>
|
|
||||||
<td><span class="badge bg-success">Approved</span></td>
|
|
||||||
<td>
|
|
||||||
|
|
||||||
<button type="button" class="btn btn-success btn-sm">View</button>
|
@foreach ($applications as $application)
|
||||||
<button type="button" class="btn btn-danger btn-sm">Withdraw</button>
|
|
||||||
|
<tr>
|
||||||
|
<td>{{$application->id}}</td>
|
||||||
|
<td>{{Auth::user()->name}}</td>
|
||||||
|
<td>{{$application->created_at}}</td>
|
||||||
|
<td>{{$application->updated_at}}</td>
|
||||||
|
<td>
|
||||||
|
@switch($application->applicationStatus)
|
||||||
|
|
||||||
|
@case('STAGE_SUBMITTED')
|
||||||
|
<span class="badge badge-success"><i class="fas fa-paper-plane"></i> Submitted</span>
|
||||||
|
@break
|
||||||
|
|
||||||
|
@case('STAGE_PEERAPPROVAL')
|
||||||
|
<span class="badge badge-warning"><i class="fas fa-users"></i> Peer Approval</span>
|
||||||
|
@break
|
||||||
|
|
||||||
|
@case('STAGE_INTERVIEW')
|
||||||
|
<span class="badge badge-info"><i class="fa fa-microphone-alt"></i> Interview</span>
|
||||||
|
@break
|
||||||
|
|
||||||
|
@case('STAGE_INTERVIEW_SCHEDULED')
|
||||||
|
<span class="badge badge-warning"><i class="fa fa-clock"></i> Interview Scheduled</span>
|
||||||
|
@break
|
||||||
|
|
||||||
|
@case('APPROVED')
|
||||||
|
<span class="badge badge-success"><i class="fa fa-check-double"></i> Approved</span>
|
||||||
|
@break
|
||||||
|
|
||||||
|
@case('DENIED')
|
||||||
|
<span class="badge badge-danger"><i class="fa fa-ban"></i> <b>Denied</b></span>
|
||||||
|
@break
|
||||||
|
|
||||||
|
@default
|
||||||
|
<span class="badge badge-danger"><i class="fa fa-question"></i> Unknown</span>
|
||||||
|
@endswitch
|
||||||
|
</td>
|
||||||
|
|
||||||
|
<td>
|
||||||
|
<button type="button" class="btn btn-success"><i class="fa fa-eye"></i> View</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
@endforeach
|
||||||
|
|
||||||
</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
@ -88,8 +134,6 @@
|
|||||||
<div class="card-footer">
|
<div class="card-footer">
|
||||||
|
|
||||||
<button type="button" class="btn btn-default mr-2">Back</button>
|
<button type="button" class="btn btn-default mr-2">Back</button>
|
||||||
<button type="button" class="btn btn-info mr-2">Approved Applications</button>
|
|
||||||
<button type="button" class="btn btn-info mr-2">Denied Applications</button>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -21,16 +21,15 @@ Route::post('/form/contact', 'ContactController@create')
|
|||||||
|
|
||||||
Route::group(['middleware' => 'auth'], function(){
|
Route::group(['middleware' => 'auth'], function(){
|
||||||
|
|
||||||
Route::get('/dashboard', 'DashboardController@index')->middleware('eligibility');
|
Route::get('/dashboard', 'DashboardController@index')
|
||||||
|
->name('dashboard')
|
||||||
|
->middleware('eligibility');
|
||||||
|
|
||||||
Route::group(['prefix' => '/applications'], function (){
|
Route::group(['prefix' => '/applications'], function (){
|
||||||
|
|
||||||
Route::get('/pending', 'ApplicationController@showPendingUserApps')
|
Route::get('/current', 'ApplicationController@showUserApps')
|
||||||
->name('userPendingApps');
|
->name('showUserApps')
|
||||||
Route::get('/denied', 'ApplicationController@showDeniedUserApps')
|
->middleware('eligibility');
|
||||||
->name('userDeniedApps');
|
|
||||||
Route::get('/approved', 'ApplicationController@showApprovedApps')
|
|
||||||
->name('userApprovedApps');
|
|
||||||
|
|
||||||
|
|
||||||
Route::get('/staff/outstanding', 'ApplicationController@showAllPendingApps')
|
Route::get('/staff/outstanding', 'ApplicationController@showAllPendingApps')
|
||||||
|
Loading…
Reference in New Issue
Block a user