Skip to content

Commit 2ca7119

Browse files
Ivan LiIvan Li
Ivan Li
authored and
Ivan Li
committed
profile page added
1 parent 4cb24d3 commit 2ca7119

File tree

10 files changed

+211
-15
lines changed

10 files changed

+211
-15
lines changed
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
<?php
2+
namespace App\Http\Controllers\User;
3+
4+
use App\Http\Controllers\Controller;
5+
6+
use App\User;
7+
use Illuminate\Database\Eloquent\ModelNotFoundException;
8+
use Illuminate\Http\JsonResponse;
9+
use Illuminate\Http\Request;
10+
use Illuminate\Support\Facades\Auth;
11+
12+
/**
13+
* Created by PhpStorm.
14+
* User: Ivan
15+
* Date: 19/06/2016
16+
* Time: 2:58 PM
17+
*/
18+
class ProfileController extends Controller
19+
{
20+
public function __construct()
21+
{
22+
$this->middleware('auth');
23+
}
24+
25+
public function index(Request $request)
26+
{
27+
$user = Auth::user();
28+
if ($request->ajax()) {
29+
if ($request->wantsJson()) {
30+
return new JsonResponse($user);
31+
} else {
32+
return $user;
33+
}
34+
} else {
35+
return view('user.profile.index')->with(array(
36+
"user" => $user
37+
));
38+
}
39+
}
40+
41+
public function show(Request $request, $id)
42+
{
43+
try {
44+
$user = User::findOrFail($id);
45+
/* TODO need to handle private permission settings here*/
46+
if ($request->ajax()) {
47+
if ($request->wantsJson()) {
48+
return new JsonResponse($user);
49+
} else {
50+
return $user;
51+
}
52+
} else {
53+
return view('user.profile.index')->with(array(
54+
"user" => $user
55+
));
56+
}
57+
} catch (ModelNotFoundException $e) {
58+
$output = new \stdClass();
59+
$output->status = false;
60+
$output->error = "User not found";
61+
if ($request->ajax()) {
62+
if ($request->wantsJson()) {
63+
return new JsonResponse($output);
64+
} else {
65+
return $output;
66+
}
67+
} else {
68+
abort(404, "Page not found");
69+
return false;
70+
}
71+
}
72+
}
73+
74+
public function edit()
75+
{
76+
$user = Auth::user();
77+
return view('user.profile.edit')->with(array(
78+
"user" => $user
79+
));
80+
}
81+
82+
public function update()
83+
{
84+
85+
}
86+
}

app/Http/routes.php

