Skip to content

Commit

Permalink
Merge pull request #327 from arsenik/master
Browse files Browse the repository at this point in the history
Fix reset password
  • Loading branch information
AlirezaAlgo authored Feb 4, 2017
2 parents dd65df9 + 9fe3bc9 commit 29b7d70
Show file tree
Hide file tree
Showing 3 changed files with 83 additions and 2 deletions.
5 changes: 3 additions & 2 deletions src/models/Admin.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,16 @@

use Illuminate\Auth\Authenticatable;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Auth\Passwords\CanResetPassword;
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract;
use Illuminate\Support\Facades\Input;
use Illuminate\Notifications\Notifiable;

class Admin extends Model implements AuthenticatableContract, CanResetPasswordContract {

use Authenticatable, CanResetPassword;
use Authenticatable, AdminCanResetPassword;
use HasRoles;
use Notifiable;
/**
* The database table used by the model.
*
Expand Down
28 changes: 28 additions & 0 deletions src/models/AdminCanResetPassword.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?php

namespace Serverfireteam\Panel;


trait AdminCanResetPassword
{
/**
* Get the e-mail address where password reset links are sent.
*
* @return string
*/
public function getEmailForPasswordReset()
{
return $this->email;
}

/**
* Send the password reset notification.
*
* @param string $token
* @return void
*/
public function sendPasswordResetNotification($token)
{
$this->notify(new AdminResetPassword($token));
}
}
52 changes: 52 additions & 0 deletions src/models/AdminResetPassword.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
<?php

namespace Serverfireteam\Panel;

use Illuminate\Notifications\Notification;
use Illuminate\Notifications\Messages\MailMessage;

class AdminResetPassword extends Notification
{
/**
* The password reset token.
*
* @var string
*/
public $token;

/**
* Create a notification instance.
*
* @param string $token
* @return void
*/
public function __construct($token)
{
$this->token = $token;
}

/**
* Get the notification's channels.
*
* @param mixed $notifiable
* @return array|string
*/
public function via($notifiable)
{
return ['mail'];
}

/**
* Build the mail representation of the notification.
*
* @param mixed $notifiable
* @return \Illuminate\Notifications\Messages\MailMessage
*/
public function toMail($notifiable)
{
return (new MailMessage)
->line('You are receiving this email because we received a password reset request for your account.')
->action('Reset Password', url('panel/password/reset', $this->token))
->line('If you did not request a password reset, no further action is required.');
}
}

0 comments on commit 29b7d70

Please sign in to comment.