/**
  * Update the old password and authenticate.
  *
  * @param $user
  * @param $password
  */
 protected function resetPassword($user, $password)
 {
     /*
      * --------------------------------------------------------------------------
      * Update password
      * --------------------------------------------------------------------------
      * Hash new password and update database related the user. Create new
      * instance of Activity and insert reset password activity.
      */
     $user->password = bcrypt($password);
     $user->save();
     Activity::create(['contributor_id' => $user->id, 'activity' => Activity::resetPasswordActivity($user->username)]);
     /*
      * --------------------------------------------------------------------------
      * Send email notification
      * --------------------------------------------------------------------------
      * Make sure user is noticed by email information that they recently change
      * their password.
      */
     Mail::send('emails.reset', ['name' => $user->name], function ($message) use($user) {
         $message->from(env('MAIL_ADDRESS', '*****@*****.**'), env('MAIL_NAME', 'Infogue.id'));
         $message->replyTo('*****@*****.**', env('MAIL_NAME', 'Infogue.id'));
         $message->to($user->email)->subject('Password has been reset');
     });
     Auth::guard($this->getGuard())->login($user);
 }