middleware('superadmin');
$this->userRepo = $userRepo;
}
/**
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
*/
public function index()
{
$data = [
//'values' => User::where('admin', 0)->get(),
'values' => User::where('confirmation_code_remider', '!=', 2)->get(),
];
return view('admin.users', $data);
}
public function edit($id)
{
if($id == "new"){
$user = new User();
}else{
$user = User::findOrFail($id);
}
/*if(!$user->account){
$user->account = new Account();
}
*/
$data = [
'user' => $user,
'isFromAdmin' => 'true',
];
return view('admin.user_edit', $data);
}
public function store()
{
$data = Input::all();
if($data['user_id'] == "new"){
$rules = array(
'name' => 'required',
'email' => 'required|string|email|max:255|unique:users',
'email-confirm' => 'required|same:email',
);
}else{
$rules = array(
'name' => 'required'
);
}
$validator = Validator::make(Input::all(), $rules);
if ($validator->fails()) {
return back()->withInput(Input::all())->withErrors($validator);
}
if($data['user_id'] == "new"){
$user = User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => env('APP_KEY'),
]);
$unique = false;
do{
$confirmation_code = str_random(30);
if( User::where('confirmation_code', '=', $confirmation_code)->count() == 0){
$unique = true;
}
}
while(!$unique);
$user->confirmation_code = $confirmation_code;
$user->save();
Mail::to($user->email)->send(new MailVerifyContact($confirmation_code, $user));
}else{
$user = User::findOrFail($data['user_id']);
$user->name = $data['name'];
$user->save();
}
\Session()->flash('alert-save', true);
return redirect('/admin/users');
}
public function deleteUser($user_id)
{
$user = User::findOrFail($user_id);
$this->userRepo->deleteUser($user);
\Session()->flash('alert-success', "Kontakt gelöscht");
return redirect('/admin/users');
}
public function loadModal($id){
if(Request::ajax()) {
$user = User::findOrFail($id);
$data = [
'user' => $user,
'groups' => config('permissions.groups'),
'roles' => config('permissions.roles')
];
return view("admin.user_modal", $data )->render();
}
return false;
}
public function updateModal($step = false){
if($step == 'user'){
$data = Input::all();
$user = User::findOrFail($data['id']);
$user->permissions = isset($data['permissions']) ? $data['permissions'] : [];
$user->admin = $data['admin'];
$user->confirmed = isset($data['confirmed']) ? true : false;
$user->active = isset($data['active']) ? true : false;
$user->save();
}
\Session()->flash('alert-save', true);
return redirect('/admin/users');
}
//
public function getUsers()
{
//confirmation_code_remider is delete 2
$query = User::where('deleted_at', '=', null);
return \DataTables::eloquent($query)
->addColumn('action_edit', function (User $user) {
return '';
})
->addColumn('admin', function (User $user) {
return ''.HTMLHelper::getRoleLabel($user->admin, ' Rechte + ','').'';
})
->addColumn('confirmed', function (User $user) {
return $user->confirmed ? '' : '';
})
->addColumn('active', function (User $user) {
return $user->active ? ' ' : '';
})
->addColumn('action_delete', function (User $user) {
return '';
})
->orderColumn('confirmed', 'confirmed $1')
->orderColumn('active', 'active $1')
->orderColumn('admin', 'active $1')
->rawColumns(['action_edit', 'admin', 'confirmed', 'active', 'action_delete'])
->make(true);
}
}