Change event on `create` method so it doesn't send an activate email if

we use the `$activated` switch.
Signed-off-by: 's avatarMicheal Mand <micheal@kmdwebdesigns.com>
parent 51a39352
<?php
namespace Modules\User\Events;
class UserWasCreated
{
public $user;
public function __construct($user)
{
$this->user = $user;
}
}
...@@ -7,6 +7,7 @@ use Cartalyst\Sentinel\Laravel\Facades\Sentinel; ...@@ -7,6 +7,7 @@ use Cartalyst\Sentinel\Laravel\Facades\Sentinel;
use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Hash;
use Modules\User\Entities\Sentinel\User; use Modules\User\Entities\Sentinel\User;
use Modules\User\Events\UserHasRegistered; use Modules\User\Events\UserHasRegistered;
use Modules\User\Events\UserWasCreated;
use Modules\User\Events\UserWasUpdated; use Modules\User\Events\UserWasUpdated;
use Modules\User\Exceptions\UserNotFoundException; use Modules\User\Exceptions\UserNotFoundException;
use Modules\User\Repositories\UserRepository; use Modules\User\Repositories\UserRepository;
...@@ -39,14 +40,20 @@ class SentinelUserRepository implements UserRepository ...@@ -39,14 +40,20 @@ class SentinelUserRepository implements UserRepository
/** /**
* Create a user resource * Create a user resource
* @param $data * @param array $data
* @param bool $activated
* @return mixed * @return mixed
*/ */
public function create(array $data) public function create(array $data, $activated = false)
{ {
$user = $this->user->create((array) $data); $user = $this->user->create((array) $data);
event(new UserHasRegistered($user)); if ($activated) {
$this->activateUser($user);
event(new UserWasCreated($user));
} else {
event(new UserHasRegistered($user));
}
return $user; return $user;
} }
...@@ -67,8 +74,7 @@ class SentinelUserRepository implements UserRepository ...@@ -67,8 +74,7 @@ class SentinelUserRepository implements UserRepository
} }
if ($activated) { if ($activated) {
$activation = Activation::create($user); $this->activateUser($user);
Activation::complete($user, $activation->code);
} }
} }
...@@ -90,8 +96,7 @@ class SentinelUserRepository implements UserRepository ...@@ -90,8 +96,7 @@ class SentinelUserRepository implements UserRepository
} }
if ($activated) { if ($activated) {
$activation = Activation::create($user); $this->activateUser($user);
Activation::complete($user, $activation->code);
} }
return $user; return $user;
...@@ -214,4 +219,15 @@ class SentinelUserRepository implements UserRepository ...@@ -214,4 +219,15 @@ class SentinelUserRepository implements UserRepository
return Activation::complete($user, $activation->code); return Activation::complete($user, $activation->code);
} }
} }
/**
* Activate a user automatically
*
* @param $user
*/
private function activateUser($user)
{
$activation = Activation::create($user);
Activation::complete($user, $activation->code);
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment