From: Vincent Vanwaelscappel Date: Tue, 16 Jun 2020 13:28:04 +0000 (+0200) Subject: wip #3711 @1.5 X-Git-Url: http://git.cubedesigners.com/?a=commitdiff_plain;h=0f19fb402f186aa54fc9572389618f7c597d35e1;p=cubedesigners_userdatabase.git wip #3711 @1.5 --- diff --git a/composer.json b/composer.json index 6b4781f..e00443b 100644 --- a/composer.json +++ b/composer.json @@ -13,7 +13,7 @@ ], "autoload": { "psr-0": { - "Cubedesigners\\Userdatabase\\": "src" + "Cubedesigners\\UserDatabase\\": "src" } }, "authors": [ diff --git a/src/Address.php b/src/Address.php index 37e0ea6..ddd1eb5 100644 --- a/src/Address.php +++ b/src/Address.php @@ -1,7 +1,7 @@ company])) { + self::$_companyUsers[$user->company] = []; + } + + self::$_companyUsers[$user->company][] = $user->id; + self::$_usersCompany[$user->id] = $user->company; + } + + foreach (Company::all() as $company) { + $adminCompany = self::getCompanyByUser($company->admin); + if ($company->id !== $adminCompany) { + self::$_companyManagedBy[$company->id] = [$adminCompany]; + } + } + + for ($i = 0; $i <= 3; $i++) { + foreach (self::$_companyManagedBy as $company => $admins) { + foreach ($admins as $admin) { + if (isset(self::$_companyManagedBy[$admin])) { + self::$_companyManagedBy[$company] = array_unique(array_merge(self::$_companyManagedBy[$admin], self::$_companyManagedBy[$company]), SORT_REGULAR); + } + } + } + } + + dd(self::$_companyManagedBy); + + + } + + /** + * @param integer $company + * @return array + */ + public static function getUsersByCompany($company) + { + self::_getData(); + return self::$_companyUsers[$company]; + } + + /** + * @param integer $user + * @return integer + */ + public static function getCompanyByUser($user) + { + self::_getData(); + return self::$_usersCompany[$user]; + } + + /** + * @param integer $user + * @return array + */ + public static function getWorkmates($user) + { + return self::getUsersByCompany(self::getCompanyByUser($user)); + } +} diff --git a/src/User.php b/src/User.php index dd22cab..9f4e0f2 100644 --- a/src/User.php +++ b/src/User.php @@ -1,6 +1,6 @@