Lines changed: 39 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,10 @@
1111
|
1212
*/
1313
Route::group(['middleware' => ['web']], function () {
14+
15+
/**
16+
* @start KB Authentication Routes
17+
*/
1418
Route::get('/', 'RoutingController@home');
1519
Route::group(['prefix' => 'login'], function () {
1620
Route::get('/', ['middleware' => ['guest'], 'uses' => 'RoutingController@login']);
@@ -23,7 +27,29 @@
2327
Route::get('reset/{encrypted_email}/{confirmation_code}', 'Auth\ForgotController@viewReset');
2428
Route::post('reset', 'Auth\ForgotController@postReset');
2529
Route::get('logout', 'Auth\AuthController@logout');
30+
/**
31+
* @end KB Authentication Routes
32+
*/
33+
34+
35+
/**
36+
* @start User Routes
37+
*/
38+
Route::group(['prefix' => 'user', 'middleware' => ['auth']], function () {
39+
Route::group(['prefix' => 'profile'], function(){
40+
Route::get('/', ['uses' => 'User\ProfileController@index']);
41+
Route::get('edit', ['uses' => 'User\ProfileController@edit']);
42+
Route::get('{id}', ['uses' => 'User\ProfileController@show']);
43+
Route::put('/', ['uses' => 'User\ProfileController@update']);
44+
});
45+
});
46+
/**
47+
* @end User Routes
48+
*/
2649

50+
/**
51+
* @start CHAMS Routes
52+
*/
2753
/*QBE CHAMS*/
2854
Route::group([
2955
'prefix' => 'chams',
@@ -32,16 +58,18 @@
3258
Route::get('/', ['uses' => 'CHAMS\RoutingController@home']);
3359
Route::get('users', ['middleware' => ['auth', 'role:chams_admin'], 'uses' => 'CHAMS\RoutingController@users']);
3460
});
61+
/**
62+
* @end CHAMS Routes
63+
*/
3564

36-
// Route::group([
37-
// 'prefix' => 'user',
38-
// 'middleware' => ['auth', 'role:kb_admin']
39-
// ],function(){
40-
// Route::get('/', ['uses' => 'UserController@users']);
41-
// Route::get('{user_id}', ['uses' => 'UserController@user']);
42-
// });
43-
44-
/*we need to have separated url for ajax and html page calls because chrome cache*/
45-
Route::resource('admin/user', 'UserController');
46-
Route::put('admin/user/{user_id}/revive', 'UserController@revive');
65+
/**
66+
* @start Admin Routes
67+
*/
68+
Route::group(['prefix' => 'admin', 'middleware' => ['auth']], function () {
69+
Route::resource('user', 'UserController');
70+
Route::put('user/{user_id}/revive', 'UserController@revive');
71+
});
72+
/**
73+
* @end Admin Routes
74+
*/
4775
});

public/assets/internal/css/app.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,4 +85,8 @@ table th.shrink, table td.shrink {
8585

8686
.form-group{
8787
margin-bottom: 10px;
88+
}
89+
90+
.cover .profile-pic{
91+
background-color: #dddddd;
8892
}
Loading

resources/views/admin/user/edit.blade.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
@section('link')
1515
@stop
1616
@section('content')
17-
17+
<h4 class="page-title">Edit User: {{$user->name}}</h4>
1818
<div class="block-area">
1919
<div class="row">
2020
<div class="col-sm-12">

resources/views/admin/user/index.blade.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<link rel="stylesheet" href="{{asset('assets/external/package/DataTables-1.10.12/media/css/dataTables.bootstrap.min.css')}}">
1515
@stop
1616
@section('content')
17-
17+
<h4 class="page-title">Manage Users</h4>
1818
<div class="block-area">
1919
<div class="row">
2020
<div class="col-sm-12">

resources/views/chams/home.blade.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@
1111
ICL KB - CHAMS
1212
@stop
1313
@section('content')
14-
CHAMS home page
14+
<h4 class="page-title">Manage Users</h4>
1515
@stop

resources/views/layouts/neat.blade.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@
100100
<img class="profile-pic animated" src="{{asset('assets/internal/img/blue-user-icon.png')}}" alt="">
101101
</a>
102102
<ul class="dropdown-menu profile-menu">
103-
<li><a href="#">My Profile</a>
103+
<li><a href="{{url('user/profile')}}">My Profile</a>
104104
<i class="icon left">&#61903;</i><i class="icon right">&#61815;</i></li>
105105
<li><a href="#">Messages</a> <i class="icon left">&#61903;</i><i class="icon right">&#61815;</i>
106106
</li>
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<?php
2+
/**
3+
* Created by PhpStorm.
4+
* User: Ivan
5+
* Date: 19/06/2016
6+
* Time: 3:11 PM
7+
*/
8+
?>
9+
10+
@extends('layouts.neat')
11+
@section('title')
12+
ICL KB - Edit Profile
13+
@stop
14+
@section('link')
15+
@stop
16+
@section('content')
17+
Edit Profile
18+
<br>
19+
{{$user}}
20+
@stop
21+
@section('script')
22+
@stop
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
<?php
2+
/**
3+
* Created by PhpStorm.
4+
* User: Ivan
5+
* Date: 19/06/2016
6+
* Time: 3:11 PM
7+
*/
8+
?>
9+
10+
@extends('layouts.neat')
11+
@section('title')
12+
ICL KB - Edit Profile
13+
@stop
14+
@section('link')
15+
@stop
16+
@section('content')
17+
<h4 class="page-title">
18+
@if(Auth::user() == $user)
19+
My Profile
20+
@else
21+
Profile - {{$user->name}}
22+
@endif
23+
</h4>
24+
25+
<div class="block-area">
26+
<div class="row">
27+
<div class="col-sm-6">
28+
<div class="tile-light p-10 m-b-15">
29+
<div class="cover p-relative">
30+
<img alt="" class="w-100" src="{{asset('assets/internal/img/default-profile-cover.jpg')}}">
31+
<img alt="" src="{{asset('assets/internal/img/blue-user-icon.png')}}" class="profile-pic">
32+
<div class="profile-btn">
33+
<button class="btn btn-alt btn-sm"><i class="icon-bubble"></i> <span>Edit Profile</span></button>
34+
</div>
35+
</div>
36+
<div class="p-5 m-t-15">
37+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis eget risus rhoncus, cursus purus vitae, venenatis eros. Phasellus at tincidunt risus. Integer sed massa fermentum, feugiat arcu quis, ultrices nisi. Quisque commodo nisi scelerisque, tempus diam ac, dignissim tellus. Mauris adipiscing elit tortor, dignissim auctor diam mollis sed. Nulla eu dui non velit accumsan scelerisque eget et felis.
38+
</div>
39+
</div>
40+
</div>
41+
<div class="col-sm-8">
42+
43+
</div>
44+
</div>
45+
</div>
46+
View Profile
47+
{!! $user !!}
48+
<br>
49+
Is Auth User {{Auth::user() == $user}}
50+
51+
52+
53+
@stop
54+
@section('script')
55+
@stop
56+

0 commit comments

Comments
 (0)