add publish module
This commit is contained in:
parent
100f6db9a6
commit
ffbbc04206
93 changed files with 8150 additions and 10228 deletions
|
@ -26,7 +26,7 @@ class LoginController extends Controller
|
|||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $redirectTo = '/';
|
||||
protected $redirectTo = '/settings';
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
|
@ -46,6 +46,6 @@ class LoginController extends Controller
|
|||
|
||||
$request->session()->regenerate();
|
||||
|
||||
return redirect('/');
|
||||
return redirect('/settings');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,10 +2,19 @@
|
|||
//https://www.5balloons.info/multi-page-step-form-in-laravel-with-validation/
|
||||
namespace App\Http\Controllers\Publish;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Dataset;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\License;
|
||||
use App\Models\File;
|
||||
use App\Person;
|
||||
use App\Models\Title;
|
||||
use App\Rules\RdrFiletypes;
|
||||
use App\Rules\RdrFilesize;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Response;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
|
||||
class IndexController extends Controller
|
||||
{
|
||||
|
@ -26,8 +35,17 @@ class IndexController extends Controller
|
|||
*/
|
||||
public function createStep1(Request $request)
|
||||
{
|
||||
$dataset = $request->session()->get('dataset');
|
||||
return view('publish.create-step1', compact('dataset', $dataset));
|
||||
#$dataset = $request->session()->get('dataset');
|
||||
$licenses = License::all('id', 'name_long');
|
||||
$languages = DB::table('languages')
|
||||
->where('active', true)
|
||||
->pluck('part2_t', 'part2_t');
|
||||
// ->toArray();
|
||||
|
||||
$persons = Person::where('status', 1)
|
||||
->pluck('last_name', 'id');
|
||||
|
||||
return view('publish.create-step1', compact('licenses', 'languages', 'persons'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -40,7 +58,7 @@ class IndexController extends Controller
|
|||
{
|
||||
$validatedData = $this->validate($request, [
|
||||
'Type' => 'required|min:4',
|
||||
'rights' => 'required|boolean|in:1'
|
||||
'rights' => 'required|boolean|in:1',
|
||||
]);
|
||||
// $validatedData = $request->validate([
|
||||
// 'name' => 'required|unique:products',
|
||||
|
@ -100,21 +118,21 @@ class IndexController extends Controller
|
|||
"TitleMain.Value" => 'required|min:5|max:255',
|
||||
"TitleMain.Language" => 'required|min:3',
|
||||
"TitleAbstract.Value" => 'required|min:5|max:255',
|
||||
"TitleAbstract.Language" => 'required|min:3'
|
||||
"TitleAbstract.Language" => 'required|min:3',
|
||||
]);
|
||||
$optionalData = $request->all();
|
||||
|
||||
|
||||
// $dataset = $request->except('rights', '_token', 'input_img');
|
||||
|
||||
$dataset = $request->session()->get('dataset');
|
||||
|
||||
|
||||
//update dataset with validated data
|
||||
$dataset['Type'] = $validatedData['Type'];
|
||||
$dataset['BelongsToBibliography'] = $validatedData['BelongsToBibliography'];
|
||||
$dataset['TitleMain']['Value'] = $validatedData['TitleMain']['Value'];
|
||||
$dataset['TitleMain']['Language'] = $validatedData['TitleMain']['Language'];
|
||||
$dataset['TitleAbstract']['Value'] = $validatedData['TitleAbstract']['Value'];
|
||||
$dataset['TitleAbstract']['Language'] = $validatedData['TitleAbstract']['Language'];
|
||||
$dataset['Type'] = $validatedData['Type'];
|
||||
$dataset['BelongsToBibliography'] = $validatedData['BelongsToBibliography'];
|
||||
$dataset['TitleMain']['Value'] = $validatedData['TitleMain']['Value'];
|
||||
$dataset['TitleMain']['Language'] = $validatedData['TitleMain']['Language'];
|
||||
$dataset['TitleAbstract']['Value'] = $validatedData['TitleAbstract']['Value'];
|
||||
$dataset['TitleAbstract']['Language'] = $validatedData['TitleAbstract']['Language'];
|
||||
if (isset($optionalData['CreatingCorporation'])) {
|
||||
$dataset['CreatingCorporation'] = $optionalData['CreatingCorporation'];
|
||||
}
|
||||
|
@ -124,8 +142,8 @@ class IndexController extends Controller
|
|||
|
||||
if (!isset($dataset['DatasetFile'])) {
|
||||
$this->validate($request, [
|
||||
'dataset_file' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048'
|
||||
]);
|
||||
'dataset_file' => 'required|image|mimes:jpeg,png,jpg,gif,svg|max:2048',
|
||||
]);
|
||||
|
||||
//update session variable
|
||||
// $dataset = $request->session()->get('dataset');
|
||||
|
@ -151,7 +169,7 @@ class IndexController extends Controller
|
|||
*/
|
||||
public function createStep3(Request $request)
|
||||
{
|
||||
//if no dataset is'nt in session variable return to step1
|
||||
//if no dataset is'nt in session variable return to step1
|
||||
if (empty($request->session()->get('dataset'))) {
|
||||
return redirect()->route('dataset.create1');
|
||||
}
|
||||
|
@ -159,17 +177,157 @@ class IndexController extends Controller
|
|||
return view('publish.create-step3', compact('dataset'));
|
||||
}
|
||||
|
||||
/**
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function storeTest(Request $request)
|
||||
{
|
||||
//$data = $request->all();
|
||||
$data = json_decode($request->getContent(), true);
|
||||
|
||||
$validator = Validator::make($data, [
|
||||
'type' => 'required|min:4',
|
||||
'belongs_to_bibliography' => 'required|boolean',
|
||||
]);
|
||||
if ($validator->passes()) {
|
||||
//TODO Handle your data
|
||||
return response()->json(array(
|
||||
'response' => 'success'));
|
||||
} else {
|
||||
//TODO Handle your error
|
||||
//pass validator errors as errors object for ajax response
|
||||
return response()->json(['errors' => $validator->errors()->all()], 422);
|
||||
}
|
||||
}
|
||||
|
||||
//https://laravel.io/forum/06-11-2014-how-to-save-eloquent-model-with-relations-in-one-go
|
||||
//attach vs save https://stackoverflow.com/questions/35756469/laravel-5-many-to-many-attach-versus-save
|
||||
public function store(Request $request)
|
||||
{
|
||||
$dataset = $request->session()->get('dataset');
|
||||
// $product->save();
|
||||
// return redirect('/dataset');
|
||||
$data = $request->all();
|
||||
// $validatedData = $this->validate($request, [
|
||||
// 'type' => 'required|min:4',
|
||||
// 'rights' => 'required|boolean|in:1',
|
||||
// ]);
|
||||
$rules = [
|
||||
'server_state' => 'required',
|
||||
'type' => 'required|min:5',
|
||||
'rights' => 'required|boolean|in:1',
|
||||
'belongs_to_bibliography' => 'required|boolean',
|
||||
'title_main.value' => 'required|min:5',
|
||||
'title_main.language' => 'required',
|
||||
];
|
||||
if (null != $request->file('files')) {
|
||||
$files = count($request->file('files')) - 1;
|
||||
foreach (range(0, $files) as $index) {
|
||||
// $rules['files.' . $index] = 'image|max:2048';
|
||||
$rules['files.' . $index . '.file'] = ['required', 'file', new RdrFiletypes(), new RdrFilesize()];
|
||||
}
|
||||
}
|
||||
$validator = Validator::make($request->all(), $rules);
|
||||
if ($validator->passes()) {
|
||||
//store dataset todo
|
||||
//$data = $request->all();
|
||||
$input = $request->except('files', 'licenses', 'abstract_main', 'title_main');
|
||||
// array_push($input, "Himbeere");
|
||||
$dataset = new Dataset($input);
|
||||
|
||||
DB::beginTransaction(); //Start transaction!
|
||||
try {
|
||||
$dataset->save();
|
||||
|
||||
//store related files
|
||||
if (null != $data['files']) {
|
||||
foreach ($data['files'] as $uploadedFile) {
|
||||
$file = $uploadedFile['file'];
|
||||
$label = urldecode($uploadedFile['label']);
|
||||
$sorting = $uploadedFile['sorting'];
|
||||
$fileName = "productImage-" . time() . '.' . $file->getClientOriginalExtension();
|
||||
$mimeType = $file->getMimeType();
|
||||
$datasetFolder = 'files/' . $dataset->id;
|
||||
$path = $file->storeAs($datasetFolder, $fileName);
|
||||
$size = Storage::size($path);
|
||||
//$path = Storage::putFile('files', $image, $fileName);
|
||||
$file = new File([
|
||||
'path_name' => $path,
|
||||
'file_size' => $size,
|
||||
'mime_type' => $mimeType,
|
||||
'label' => $label,
|
||||
'sort_order' => $sorting,
|
||||
'visible_in_frontdoor' => 1,
|
||||
'visible_in_oai' => 1
|
||||
]);
|
||||
//$test = $file->path_name;
|
||||
$dataset->files()->save($file);
|
||||
$file->createHashValues();
|
||||
}
|
||||
}
|
||||
|
||||
//store licenses:
|
||||
$licenses = $request->input('licenses');
|
||||
$dataset->licenses()->sync($licenses);
|
||||
|
||||
//save main title:
|
||||
if (isset($data['title_main'])) {
|
||||
$formTitle = $request->input('title_main');
|
||||
$title = new Title();
|
||||
$title->value = $formTitle['value'];
|
||||
$title->language = $formTitle['language'];
|
||||
$dataset->addMainTitle($title);
|
||||
}
|
||||
|
||||
//save main abstract:
|
||||
if (isset($data['abstract_main'])) {
|
||||
$formAbstract = $request->input('abstract_main');
|
||||
$abstract = new Title();
|
||||
$abstract->value = $formAbstract['value'];
|
||||
$abstract->language = $formAbstract['language'];
|
||||
$dataset->addMainAbstract($abstract);
|
||||
}
|
||||
|
||||
// $error = 'Always throw this error';
|
||||
// throw new \Exception($error);
|
||||
|
||||
// all good//commit everything
|
||||
DB::commit();
|
||||
} catch (\Exception $e) {
|
||||
DB::rollback();
|
||||
Storage::deleteDirectory($datasetFolder);
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'error' => [
|
||||
'code' => $e->getCode(),
|
||||
'message' => $e->getMessage(),
|
||||
],
|
||||
], 422);
|
||||
//throw $e;
|
||||
} catch (\Throwable $e) {
|
||||
DB::rollback();
|
||||
Storage::deleteDirectory($datasetFolder);
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'error' => [
|
||||
'code' => $e->getCode(),
|
||||
'message' => $e->getMessage(),
|
||||
],
|
||||
], 422);
|
||||
//throw $e;
|
||||
}
|
||||
|
||||
return response()->json(array(
|
||||
'redirect' => route('settings.document', ['state' => $dataset->server_state]),
|
||||
));
|
||||
} else {
|
||||
//TODO Handle validation error
|
||||
//pass validator errors as errors object for ajax response
|
||||
return response()->json([
|
||||
'success' => false,
|
||||
'errors' => $validator->errors()->all(),
|
||||
], 422);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,13 +1,12 @@
|
|||
<?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 App\Project;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\View\View;
|
||||
|
||||
class CategoryController extends Controller
|
||||
{
|
||||
|
@ -17,7 +16,7 @@ class CategoryController extends Controller
|
|||
$this->middleware('auth');
|
||||
}
|
||||
|
||||
public function index() : View
|
||||
public function index(): View
|
||||
{
|
||||
$projects = Project::get();
|
||||
return view('settings.project.category', compact('projects'));
|
||||
|
@ -28,12 +27,12 @@ class CategoryController extends Controller
|
|||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function add() : View
|
||||
public function add(): View
|
||||
{
|
||||
return view('settings.project.add');
|
||||
}
|
||||
|
||||
public function store(ProjectRequest $request) : RedirectResponse
|
||||
public function store(ProjectRequest $request): RedirectResponse
|
||||
{
|
||||
$input = $request->all();
|
||||
Project::create($input);
|
||||
|
@ -47,7 +46,7 @@ class CategoryController extends Controller
|
|||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function edit($id) : View
|
||||
public function edit($id): View
|
||||
{
|
||||
$project = Project::findOrFail($id);
|
||||
return view('settings.project.edit', compact('project'));
|
||||
|
@ -60,7 +59,7 @@ class CategoryController extends Controller
|
|||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update($id, ProjectRequest $request) : RedirectResponse
|
||||
public function update($id, ProjectRequest $request): RedirectResponse
|
||||
{
|
||||
$project = Project::findOrFail($id);
|
||||
$input = $request->all();
|
||||
|
@ -75,16 +74,16 @@ class CategoryController extends Controller
|
|||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function delete($id) : RedirectResponse
|
||||
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!'
|
||||
. ' There are '
|
||||
. $project->documents->count()
|
||||
. ' documents in this project!'
|
||||
);
|
||||
return redirect()->route('settings.project');
|
||||
} else {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
<?php
|
||||
namespace App\Http\Controllers;
|
||||
namespace App\Http\Controllers\Settings;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Requests;
|
||||
|
@ -24,8 +24,8 @@ class CollectionController extends Controller
|
|||
//$collections = Collection::take(10)->get();
|
||||
//$collections = Collection::get();
|
||||
$collections = Collection::with('documents')
|
||||
->paginate(8); //get();
|
||||
return view('rdr.settings.collection.collection', compact('collections'));
|
||||
->paginate(8); //get();
|
||||
return view('settings.collection.collection', compact('collections'));
|
||||
}
|
||||
|
||||
/**
|
|
@ -5,7 +5,7 @@ use App\Http\Controllers\Controller;
|
|||
use App\Dataset;
|
||||
use App\Project;
|
||||
use App\License;
|
||||
use App\Title;
|
||||
use App\Models\Title;
|
||||
use App\Http\Requests\DocumentRequest;
|
||||
use Illuminate\View\View;
|
||||
use Illuminate\Http\RedirectResponse;
|
||||
|
@ -27,7 +27,14 @@ class DatasetController extends Controller
|
|||
//$registers = array();
|
||||
|
||||
$filter = $request->input('search');
|
||||
$state = (strlen($request->input('state')) > 0) ? $request->input('state') : "published";
|
||||
|
||||
if (null !== ($request->input('state'))) {
|
||||
$state = $request->input('state');
|
||||
} else {
|
||||
$state = "published";
|
||||
}
|
||||
|
||||
|
||||
|
||||
$data = $request->all();
|
||||
|
||||
|
@ -131,7 +138,10 @@ class DatasetController extends Controller
|
|||
// for($jahr = 1990; $jahr <= $nowYear; $jahr++){
|
||||
// $years[$jahr] = $jahr;
|
||||
// }
|
||||
return view('settings.document.edit', compact('document', 'projects', 'options', 'checkeds', 'years', 'languages'));
|
||||
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
|
||||
|
@ -145,18 +155,18 @@ class DatasetController extends Controller
|
|||
*/
|
||||
public function update(DocumentRequest $request, $id) : RedirectResponse
|
||||
{
|
||||
$document = Dataset::findOrFail($id);
|
||||
$dataset = 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();
|
||||
$dataset->update($input);
|
||||
// $dataset->type = $input['type'];
|
||||
// $dataset->thesis_year_accepted = $input['thesis_year_accepted'];
|
||||
// $dataset->project_id = $input['project_id'];
|
||||
// $dataset->save();
|
||||
|
||||
$licenses = $request->input('licenses');
|
||||
//$licenses = $input['licenses'];
|
||||
$document->licenses()->sync($licenses);
|
||||
$dataset->licenses()->sync($licenses);
|
||||
|
||||
//save the titles:
|
||||
$titles = $request->input('titles');
|
||||
|
|
27
app/Http/Controllers/Settings/HomeController.php
Normal file
27
app/Http/Controllers/Settings/HomeController.php
Normal file
|
@ -0,0 +1,27 @@
|
|||
<?php
|
||||
namespace App\Http\Controllers\Settings;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\View\View;
|
||||
|
||||
class HomeController extends Controller
|
||||
{
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the application dashboard.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function index(): View
|
||||
{
|
||||
return view('settings.home.index');
|
||||
}
|
||||
}
|
|
@ -35,8 +35,20 @@ class LicenseController extends Controller
|
|||
return view('settings.license.edit', compact('license', 'languages'));
|
||||
}
|
||||
|
||||
public function update($id, LicenseRequest $request): RedirectResponse
|
||||
public function update(Request $request, $id): RedirectResponse
|
||||
{
|
||||
$validatedData = $this->validate($request, [
|
||||
'desc_text' => 'max:4000',
|
||||
'language' => 'max:3',
|
||||
'link_licence' => 'required|url:max:255',
|
||||
'link_logo' => 'url|max:255',
|
||||
'mime_type' => 'max:30',
|
||||
'name_long' => 'required|min:5|max:255',
|
||||
'sort_order' => 'required|integer',
|
||||
'active' => 'required|boolean',
|
||||
'pod_allowed' => 'required|boolean',
|
||||
]);
|
||||
|
||||
$license = License::findOrFail($id);
|
||||
$input = $request->all();
|
||||
$license->update($input);
|
||||
|
|
|
@ -73,7 +73,7 @@ class PersonController extends Controller
|
|||
* @param int $id
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function update($id, PersonRequest $request)
|
||||
public function update(PersonRequest $request, $id)
|
||||
{
|
||||
$person = Person::findOrFail($id);
|
||||
$input = $request->all();
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?php
|
||||
namespace App\Http\Controllers\Settings;
|
||||
|
||||
use App\Role;
|
||||
use App\Permission;
|
||||
use App\Models\Role;
|
||||
use App\Models\Permission;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
|
@ -38,7 +38,28 @@ class RoleController extends Controller
|
|||
*/
|
||||
public function store(Request $request)
|
||||
{
|
||||
//
|
||||
$this->validate($request, [
|
||||
'name' => 'required',
|
||||
'display_name' => 'max:255',
|
||||
'description' => 'max:255'
|
||||
]);
|
||||
//$input = $request->all();
|
||||
$input = $request->except('permissions');
|
||||
//$input = $request->only(['name']); //Retreive the name field
|
||||
$role = Role::create($input);
|
||||
|
||||
$permissions = $request['permissions']; //Retrieving permissions
|
||||
//Checking if a role was selected
|
||||
if (isset($permissions)) {
|
||||
foreach ($permissions as $permission) {
|
||||
$permission_r = Permission::where('id', '=', $permission)->firstOrFail();
|
||||
$role->attachPermission($permission_r); //Assigning permission to role
|
||||
}
|
||||
}
|
||||
|
||||
return redirect()
|
||||
->route('role.index')
|
||||
->with('success', 'Role has been created successfully');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -64,7 +85,7 @@ class RoleController extends Controller
|
|||
$permissions = Permission::all('id', 'name');
|
||||
|
||||
//$userRoles = $user->roles->pluck('name','name')->all();
|
||||
$checkeds = $role->permissions->pluck('id')->toArray();
|
||||
$checkeds = $role->perms->pluck('id')->toArray();
|
||||
return view('settings.role.edit', compact('role', 'permissions', 'checkeds'));
|
||||
}
|
||||
|
||||
|
@ -78,7 +99,9 @@ class RoleController extends Controller
|
|||
public function update(Request $request, $id)
|
||||
{
|
||||
$this->validate(request(), [
|
||||
'name' => 'required'
|
||||
'name' => 'required',
|
||||
'display_name' => 'max:255',
|
||||
'description' => 'max:255'
|
||||
]);
|
||||
$role = Role::findOrFail($id);
|
||||
$role->update($request->except('permissions'));
|
||||
|
@ -86,9 +109,9 @@ class RoleController extends Controller
|
|||
$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
|
||||
$role->perms()->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
|
||||
$role->perms()->detach(); //If no role is selected remove exisiting role associated to a user
|
||||
}
|
||||
|
||||
return redirect()->route('role.index')
|
||||
|
|
|
@ -1,15 +1,18 @@
|
|||
<?php
|
||||
namespace App\Http\Controllers\Settings;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Models\Role;
|
||||
use App\User;
|
||||
//use Spatie\Permission\Models\Role;
|
||||
use App\Role;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class UserController extends Controller
|
||||
{
|
||||
// public function __construct()
|
||||
// {
|
||||
// $this->middleware('permission:settings');
|
||||
// }
|
||||
|
||||
/**
|
||||
* Display a listing of the resource.
|
||||
*
|
||||
|
@ -22,9 +25,11 @@ class UserController extends Controller
|
|||
// return abort(401, 'Unauthorized action.');
|
||||
//}
|
||||
|
||||
$users = User::orderBy('id', 'DESC')->paginate(5);
|
||||
$users = User::with('roles')
|
||||
->orderBy('id', 'DESC')
|
||||
->paginate(5);
|
||||
return view('settings.user.user', compact('users'))
|
||||
->with('i', ($request->input('page', 1) - 1) * 5);
|
||||
->with('i', ($request->input('page', 1) - 1) * 5);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -35,7 +40,7 @@ class UserController extends Controller
|
|||
public function create()
|
||||
{
|
||||
//$roles = Role::pluck('name','name')->all();
|
||||
$roles = Role::all('id', 'name');
|
||||
$roles = Role::all('id', 'name');
|
||||
return view('settings.user.create', compact('roles'));
|
||||
}
|
||||
|
||||
|
@ -56,7 +61,7 @@ class UserController extends Controller
|
|||
$this->validate($request, [
|
||||
'login' => 'required',
|
||||
'email' => 'required|email|unique:accounts',
|
||||
'password' => 'required|min:6|confirmed'
|
||||
'password' => 'required|min:6|confirmed',
|
||||
//'roles' => 'required'
|
||||
]);
|
||||
|
||||
|
@ -64,14 +69,13 @@ class UserController extends Controller
|
|||
$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
|
||||
$roles = $request['roles']; //Retrieving roles
|
||||
//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
|
||||
$user->attachRole($role_r); //Assigning role to user
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -122,11 +126,11 @@ class UserController extends Controller
|
|||
$this->validate(request(), [
|
||||
'login' => 'required',
|
||||
'email' => 'required|email|unique:accounts,email,' . $id,
|
||||
'password' => 'required|min:6|confirmed'
|
||||
'password' => 'required|min:6|confirmed',
|
||||
]);
|
||||
|
||||
$user = User::findOrFail($id);
|
||||
// $input = $request->except('roles');
|
||||
|
||||
$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
|
||||
|
@ -139,11 +143,11 @@ class UserController extends Controller
|
|||
$roles = $request['roles']; //Retreive all roles
|
||||
|
||||
if (isset($roles)) {
|
||||
$user->roles()->sync($roles);//If one or more role is selected associate user to 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')
|
||||
|
|
Loading…
Add table
editor.link_modal.header
Reference in a new issue