Skip to content

Commit

Permalink
Merge pull request #837 from bakaphp/user-signup-default-company
Browse files Browse the repository at this point in the history
refact: workflow company
  • Loading branch information
kaioken authored Jan 26, 2024
2 parents 4d19bef + 760674a commit 7c84eae
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 7 deletions.
4 changes: 3 additions & 1 deletion src/Domains/Workflow/Actions/ProcessWorkflowEventAction.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
namespace Kanvas\Workflow\Actions;

use Baka\Contracts\AppInterface;
use Baka\Contracts\CompanyInterface;
use Illuminate\Database\Eloquent\Model;
use Kanvas\Exceptions\ModelNotFoundException;
use Kanvas\Workflow\Rules\DynamicRuleWorkflow;
Expand All @@ -28,7 +29,8 @@ public function execute(string $event, array $params = []): void
return;
}

$rules = RuleRepository::getRulesByModelAndType($this->app, $this->entity, $ruleType);
$company = isset($params['company']) && $params['company'] instanceof CompanyInterface ? $params['company'] : null;
$rules = RuleRepository::getRulesByModelAndType($this->app, $this->entity, $ruleType, $company);
if ($rules->count() > 0) {
foreach ($rules as $rule) {
$workflow = WorkflowStub::make(DynamicRuleWorkflow::class);
Expand Down
17 changes: 12 additions & 5 deletions src/Domains/Workflow/Rules/Repositories/RuleRepository.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,8 @@ class RuleRepository
public static function getRulesByModelAndType(
AppInterface $app,
EloquentModel $model,
RuleType $ruleType
RuleType $ruleType,
?CompanyInterface $company = null
): Collection {
$systemModule = SystemModulesRepository::getByModelName(get_class($model), $app);
$bind = [
Expand All @@ -31,10 +32,16 @@ public static function getRulesByModelAndType(
];

//if it has a company reference m
if (isset($model->companies)
&& $model->companies instanceof CompanyInterface
) {
$bind['companies_id'] = $model->companies->getId();
$companyId = null;

if ($company) {
$companyId = $company->getId();
} elseif (isset($model->companies) && $model->companies instanceof CompanyInterface) {
$companyId = $model->companies->getId();
}

if ($companyId !== null) {
$bind['companies_id'] = $companyId;
}

return Rule::where('systems_modules_id', $bind['systems_module_id'])
Expand Down
2 changes: 1 addition & 1 deletion src/Kanvas/Enums/AppEnums.php
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ public function getValue(): mixed
self::KANVAS_APP_BRANCH_HEADER => 'X-Kanvas-Location',
self::KANVAS_APP_COMPANY_AUTH_HEADER => 'Company-Authorization', //@deprecated
self::DISPLAYNAME_LOGIN => 'displayname_login',
self::VERSION => '1.0-BETA-19',
self::VERSION => '1.0-BETA-20',
self::ANONYMOUS_USER_ID => -1
};
}
Expand Down

0 comments on commit 7c84eae

Please sign in to comment.