my changes
This commit is contained in:
parent
28301e4312
commit
8dc1f1b048
263 changed files with 36882 additions and 4453 deletions
96
app/Http/Controllers/Settings/CategoryController.php
Normal file
96
app/Http/Controllers/Settings/CategoryController.php
Normal file
|
@ -0,0 +1,96 @@
|
|||
<?php
|
||||
namespace App\Http\Controllers\Settings;
|
||||
|
||||
use App\Http\Requests;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Project;
|
||||
use App\Http\Requests\ProjectRequest;
|
||||
use Illuminate\View\View;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
|
||||
class CategoryController extends Controller
|
||||
{
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('auth');
|
||||
}
|
||||
|
||||
public function index() : View
|
||||
{
|
||||
$projects = Project::get();
|
||||
return view('settings.project.category', compact('projects'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function add() : View
|
||||
{
|
||||
return view('settings.project.add');
|
||||
}
|
||||
|
||||
public function store(ProjectRequest $request) : RedirectResponse
|
||||
{
|
||||
$input = $request->all();
|
||||
Project::create($input);
|
||||
session()->flash('flash_message', 'You have added 1 project!');
|
||||
return redirect()->route('settings.project');
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id) : View
|
||||
{
|
||||
$project = Project::findOrFail($id);
|
||||
return view('settings.project.edit', compact('project'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update($id, ProjectRequest $request) : RedirectResponse
|
||||
{
|
||||
$project = Project::findOrFail($id);
|
||||
$input = $request->all();
|
||||
$project->update($input);
|
||||
session()->flash('flash_message', 'You have updated 1 project!');
|
||||
return redirect()->route('settings.project');
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function delete($id) : RedirectResponse
|
||||
{
|
||||
$project = Project::with('documents')->findOrFail($id);
|
||||
if ($project->documents->count() > 0) {
|
||||
session()->flash(
|
||||
'flash_message',
|
||||
'You cannot delete this project!'
|
||||
. ' There are '
|
||||
. $project->documents->count()
|
||||
. ' documents in this project!'
|
||||
);
|
||||
return redirect()->route('settings.project');
|
||||
} else {
|
||||
$project->delete();
|
||||
session()->flash('flash_message', 'You have deleted 1 project!');
|
||||
return redirect()->route('settings.project');
|
||||
}
|
||||
}
|
||||
}
|
200
app/Http/Controllers/Settings/DatasetController.php
Normal file
200
app/Http/Controllers/Settings/DatasetController.php
Normal file
|
@ -0,0 +1,200 @@
|
|||
<?php
|
||||
namespace App\Http\Controllers\Settings;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Dataset;
|
||||
use App\Project;
|
||||
use App\License;
|
||||
use App\Title;
|
||||
use App\Http\Requests\DocumentRequest;
|
||||
use Illuminate\View\View;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class DatasetController extends Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('auth');
|
||||
}
|
||||
|
||||
public function index(Request $request) : View
|
||||
{
|
||||
|
||||
$searchType = $request->input('searchtype');
|
||||
$builder = Dataset::query();
|
||||
//$registers = array();
|
||||
|
||||
$filter = $request->input('search');
|
||||
$state = (strlen($request->input('state')) > 0) ? $request->input('state') : "published";
|
||||
|
||||
$data = $request->all();
|
||||
|
||||
if ($searchType == "simple") {
|
||||
if (strlen($filter) > 0) {
|
||||
//$builder->where('field1', '=', $criteria1);
|
||||
$builder->whereHas('titles', function ($query) use ($filter) {
|
||||
$query->where('value', 'LIKE', '%' . $filter . '%');
|
||||
});
|
||||
// ::with(['titles' => function ($query) use($filter) {
|
||||
// $query->where('value', 'LIKE', '%' . $filter . '%');
|
||||
// }])
|
||||
}
|
||||
}
|
||||
$builder->where('server_state', $state);
|
||||
|
||||
|
||||
//$perPage = $request->get('perPage', 20);
|
||||
$documents = $builder
|
||||
->paginate(8);
|
||||
return view('settings.document.document', compact('documents'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id): View
|
||||
{
|
||||
$document = Dataset::findOrFail($id);
|
||||
$document->load('titles');
|
||||
$document->load('abstracts');
|
||||
return view('settings.document.show', compact('document'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
// $categories = Category::lists('category', 'id');
|
||||
// $shelves = Shelf::lists('shelf', 'id');
|
||||
// $tanggal = date('Y-m-d');
|
||||
// $ambilTahun = substr($tanggal, 0, 4);
|
||||
// for($tahun = 1990; $tahun <= $ambilTahun; $tahun++){
|
||||
// $years[] = $tahun;
|
||||
// }
|
||||
// return view('lms.settings.book.add', compact('categories', 'shelves', 'years'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(DocumentRequest $request)
|
||||
{
|
||||
// $input = $request->all();
|
||||
// $book = Book::create($input);
|
||||
// session()->flash('flash_message', 'You have been addded 1 dataset!');
|
||||
// return redirect()->route('settings.book');
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id) : View
|
||||
{
|
||||
$document = Dataset::findOrFail($id);
|
||||
$document->load('licenses', 'titles', 'abstracts');
|
||||
|
||||
$projects = Project::pluck('label', 'id');
|
||||
|
||||
$datum = date('Y-m-d');
|
||||
$nowYear = substr($datum, 0, 4);
|
||||
$years = array();
|
||||
for ($jahr = 1990; $jahr <= $nowYear; $jahr++) {
|
||||
$years[$jahr] = $jahr;
|
||||
}
|
||||
|
||||
$languages = DB::table('languages')
|
||||
->where('active', true)
|
||||
->pluck('part2_t', 'part2_t');
|
||||
|
||||
//$options = License::all();
|
||||
$options = License::all('id', 'name_long');
|
||||
$checkeds = $document->licenses->pluck('id')->toArray();
|
||||
|
||||
//$shelves = Shelf::pluck('shelf', 'id');
|
||||
// $datum = date('Y-m-d');
|
||||
// $nowYear = substr($datum, 0, 4);
|
||||
// $years = array();
|
||||
// for($jahr = 1990; $jahr <= $nowYear; $jahr++){
|
||||
// $years[$jahr] = $jahr;
|
||||
// }
|
||||
return view('settings.document.edit', compact('document', 'projects', 'options', 'checkeds', 'years', 'languages'));
|
||||
}
|
||||
|
||||
//https://stackoverflow.com/questions/17480200/using-laravel-how-do-i-create-a-view-that-will-update-a-one-to-many-relationshi?rq=1
|
||||
// https://laravel.io/forum/06-11-2014-how-to-save-eloquent-model-with-relations-in-one-go
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(DocumentRequest $request, $id) : RedirectResponse
|
||||
{
|
||||
$document = Dataset::findOrFail($id);
|
||||
//$input = $request->all();
|
||||
$input = $request->except('licenses', 'titles');
|
||||
$document->update($input);
|
||||
// $document->type = $input['type'];
|
||||
// $document->thesis_year_accepted = $input['thesis_year_accepted'];
|
||||
// $document->project_id = $input['project_id'];
|
||||
// $document->save();
|
||||
|
||||
$licenses = $request->input('licenses');
|
||||
//$licenses = $input['licenses'];
|
||||
$document->licenses()->sync($licenses);
|
||||
|
||||
//save the titles:
|
||||
$titles = $request->input('titles');
|
||||
if (is_array($titles) && count($titles) > 0) {
|
||||
foreach ($titles as $key => $formTitle) {
|
||||
$title = Title::findOrFail($key);
|
||||
$title->value = $formTitle['value'];
|
||||
$title->language = $formTitle['language'];
|
||||
$title->save();
|
||||
}
|
||||
}
|
||||
|
||||
//save the abstracts:
|
||||
$abstracts = $request->input('abstracts');
|
||||
if (is_array($abstracts) && count($abstracts) > 0) {
|
||||
foreach ($abstracts as $key => $formAbstract) {
|
||||
$abstract = Title::findOrFail($key);
|
||||
$abstract->value = $formAbstract['value'];
|
||||
$abstract->language = $formAbstract['language'];
|
||||
$abstract->save();
|
||||
}
|
||||
}
|
||||
|
||||
session()->flash('flash_message', 'You have updated 1 dataset!');
|
||||
return redirect()->route('settings.document');
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id) : RedirectResponse
|
||||
{
|
||||
// $document = Document::findOrFail($id);
|
||||
// $document->delete();
|
||||
// session()->flash('flash_message', 'You have been deleted 1 dataset!');
|
||||
return redirect()->route('settings.document');
|
||||
}
|
||||
}
|
47
app/Http/Controllers/Settings/LicenseController.php
Normal file
47
app/Http/Controllers/Settings/LicenseController.php
Normal file
|
@ -0,0 +1,47 @@
|
|||
<?php
|
||||
namespace App\Http\Controllers\Settings;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\License;
|
||||
use App\Language;
|
||||
use App\Http\Requests\LicenseRequest;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\View\View;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
|
||||
class LicenseController extends Controller
|
||||
{
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('auth');
|
||||
$test = "test";
|
||||
}
|
||||
|
||||
public function index() : View
|
||||
{
|
||||
$licenses = License::get();
|
||||
return view('settings.license.license', compact('licenses'));
|
||||
}
|
||||
|
||||
public function edit($id): View
|
||||
{
|
||||
$license = License::findOrFail($id);
|
||||
//$languages = Language::where('active', true)->pluck('part2_t');
|
||||
$languages = DB::table('languages')
|
||||
->where('active', true)
|
||||
->pluck('part2_t', 'part2_t');
|
||||
|
||||
return view('settings.license.edit', compact('license', 'languages'));
|
||||
}
|
||||
|
||||
public function update($id, LicenseRequest $request): RedirectResponse
|
||||
{
|
||||
$license = License::findOrFail($id);
|
||||
$input = $request->all();
|
||||
$license->update($input);
|
||||
session()->flash('flash_message', 'You have updated the license!');
|
||||
return redirect()->route('settings.license');
|
||||
}
|
||||
}
|
133
app/Http/Controllers/Settings/PersonController.php
Normal file
133
app/Http/Controllers/Settings/PersonController.php
Normal file
|
@ -0,0 +1,133 @@
|
|||
<?php
|
||||
namespace App\Http\Controllers\Settings;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Person;
|
||||
use App\Http\Requests\PersonRequest;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\View\View;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
|
||||
class PersonController extends Controller
|
||||
{
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('auth');
|
||||
//$this->middleware('role:reviewer');
|
||||
}
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index(): View
|
||||
{
|
||||
//$persons = Person::get();
|
||||
$persons = Person::with('documents')->get();
|
||||
return view('settings.person.person', compact('persons'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function add(): View
|
||||
{
|
||||
return view('settings.person.add');
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(PersonRequest $request)
|
||||
{
|
||||
$input = $request->all();
|
||||
$input['registered_at'] = time();
|
||||
Person::create($input);
|
||||
session()->flash('flash_message', 'You have added 1 person!');
|
||||
return redirect()->route('settings.person');
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
$person = Person::with('documents')->findOrFail($id);
|
||||
return view('settings.person.edit', compact('person'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update($id, PersonRequest $request)
|
||||
{
|
||||
$person = Person::findOrFail($id);
|
||||
$input = $request->all();
|
||||
$person->update($input);
|
||||
session()->flash('flash_message', 'You have updated 1 person!');
|
||||
return redirect()->route('settings.person');
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function delete($id)
|
||||
{
|
||||
$person = Person::with('documents')->findOrFail($id);
|
||||
if ($person->documents->count() > 0) {
|
||||
// $person->documents()->detach();
|
||||
// $person->delete();
|
||||
session()->flash('flash_message', 'You cannot delete this person!');
|
||||
} else {
|
||||
$person->delete();
|
||||
session()->flash('flash_message', 'You have deleted 1 person!');
|
||||
}
|
||||
return redirect()->route('settings.person');
|
||||
}
|
||||
|
||||
/**
|
||||
* deactivate author, submitter etc....
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function down($id): RedirectResponse
|
||||
{
|
||||
$person = Person::findOrFail($id);
|
||||
$person->update(['status' => 0, 'registered_at' => 00000000]);
|
||||
session()->flash('flash_message', 'person has been deactivated!');
|
||||
return redirect()->route('settings.person');
|
||||
}
|
||||
|
||||
/**
|
||||
* activatew author, submitter etc....
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function up($id): RedirectResponse
|
||||
{
|
||||
$dateNow = time();
|
||||
$person = Person::findOrFail($id);
|
||||
$person->update(['status' => 1, 'registered_at' => $dateNow]);
|
||||
session()->flash('flash_message', 'person has been activated!');
|
||||
return redirect()->route('settings.person');
|
||||
}
|
||||
}
|
108
app/Http/Controllers/Settings/RoleController.php
Normal file
108
app/Http/Controllers/Settings/RoleController.php
Normal file
|
@ -0,0 +1,108 @@
|
|||
<?php
|
||||
namespace App\Http\Controllers\Settings;
|
||||
|
||||
use App\Role;
|
||||
use App\Permission;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
class RoleController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
$roles = Role::all();
|
||||
return view('settings.role.role', compact('roles'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
$permissions = Permission::all('id', 'name');
|
||||
return view('settings.role.create', compact('permissions'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param \App\Role $role
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show(Role $role)
|
||||
{
|
||||
//
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param \App\Role $role
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
$role = Role::find($id);
|
||||
$permissions = Permission::all('id', 'name');
|
||||
|
||||
//$userRoles = $user->roles->pluck('name','name')->all();
|
||||
$checkeds = $role->permissions->pluck('id')->toArray();
|
||||
return view('settings.role.edit', compact('role', 'permissions', 'checkeds'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param \App\Role $role
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
$this->validate(request(), [
|
||||
'name' => 'required'
|
||||
]);
|
||||
$role = Role::findOrFail($id);
|
||||
$role->update($request->except('permissions'));
|
||||
|
||||
$permissions = $request->input('permissions') ? $request->input('permissions') : [];
|
||||
//$role->syncPermissions($permissions);
|
||||
if (isset($permissions)) {
|
||||
$role->permissions()->sync($permissions);//If one or more role is selected associate user to roles
|
||||
} else {
|
||||
$role->permissions()->detach(); //If no role is selected remove exisiting role associated to a user
|
||||
}
|
||||
|
||||
return redirect()->route('role.index')
|
||||
->with('flash_message', 'Role successfully edited.');
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param \App\Role $role
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy(Role $role)
|
||||
{
|
||||
//
|
||||
}
|
||||
}
|
169
app/Http/Controllers/Settings/UserController.php
Normal file
169
app/Http/Controllers/Settings/UserController.php
Normal file
|
@ -0,0 +1,169 @@
|
|||
<?php
|
||||
namespace App\Http\Controllers\Settings;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\User;
|
||||
//use Spatie\Permission\Models\Role;
|
||||
use App\Role;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
|
||||
class UserController extends Controller
|
||||
{
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index(Request $request)
|
||||
{
|
||||
//if (! Gate::allows('settings'))
|
||||
//{
|
||||
// return abort(401, 'Unauthorized action.');
|
||||
//}
|
||||
|
||||
$users = User::orderBy('id', 'DESC')->paginate(5);
|
||||
return view('settings.user.user', compact('users'))
|
||||
->with('i', ($request->input('page', 1) - 1) * 5);
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for creating a new resource.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function create()
|
||||
{
|
||||
//$roles = Role::pluck('name','name')->all();
|
||||
$roles = Role::all('id', 'name');
|
||||
return view('settings.user.create', compact('roles'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
* Store a newly created resource in storage.
|
||||
|
||||
*
|
||||
|
||||
* @param \Illuminate\Http\Request $request
|
||||
|
||||
* @return \Illuminate\Http\Response
|
||||
|
||||
*/
|
||||
|
||||
public function store(Request $request)
|
||||
{
|
||||
$this->validate($request, [
|
||||
'login' => 'required',
|
||||
'email' => 'required|email|unique:accounts',
|
||||
'password' => 'required|min:6|confirmed'
|
||||
//'roles' => 'required'
|
||||
]);
|
||||
|
||||
//$input = $request->all();
|
||||
$input = $request->only(['login', 'email', 'password']); //Retreive the name, email and password fields
|
||||
$input['password'] = bcrypt($input['password']);
|
||||
$user = User::create($input);
|
||||
|
||||
|
||||
$roles = $request['roles']; //Retrieving the roles field
|
||||
//Checking if a role was selected
|
||||
if (isset($roles)) {
|
||||
foreach ($roles as $role) {
|
||||
$role_r = Role::where('id', '=', $role)->firstOrFail();
|
||||
$user->assignRole($role_r); //Assigning role to user
|
||||
}
|
||||
}
|
||||
|
||||
return redirect()
|
||||
->route('user.index')
|
||||
->with('success', 'User has been created successfully');
|
||||
}
|
||||
|
||||
/**
|
||||
* Display the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function show($id)
|
||||
{
|
||||
$user = User::find($id);
|
||||
return view('settings.user.show', compact('user'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the form for editing the specified resource.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id)
|
||||
{
|
||||
$user = User::find($id);
|
||||
$roles = Role::all('id', 'name');
|
||||
|
||||
//$userRoles = $user->roles->pluck('name','name')->all();
|
||||
$checkeds = $user->roles->pluck('id')->toArray();
|
||||
|
||||
return view('settings.user.edit', compact('user', 'roles', 'checkeds'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Update the specified resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update(Request $request, $id)
|
||||
{
|
||||
|
||||
$this->validate(request(), [
|
||||
'login' => 'required',
|
||||
'email' => 'required|email|unique:accounts,email,' . $id,
|
||||
'password' => 'required|min:6|confirmed'
|
||||
]);
|
||||
|
||||
$user = User::findOrFail($id);
|
||||
// $input = $request->except('roles');
|
||||
// $user->fill($input)->save();
|
||||
|
||||
$input = $request->only(['login', 'email', 'password']); //Retreive the name, email and password fields
|
||||
//$input = $request->all();
|
||||
$user->login = $input['login'];
|
||||
$user->email = $input['email'];
|
||||
$user->password = bcrypt($input['password']);
|
||||
$user->save();
|
||||
|
||||
$roles = $request['roles']; //Retreive all roles
|
||||
|
||||
if (isset($roles)) {
|
||||
$user->roles()->sync($roles);//If one or more role is selected associate user to roles
|
||||
} else {
|
||||
$user->roles()->detach(); //If no role is selected remove exisiting role associated to a user
|
||||
}
|
||||
|
||||
//return back()->with('flash_message', 'user successfully updated.');
|
||||
return redirect()
|
||||
->route('user.index')
|
||||
->with('flash_message', 'User successfully edited.');
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the specified resource from storage.
|
||||
*
|
||||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function destroy($id)
|
||||
{
|
||||
//Find a user with a given id and delete
|
||||
$user = User::findOrFail($id);
|
||||
$user->delete();
|
||||
|
||||
return redirect()
|
||||
->route('user.index')
|
||||
->with('flash_message', 'User successfully deleted.');
|
||||
}
|
||||
}
|
Loading…
Add table
editor.link_modal.header
Reference in a new issue