diff --git a/app/Jobs/Entity/EmailEntity.php b/app/Jobs/Entity/EmailEntity.php index 811a4e4cabd6..2edf49716043 100644 --- a/app/Jobs/Entity/EmailEntity.php +++ b/app/Jobs/Entity/EmailEntity.php @@ -94,7 +94,9 @@ class EmailEntity extends BaseMailerJob implements ShouldQueue */ public function handle() { - + if($this->company->is_disabled) + return true; + MultiDB::setDB($this->company->db); $this->setMailDriver(); diff --git a/app/Jobs/Mail/BaseMailerJob.php b/app/Jobs/Mail/BaseMailerJob.php index 38ef8ade78e9..bc1a1e8ab5aa 100644 --- a/app/Jobs/Mail/BaseMailerJob.php +++ b/app/Jobs/Mail/BaseMailerJob.php @@ -57,7 +57,7 @@ class BaseMailerJob implements ShouldQueue } /* - * Now that our token is refresh and valid we can boot the + * Now that our token is refreshed and valid we can boot the * mail driver at runtime and also set the token which will persist * just for this request. */ diff --git a/app/Jobs/Mail/EntityPaidMailer.php b/app/Jobs/Mail/EntityPaidMailer.php index ffb5f525d838..b0defdc0cab9 100644 --- a/app/Jobs/Mail/EntityPaidMailer.php +++ b/app/Jobs/Mail/EntityPaidMailer.php @@ -71,14 +71,13 @@ class EntityPaidMailer extends BaseMailerJob implements ShouldQueue */ public function handle() { + /*If we are migrating data we don't want to fire these notification*/ + if ($this->company->is_disabled) + return true; + //Set DB MultiDB::setDb($this->company->db); - /*If we are migrating data we don't want to fire these notification*/ - if ($this->company->company_users->first()->is_migrating) { - return true; - } - //if we need to set an email driver do it now $this->setMailDriver(); diff --git a/app/Jobs/Mail/EntitySentMailer.php b/app/Jobs/Mail/EntitySentMailer.php index 49c92779fe34..062c1d857cbc 100644 --- a/app/Jobs/Mail/EntitySentMailer.php +++ b/app/Jobs/Mail/EntitySentMailer.php @@ -75,6 +75,10 @@ class EntitySentMailer extends BaseMailerJob implements ShouldQueue */ public function handle() { + /*If we are migrating data we don't want to fire these notification*/ + if ($this->company->is_disabled) + return true; + //Set DB MultiDB::setDb($this->company->db); diff --git a/app/Jobs/Mail/EntityViewedMailer.php b/app/Jobs/Mail/EntityViewedMailer.php index 5ff8696ef5ef..4dad5c068e1f 100644 --- a/app/Jobs/Mail/EntityViewedMailer.php +++ b/app/Jobs/Mail/EntityViewedMailer.php @@ -75,7 +75,10 @@ class EntityViewedMailer extends BaseMailerJob implements ShouldQueue */ public function handle() { - + /*If we are migrating data we don't want to fire these notification*/ + if ($this->company->is_disabled) + return true; + //Set DB MultiDB::setDb($this->company->db); diff --git a/app/Jobs/Mail/MailRouter.php b/app/Jobs/Mail/MailRouter.php index bb239ba6e3e7..db6ebd423a58 100644 --- a/app/Jobs/Mail/MailRouter.php +++ b/app/Jobs/Mail/MailRouter.php @@ -67,6 +67,10 @@ class MailRouter extends BaseMailerJob implements ShouldQueue public function handle() { + /*If we are migrating data we don't want to fire these notification*/ + if ($this->company->is_disabled) + return true; + MultiDB::setDb($this->company->db); //if we need to set an email driver do it now diff --git a/app/Jobs/Mail/PaymentFailureMailer.php b/app/Jobs/Mail/PaymentFailureMailer.php index 657bde7b0b2a..d06dd7cc994d 100644 --- a/app/Jobs/Mail/PaymentFailureMailer.php +++ b/app/Jobs/Mail/PaymentFailureMailer.php @@ -76,6 +76,10 @@ class PaymentFailureMailer extends BaseMailerJob implements ShouldQueue */ public function handle() { + /*If we are migrating data we don't want to fire these notification*/ + if ($this->company->is_disabled) + return true; + //Set DB MultiDB::setDb($this->company->db); diff --git a/app/Jobs/Payment/EmailPayment.php b/app/Jobs/Payment/EmailPayment.php index 1a1aad0aa23b..8c3487a6824c 100644 --- a/app/Jobs/Payment/EmailPayment.php +++ b/app/Jobs/Payment/EmailPayment.php @@ -32,18 +32,21 @@ class EmailPayment extends BaseMailerJob implements ShouldQueue private $contact; + private $company; /** * Create a new job instance. * * @param Payment $payment * @param $email_builder * @param $contact + * @param $company */ - public function __construct(Payment $payment, $email_builder, $contact) + public function __construct(Payment $payment, $email_builder, $contact, company) { $this->payment = $payment; $this->email_builder = $email_builder; $this->contact = $contact; + $this->company = $company; } /** @@ -54,6 +57,9 @@ class EmailPayment extends BaseMailerJob implements ShouldQueue */ public function handle() { + if($this->company->is_disabled) + return true; + if ($this->contact->email) { MultiDB::setDb($this->payment->company->db); //this may fail if we don't pass the serialized object with the company record diff --git a/app/Jobs/User/UserEmailChanged.php b/app/Jobs/User/UserEmailChanged.php index 0b5863480d68..02a788a3f1c0 100644 --- a/app/Jobs/User/UserEmailChanged.php +++ b/app/Jobs/User/UserEmailChanged.php @@ -54,6 +54,9 @@ class UserEmailChanged extends BaseMailerJob implements ShouldQueue public function handle() { + if($this->company->is_disabled) + return true; + //Set DB MultiDB::setDb($this->company->db); diff --git a/app/Jobs/Util/StartMigration.php b/app/Jobs/Util/StartMigration.php index 31c256751d46..af0524c45078 100644 --- a/app/Jobs/Util/StartMigration.php +++ b/app/Jobs/Util/StartMigration.php @@ -79,7 +79,8 @@ class StartMigration implements ShouldQueue auth()->user()->setCompany($this->company); - $this->company->setMigration(true); + $this->company->is_disabled = true; + $this->company->save(); $zip = new ZipArchive(); $archive = $zip->open($this->filepath); diff --git a/app/Listeners/Payment/PaymentNotification.php b/app/Listeners/Payment/PaymentNotification.php index 8bf809f35f71..f57e070e0a1b 100644 --- a/app/Listeners/Payment/PaymentNotification.php +++ b/app/Listeners/Payment/PaymentNotification.php @@ -48,12 +48,13 @@ class PaymentNotification implements ShouldQueue MultiDB::setDb($event->company->db); $payment = $event->payment; + + if ($event->company->is_disabled) { + return true; + } /*User notifications*/ foreach ($payment->company->company_users as $company_user) { - if ($company_user->is_migrating) { - return true; - } $user = $company_user->user; diff --git a/app/Models/Company.php b/app/Models/Company.php index 7295fcc4666b..f34fd1f6ae9b 100644 --- a/app/Models/Company.php +++ b/app/Models/Company.php @@ -443,13 +443,5 @@ class Company extends BaseModel return $this->slack_webhook_url; } - public function setMigration($status) - { - $company_users = CompanyUser::where('company_id', $this->id)->get(); - - foreach ($company_users as $cu) { - $cu->is_migrating = $status; - $cu->save(); - } - } + } diff --git a/app/Repositories/UserRepository.php b/app/Repositories/UserRepository.php index 15d46041befb..f79f16ce2dff 100644 --- a/app/Repositories/UserRepository.php +++ b/app/Repositories/UserRepository.php @@ -43,11 +43,10 @@ class UserRepository extends BaseRepository * @param array $data The data * @param \App\Models\user $user The user * - * @param bool $is_migrating * @param bool $unset_company_user * @return user|\App\Models\user|null user Object */ - public function save(array $data, User $user, $is_migrating = false, $unset_company_user = false) + public function save(array $data, User $user, $unset_company_user = false) { $details = $data; @@ -85,7 +84,6 @@ class UserRepository extends BaseRepository if (! $cu) { $data['company_user']['account_id'] = $account->id; $data['company_user']['notifications'] = CompanySettings::notificationDefaults(); - $data['company_user']['is_migrating'] = $is_migrating; $user->companies()->attach($company->id, $data['company_user']); } else { $cu->fill($data['company_user']); @@ -108,8 +106,6 @@ class UserRepository extends BaseRepository public function destroy(array $data, User $user) { -info("destroy user"); - if (array_key_exists('company_user', $data)) { $this->forced_includes = 'company_users'; @@ -136,8 +132,6 @@ info("destroy user"); public function delete($user) { -info("delete user"); - $company = auth()->user()->company(); $cu = CompanyUser::whereUserId($user->id) diff --git a/app/Services/Payment/SendEmail.php b/app/Services/Payment/SendEmail.php index 89f6b502c21b..2c7e897d3a90 100644 --- a/app/Services/Payment/SendEmail.php +++ b/app/Services/Payment/SendEmail.php @@ -37,7 +37,7 @@ class SendEmail $this->payment->client->contacts->each(function ($contact) use ($email_builder) { if ($contact->send && $contact->email) { - EmailPayment::dispatchNow($this->payment, $email_builder, $contact); + EmailPayment::dispatchNow($this->payment, $email_builder, $contact, $this->payment->company); } }); } diff --git a/app/Utils/Traits/Notifications/UserNotifies.php b/app/Utils/Traits/Notifications/UserNotifies.php index 38382a03f07b..7ff3b0a1cf60 100644 --- a/app/Utils/Traits/Notifications/UserNotifies.php +++ b/app/Utils/Traits/Notifications/UserNotifies.php @@ -18,7 +18,7 @@ trait UserNotifies { public function findUserNotificationTypes($invitation, $company_user, $entity_name, $required_permissions) :array { - if ($this->migrationRunning($company_user)) { + if ($company_user->company->is_disabled) { return []; } @@ -79,8 +79,4 @@ trait UserNotifies return $notifiable_methods; } - private function migrationRunning($company_user) - { - return $company_user->is_migrating; - } } diff --git a/database/migrations/2020_11_01_031750_drop_migrating_column.php b/database/migrations/2020_11_01_031750_drop_migrating_column.php new file mode 100644 index 000000000000..a85f1bbac1ee --- /dev/null +++ b/database/migrations/2020_11_01_031750_drop_migrating_column.php @@ -0,0 +1,30 @@ +dropColumn('is_migrating'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +}