Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php namespace AppHttpControllers;
- use AppHttpRequestsUserFormRequest;
- use AppHttpControllersController;
- use IlluminateSupportFacadesSession;
- use AppHttpRequestsAuthRegisterRequest;
- class UserController extends Controller {
- public function index()
- {
- // show the list of all users
- $users = AppUser::all();
- $User = new AppUser();
- $userRoleOptions = AppRoles::pluck('role_name', 'id');
- return view('admin.user.indexUser', ['users' => $users, 'User' => $User, 'userRoleOptions' => $userRoleOptions]);
- }
- /**
- * Show the form for creating a new resource.
- *
- * @return Response
- */
- public function delete($id)
- {
- //find the right user
- $user = AppUser::findorfail($id);
- // delete the found user
- $user->delete();
- $users = AppUser::all();
- return view('admin.user.indexUser')->with('users', $users);
- }
- /**
- * Store a newly created resource in storage.
- *
- * @return Response
- */
- protected function create(RegisterRequest $request) {
- //validate the user input
- $this->validate($request, [
- 'name' => 'required|max:255',
- 'email' => 'required|email|max:255|unique:users',
- 'password' => 'required|confirmed|min:6'
- ]);
- //fill the input in the database
- $temp = AppUser::create();
- $temp->name = $request->name;
- $temp->email = $request->email;
- $temp->password = bcrypt($request->password);
- $temp->role_id = $request->role_id;
- $temp->save();
- //return user feedback
- Session::flash ( 'flash_message', 'Account is succesvol aangemaakt!');
- $users = AppUser::all();
- $User = new AppUser();
- $userRoleOptions = AppRoles::pluck('role_name', 'id');
- return view('admin.user.indexUser', ['users' => $users, 'User' => $User, 'userRoleOptions' => $userRoleOptions]);
- }
- /**
- * Show the form for editing the specified resource.
- *
- * @param int $id
- * @return Response
- */
- public function edit($id)
- {
- //find the right user
- $user = AppUser::find($id);
- $User = new AppUser();
- $userRoleOptions = AppRoles::pluck('role_name', 'id');
- //return the edit page of the fount user
- return view('admin.user.updateUser', array('user' => $user, 'User' => $User, 'userRoleOptions' => $userRoleOptions));
- }
- public function update(UserFormRequest $request)
- {
- // find the right user
- $user = AppUser::findorfail($request->input('id'));
- // validate user input
- $this->validate ( $request, [
- 'name' => 'required',
- 'email' => 'required'
- ] );
- // this 'fills' the user model with all fields of the Input that are fillable
- // if statment checks if password is right en if filled it changes the password
- $user->name = $request ['name'];
- $user->email = $request ['email'];
- if (strlen ( $request ['password'] ) > 6) {
- $user->password = bcrypt ( $request ['password'] );
- } elseif (strlen ( $request ['password'] ) > 0) {
- return redirect ()->back ();
- }
- $user->role_id = $request['role_id'];
- $user->save (); // no validation implemented
- Session::flash ( 'flash_message', 'Account is succesvol gewijzigd!');
- $users = AppUser::all();
- $User = new AppUser();
- $userRoleOptions = AppRoles::pluck('role_name', 'id');
- return view('admin.user.updateUser', ['users' => $users, 'User' => $User, 'userRoleOptions' => $userRoleOptions]);
- }
- }
- <?php namespace App;
- use IlluminateAuthAuthenticatable;
- use IlluminateDatabaseEloquentModel;
- use IlluminateAuthPasswordsCanResetPassword;
- use IlluminateContractsAuthAuthenticatable as AuthenticatableContract;
- use IlluminateContractsAuthCanResetPassword as CanResetPasswordContract;
- class User extends Model implements AuthenticatableContract, CanResetPasswordContract {
- use Authenticatable, CanResetPassword;
- /**
- * The database table used by the model.
- *
- * @var string
- */
- protected $table = 'users';
- /**
- * The attributes that are mass assignable.
- *
- * @var array
- */
- protected $fillable = ['name', 'email', 'password', 'role_id'];
- /**
- * The attributes excluded from the model's JSON form.
- *
- * @var array
- */
- protected $hidden = ['password', 'remember_token'];
- public function mail_entry(){
- return $this->hasOne('AppMail_entry');
- }
- public function role()
- {
- return $this->hasMany('AppRoles', 'id', 'role_id');
- }
- }
- <div class="modal fade" id="user-modal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
- <div class="modal-dialog">
- <div class="modal-content">
- <div class="modal-header">
- <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
- <h4 class="modal-title" id="myModalLabel">Wijzigen</h4>
- </div>
- <div class="modal-body">
- <div stype="padding:10px;">
- {!! Form::model($user, ['route' => 'update_user', 'id' => 'edit-user-form']) !!}
- @include('admin/user/partials/_user-form', ['user' => $user, 'submit_tekst' => 'Gebruiker updaten'])
- {!! Form::close() !!}
- </div>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-default" id="save-user">Opslaan</button>
- <button type="button" class="btn btn-default" data-dismiss="modal">Annuleer</button>
- </div>
- </div>
- </div>
- <script type="text/javascript">
- var x = $('#user-modal :submit');
- console.log(x);
- $('#user-modal :submit').remove();
- $('#save-user').click(function(){
- $.ajax({
- url : '{!! URL::route('update_user'); !!}',
- type: 'post',
- data : $('#edit-user-form').serialize(),
- success : function(result){
- console.log("succes" + result);
- },
- error: function(result) {
- console.log("error" + result);
- if( result.status === 422 ) {
- //process validation errors here.
- var errors = result.responseJSON; //this will get the errors response data.
- //show them somewhere in the markup
- //e.g
- errorsHtml = '<div class="alert alert-danger"><ul>';
- $.each(errors, function( key, value ) {
- errorsHtml += '<li>' + value[0] + '</li>'; //showing only the first error.
- });
- errorsHtml += '</ul></div>';
- $( '#edit-user-form' ).append( errorsHtml );
- }
- }
- });
- console.log('gelukt');
- });
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement