Attendize/app/Http/Controllers/UserController.php

82 lines
2.2 KiB
PHP
Raw Normal View History

2016-02-29 15:59:36 +00:00
<?php
namespace App\Http\Controllers;
2016-03-05 00:18:10 +00:00
use Auth;
use Hash;
2016-09-06 20:39:27 +00:00
use Illuminate\Http\Request;
use Validator;
2016-03-05 00:18:10 +00:00
class UserController extends Controller
{
/**
* Show the edit user modal
*
* @return \Illuminate\Contracts\View\View
*/
2016-03-05 00:18:10 +00:00
public function showEditUser()
{
2016-02-29 15:59:36 +00:00
$data = [
2016-06-15 02:31:24 +00:00
'user' => Auth::user(),
2016-02-29 15:59:36 +00:00
];
return view('ManageUser.Modals.EditUser', $data);
2016-02-29 15:59:36 +00:00
}
/**
* Updates the current user
*
* @param Request $request
* @return mixed
*/
public function postEditUser(Request $request)
2016-03-05 00:18:10 +00:00
{
$rules = [
2016-09-06 20:39:27 +00:00
'email' => [
'required',
'email',
'unique:users,email,' . Auth::user()->id . ',id,account_id,' . Auth::user()->account_id
],
2016-02-29 15:59:36 +00:00
'new_password' => ['min:5', 'confirmed', 'required_with:password'],
2016-03-05 00:18:10 +00:00
'password' => 'passcheck',
'first_name' => ['required'],
'last_name' => ['required'],
];
2016-02-29 15:59:36 +00:00
$messages = [
2016-03-05 00:18:10 +00:00
'email.email' => 'Please enter a valid E-mail address.',
'email.required' => 'E-mail address is required.',
'password.passcheck' => 'This password is incorrect.',
2016-06-16 22:59:31 +00:00
'email.unique' => 'This E-mail is already in use.',
2016-03-05 00:18:10 +00:00
'first_name.required' => 'Please enter your first name.',
2016-06-16 23:28:42 +00:00
'last_name.required' => 'Please enter your last name.',
2016-02-29 15:59:36 +00:00
];
$validation = Validator::make($request->all(), $rules, $messages);
2016-02-29 15:59:36 +00:00
if ($validation->fails()) {
return response()->json([
2016-06-15 02:31:24 +00:00
'status' => 'error',
'messages' => $validation->messages()->toArray(),
2016-02-29 15:59:36 +00:00
]);
}
$user = Auth::user();
if ($request->get('password')) {
2016-06-16 23:28:42 +00:00
$user->password = Hash::make($request->get('new_password'));
2016-02-29 15:59:36 +00:00
}
$user->first_name = $request->get('first_name');
2016-09-06 20:39:27 +00:00
$user->last_name = $request->get('last_name');
$user->email = $request->get('email');
2016-02-29 15:59:36 +00:00
$user->save();
return response()->json([
2016-06-15 02:31:24 +00:00
'status' => 'success',
'message' => 'Successfully Saved Details',
2016-02-29 15:59:36 +00:00
]);
}
}