mirror of
https://github.com/archtechx/tenancy.git
synced 2025-12-12 15:54:03 +00:00
Update path identification and Fortify integration-related logic (#13)
* Add commented UrlBinding + FortifyRouteTenancy bootstrappers to the config * Improve FortifyRoute bootstrapper docblock * Rename bootstrappers * Complete renaming * Pass defaults of the original URL generator to the new one * Fix URL generator-related test (query string id test WIP) * Fix code style (php-cs-fixer) * Make Fortify bootstrapper not depend on the UrlGenerator bootstrapper, update comments * Fix testing UrlGenerator bootstrapper * Update TenancyUrlGenerator annotations * Pass tenant parameter manually in Fortify bootstrapper * Properly test TenancyUrlGenerator functionality * Get rid of query string in Fortify bootstrapper * Fix code style (php-cs-fixer) * Delete outdated comment * Improve comment * Improve before/afterEach * Encourage passing parameters using TenancyUrlGenerator instead of URL::defaults() * Delete rest of defaulting logic * Fix code style (php-cs-fixer) * Delete test group * Update ForgetTenantParameter docblock * Update passTenantParameterToRoutes annotation * Complete todo in test * Improve test * Update comment * Improve comment * Add keepQueryParameters bool to Fortify bootstrapper * Test keepQueryParameters * minor docblock update * minor docblock changes * Delete extra import * Update src/Overrides/TenancyUrlGenerator.php Co-authored-by: Samuel Štancl <samuel.stancl@gmail.com> * Improve comment * Rename test * Update bypass parameter-related test comments * Fix merge * Rename $keepQueryParameters * Add docblock * Add comment * Refactor Fortify bootstrapper * Fix code style (php-cs-fixer) * Fix comment * Skip Fortify bootstrapper test * minor code improvements * Improve fortify bootstrapper test * Add Fortify bootstrapper annotation, improve code * Fix code style (php-cs-fixer) * Add commenet * Complete resource syncing todo (cleanup not needed) * Delete incorrect namespace * Complete route context trait name todo * Fix code style (php-cs-fixer) --------- Co-authored-by: PHP CS Fixer <phpcsfixer@example.com> Co-authored-by: Samuel Štancl <samuel.stancl@gmail.com>
This commit is contained in:
parent
c043661318
commit
4953c69fd8
16 changed files with 255 additions and 141 deletions
|
|
@ -11,12 +11,13 @@ use Stancl\Tenancy\PathIdentificationManager;
|
|||
/**
|
||||
* Remove the tenant parameter from the matched route when path identification is used globally.
|
||||
*
|
||||
* The tenant parameter gets forgotten using PathTenantResolver so that the route actions don't have to accept it.
|
||||
* Then, tenancy gets initialized, and URL::defaults() is used to give the tenant parameter to the next matched route.
|
||||
* But with kernel identification, the route gets matched AFTER the point when URL::defaults() is used,
|
||||
* and because of that, the matched route gets the tenant parameter again, so we forget the parameter again on RouteMatched.
|
||||
* While initializing tenancy, we forget the tenant parameter (in PathTenantResolver),
|
||||
* so that the route actions don't have to accept it.
|
||||
*
|
||||
* We remove the {tenant} parameter from the hydrated route when
|
||||
* With kernel identification, tenancy gets initialized before the route gets matched.
|
||||
* The matched route gets the tenant parameter again, so we have to forget the parameter again on RouteMatched.
|
||||
*
|
||||
* We remove the {tenant} parameter from the matched route when
|
||||
* 1) the InitializeTenancyByPath middleware is in the global stack, AND
|
||||
* 2) the matched route does not have identification middleware (so that {tenant} isn't forgotten when using route-level identification), AND
|
||||
* 3) the route isn't in the central context (so that {tenant} doesn't get accidentally removed from central routes).
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue