Skip to content

Commit

Permalink
Completed backend of profile administration. Worked on frontend, but …
Browse files Browse the repository at this point in the history
…needs improvement.
bytenaija committed Sep 30, 2016
1 parent 222c5f6 commit 462bee0
Showing 99 changed files with 1,004 additions and 165 deletions.
2 changes: 1 addition & 1 deletion app/Http/Controllers/AdminController.php
Original file line number Diff line number Diff line change
@@ -17,7 +17,7 @@ class AdminController extends Controller
*/

public function __construct(){
// $this->middleware('auth', ['except'=>['index', 'create']]);
$this->middleware('guest');
}
public function index()
{
92 changes: 92 additions & 0 deletions app/Http/Controllers/PermissionController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
<?php

namespace App\Http\Controllers;

use Request;
use Auth;

use App\Http\Requests\PermissionRequest;
use App\Permission;

class PermissionController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
$permissions = Permission::all();

return view("permission.index")->with("permissions", $permissions);
}

/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create(){
return view("permission.add");
}



/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(PermissionRequest $request)
{
$permission = Permission::create(Request::all());
$this->index();
}

/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}

/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}

/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}

/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}
103 changes: 62 additions & 41 deletions app/Http/Controllers/ProfileController.php
Original file line number Diff line number Diff line change
@@ -6,7 +6,13 @@
use App\Http\Requests;
use App\Http\Requests\ProfileRequest;
use App\Profile;
use App\Profile_Permission;
use App\Permission_Profile;
use App\Permission;
use Auth;
use App\User;
use App\Client;
use App\Organisation;
use App\Vendor;

class ProfileController extends Controller {

@@ -15,8 +21,14 @@ class ProfileController extends Controller {
*
* @return \Illuminate\Http\Response
*/
public function __construct() {
$this->middleware('auth');
}

public function index() {
return view("profile.index");
$user = User::find(Auth::user()->id);
//$ordid = $user->org_id;
return view("profile.index")->with("user", $user);
}

/**
@@ -25,8 +37,19 @@ public function index() {
* @return \Illuminate\Http\Response
*/
public function create() {
$permissions = Permission::where('user_type', Auth::user()->user_type);
return view("profile.add")->with('permissions', $permissions);
$orgs = array();
$permissions = Permission::where('user_type', Auth::user()->user_type)->get();
//

if (Auth::user()->user_type == 'client') {
$orgs = Client::all();
} else if (Auth::user()->user_type == 'organisation') {
$orgs = Organisation::all();
} else if (Auth::user()->user_type == 'vendor') {
$orgs = Vendor::all();
}

return view("profile.add")->with('permissions', $permissions)->with('orgs', $orgs);
}

/**
@@ -36,34 +59,31 @@ public function create() {
* @return \Illuminate\Http\Response
*/
public function store(ProfileRequest $request) {
$profile_id = '';
if (Auth::check) {
$user_id = Auth::user()->id;
$org_id = Request::get('org_id');

$designation = Request::get('designation');
$sex = Request::get('sex');

$file = Request::file('photo');
$random_name = str_random(8);
$destinationPath = '/profiles/';
$extension = $file->getClientOriginalExtension();
$filename = $random_name . '_' . $user_id . '.' . $extension;
$uploadSuccess = Request::file('photo')
->move($destinationPath, $filename);

//return route("profile.index");
$user_id = Auth::user()->id;
$orgs_id = Request::get('org_id');
$designation = Request::get('designation');
$sex = Request::get('sex');
$file = Request::file('photo');
$random_name = str_random(8);
$destinationPath = 'profiles/';
$extension = $file->getClientOriginalExtension();
$filename = $random_name . '_' . $user_id . '_' .Auth::user()->firstname. '_' .Auth::user()->lastname .'.' . $extension;
$uploadSuccess = Request::file('photo')->move($destinationPath, $filename);
if ($uploadSuccess) {
$profile = Profile::create(array(
"user_id" => $user_id,
"org_id" => $org_id,
"org_id" => $orgs_id,
"designation" => $designation,
"sex" => $sex,
"photo" => $filename
));

$perm = $this->createPermissions($profile);
if($perm){
$this->index();
}//

$perm = $this->createPermissions($profile);
if ($perm) {
return view('profile.index');
}//
}
}

@@ -84,7 +104,7 @@ public function show($id) {
* @return \Illuminate\Http\Response
*/
public function edit($id) {
//

}

/**
@@ -108,23 +128,24 @@ public function destroy($id) {
//
}


public function createPermissions($profile){
public function createPermissions($profile) {
$permission_entry = null;
if (!empty($profile)) {
$permissions = Request::get('permissions');
$profile_id = $profile->id;
foreach($permissions as $permission){
$permission_entry = Profile_Permission::create(array(
'profile_id' => $profile_id,
'permission_id' => $permission
$permissions = Request::get('permissions');
$profile_id = $profile->id;
foreach ($permissions as $permission) {
$permission_entry = Permission_Profile::create(array(
'profile_id' => $profile_id,
'permission_id' => $permission
));
}

if(!empty($permission_entry)){
return true;
}

return false;
}

if (!empty($permission_entry)) {
return true;
}

return false;
}
}

}
32 changes: 32 additions & 0 deletions app/Http/Controllers/UserController.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?php

namespace App\Http\Controllers;

use Request;
use App\Http\Requests;
use Auth;
use App\Profile;

class UserController extends Controller {

public function editName(Request $request, $id) {
return route("profile.edit.name", $id);
}

public function editPhoto(Request $request, $id) {
$file = Request::file('photo');
$random_name = str_random(8);
$destinationPath = 'profiles/';
$extension = $file->getClientOriginalExtension();
$filename = $random_name . '_' . Auth::user()->id . '_' .Auth::user()->firstname. '_' .Auth::user()->lastname .'.' . $extension;
$uploadSuccess = Request::file('photo')->move($destinationPath, $filename);
if ($uploadSuccess) {
$profile = Profile::find($id);
$update = $profile->update(array('photo' => $filename));


return view("profile.index")->with("user", Auth::user());
}
}

}
37 changes: 37 additions & 0 deletions app/Http/Requests/PermissionRequest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<?php

namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;
use Auth;

class PermissionRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
if(Auth::check()){
return true;
}
return false;
}

/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'user_type' => 'required',
'permission_group' => 'required',
'permission_name' => 'required',
'auth_level' => 'required'
];
}
}
10 changes: 6 additions & 4 deletions app/Http/Requests/ProfileRequest.php
Original file line number Diff line number Diff line change
@@ -3,6 +3,7 @@
namespace App\Http\Requests;

use Illuminate\Foundation\Http\FormRequest;
use Auth;

class ProfileRequest extends FormRequest
{
@@ -13,7 +14,7 @@ class ProfileRequest extends FormRequest
*/
public function authorize()
{
if(Auth::check){
if(Auth::check()){
return true;
}
return false;
@@ -27,10 +28,11 @@ public function authorize()
public function rules()
{
return [
'user_id' => 'required',
// 'user_id' => 'required',
'org_id' => 'required',
'Designation' => 'required',
'sex' => 'required'
'designation' => 'required',
'sex' => 'required',
'photo' => 'required|image'

];
}
12 changes: 9 additions & 3 deletions app/Permission.php
Original file line number Diff line number Diff line change
@@ -4,9 +4,15 @@

use Illuminate\Database\Eloquent\Model;
use App\Profile;
class Permission extends Model
{
class Permission extends Model{

protected $fillable = [
'user_type', 'auth_level', 'permission_group', 'permission_name'
];

public function Profile(){
return $this->belongsToMany("Profile")->withTimestamps();
return $this->belongsToMany("App\Profile")->withTimestamps();
}


}
16 changes: 16 additions & 0 deletions app/Permission_Profile.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Permission_Profile extends Model
{
protected $table = "permission_profile";

protected $fillable = [
'profile_id', 'permission_id'
];


}
Loading

0 comments on commit 462bee0

Please sign in to comment.