Skip to content

Instantly share code, notes, and snippets.

@ichaykin
Created February 26, 2021 06:51
Show Gist options
  • Save ichaykin/2b2972a3eb3524625c5ec091d3fd497a to your computer and use it in GitHub Desktop.
Save ichaykin/2b2972a3eb3524625c5ec091d3fd497a to your computer and use it in GitHub Desktop.
diff --git a/app/addons/vendor_plans/func.php b/app/addons/vendor_plans/func.php
index 4654a06f0d..f7b38b4065 100644
--- a/app/addons/vendor_plans/func.php
+++ b/app/addons/vendor_plans/func.php
@@ -240,17 +240,16 @@ function fn_vendor_plans_update_company(&$company_data, &$company_id, &$lang_cod
) {
$company = Company::model()->find($company_id);
$current_plan = VendorPlan::model()->find($company_data['current_plan']);
+
/** @var \Tygh\Notifications\EventDispatcher $event_dispatcher */
$event_dispatcher = Tygh::$app['event.dispatcher'];
+
$event_dispatcher->dispatch(
'vendor_plans.plan_changed',
[
- 'vendor' => $company,
- 'plan' => $company->plan,
- 'old_plan' => $current_plan,
'company_id' => $company_id,
+ 'old_plan_id' => $company_data['current_plan'],
'lang_code' => $company->lang_code,
- 'vendor_name' => $company_data['company'],
]
);
diff --git a/app/addons/vendor_plans/schemas/notifications/events.post.php b/app/addons/vendor_plans/schemas/notifications/events.post.php
index 5b96a97941..4c677fb453 100644
--- a/app/addons/vendor_plans/schemas/notifications/events.post.php
+++ b/app/addons/vendor_plans/schemas/notifications/events.post.php
@@ -14,9 +14,12 @@
use Tygh\Enum\SiteArea;
use Tygh\Enum\UserTypes;
+use Tygh\Models\Company;
+use Tygh\Models\VendorPlan;
use Tygh\Notifications\DataValue;
use Tygh\Notifications\Transports\Mail\MailTransport;
use Tygh\Notifications\Transports\Mail\MailMessageSchema;
+use Tygh\Registry;
defined('BOOTSTRAP') or die('Access denied');
/** @var array<string, array> $schema */
@@ -36,7 +39,24 @@ $schema['vendor_plans.plan_changed'] = [
'template_code' => 'vendor_plans_vendor_plan_changed_info_for_admin',
'legacy_template' => 'addons/vendor_plans/companies/plan_changed.tpl',
'company_id' => DataValue::create('company_id'),
- 'language_code' => DataValue::create('lang_code'),
+ 'language_code' => Registry::get('settings.Appearance.backend_default_language'),
+ 'data_modifier' => static function ($data) {
+ $lang_code = Registry::get('settings.Appearance.backend_default_language');
+ $company_id = $data['company_id'];
+ $old_plan_id = $data['old_plan_id'];
+
+ /** @var Company $company */
+ $company = Company::model(['lang_code' => $lang_code])->find($company_id);
+ $current_plan = VendorPlan::model(['lang_code' => $lang_code])->find($old_plan_id);
+
+ return [
+ 'company_id' => $company_id,
+ 'vendor' => $company,
+ 'plan' => $company->plan,
+ 'old_plan' => $current_plan,
+ 'vendor_name' => $company->company,
+ ];
+ },
]),
],
UserTypes::VENDOR => [
@@ -48,6 +68,24 @@ $schema['vendor_plans.plan_changed'] = [
'legacy_template' => 'addons/vendor_plans/companies/plan_changed.tpl',
'company_id' => DataValue::create('company_id'),
'language_code' => DataValue::create('lang_code'),
+ 'data_modifier' => static function ($data) {
+ $lang_code = $data['lang_code'];
+ $company_id = $data['company_id'];
+ $old_plan_id = $data['old_plan_id'];
+
+ /** @var Company $company */
+ $company = Company::model(['lang_code' => $lang_code])->find($company_id);
+ $current_plan = VendorPlan::model(['lang_code' => $lang_code])->find($old_plan_id);
+
+ return [
+ 'company_id' => $company_id,
+ 'vendor' => $company,
+ 'plan' => $company->plan,
+ 'old_plan' => $current_plan,
+ 'vendor_name' => $company->company,
+ 'lang_code' => $company->lang_code,
+ ];
+ },
]),
],
],
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment