Date: Sun, 1 May 2022 12:56:25 +0200
Subject: [PATCH 20/26] Update README.md
---
README.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/README.md b/README.md
index f4d28288..95fb7c60 100644
--- a/README.md
+++ b/README.md
@@ -3,7 +3,7 @@
-
+
From a1c34421488b8eb4c5776cbf457f0719c79d742e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20=C5=A0tancl?=
Date: Sun, 15 May 2022 13:32:09 +0200
Subject: [PATCH 21/26] Resolve #854
---
src/Database/Concerns/BelongsToTenant.php | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/Database/Concerns/BelongsToTenant.php b/src/Database/Concerns/BelongsToTenant.php
index 5410758d..fc899411 100644
--- a/src/Database/Concerns/BelongsToTenant.php
+++ b/src/Database/Concerns/BelongsToTenant.php
@@ -16,7 +16,7 @@ trait BelongsToTenant
public function tenant()
{
- return $this->belongsTo(config('tenancy.tenant_model'), BelongsToTenant::$tenantIdColumn);
+ return $this->belongsTo(config('tenancy.tenant_model'), static::$tenantIdColumn);
}
public static function bootBelongsToTenant()
@@ -24,9 +24,9 @@ trait BelongsToTenant
static::addGlobalScope(new TenantScope);
static::creating(function ($model) {
- if (! $model->getAttribute(BelongsToTenant::$tenantIdColumn) && ! $model->relationLoaded('tenant')) {
+ if (! $model->getAttribute(static::$tenantIdColumn) && ! $model->relationLoaded('tenant')) {
if (tenancy()->initialized) {
- $model->setAttribute(BelongsToTenant::$tenantIdColumn, tenant()->getTenantKey());
+ $model->setAttribute(static::$tenantIdColumn, tenant()->getTenantKey());
$model->setRelation('tenant', tenant());
}
}
From 4d95e88e272d5c3f4beebd10a8e549d17259a079 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20=C5=A0tancl?=
Date: Sun, 15 May 2022 13:45:54 +0200
Subject: [PATCH 22/26] Revert "Resolve #854"
This reverts commit a1c34421488b8eb4c5776cbf457f0719c79d742e.
---
src/Database/Concerns/BelongsToTenant.php | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/Database/Concerns/BelongsToTenant.php b/src/Database/Concerns/BelongsToTenant.php
index fc899411..5410758d 100644
--- a/src/Database/Concerns/BelongsToTenant.php
+++ b/src/Database/Concerns/BelongsToTenant.php
@@ -16,7 +16,7 @@ trait BelongsToTenant
public function tenant()
{
- return $this->belongsTo(config('tenancy.tenant_model'), static::$tenantIdColumn);
+ return $this->belongsTo(config('tenancy.tenant_model'), BelongsToTenant::$tenantIdColumn);
}
public static function bootBelongsToTenant()
@@ -24,9 +24,9 @@ trait BelongsToTenant
static::addGlobalScope(new TenantScope);
static::creating(function ($model) {
- if (! $model->getAttribute(static::$tenantIdColumn) && ! $model->relationLoaded('tenant')) {
+ if (! $model->getAttribute(BelongsToTenant::$tenantIdColumn) && ! $model->relationLoaded('tenant')) {
if (tenancy()->initialized) {
- $model->setAttribute(static::$tenantIdColumn, tenant()->getTenantKey());
+ $model->setAttribute(BelongsToTenant::$tenantIdColumn, tenant()->getTenantKey());
$model->setRelation('tenant', tenant());
}
}
From 51228defc68a6362e31f486a04e3117105abf3e0 Mon Sep 17 00:00:00 2001
From: Vincent GS
Date: Thu, 26 May 2022 04:51:27 -0500
Subject: [PATCH 23/26] [3.x][Filesystem] Provide an additional argument for
tenant name path (#817)
* Let the user pass the tenant suffix by %tenant%
In this PR we let the user pass an additional parameter using `%tenant%` so the user can additionally pass the folder corresponding to each tenant.
This is my proposal, because if I try to use %storage_path% within Linux, I get the full path to the project when I use Google Cloud Storage
* Missing missing updates
Moving from $subject to $root when %storage_path% has been replaced
---
src/Bootstrappers/FilesystemTenancyBootstrapper.php | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/src/Bootstrappers/FilesystemTenancyBootstrapper.php b/src/Bootstrappers/FilesystemTenancyBootstrapper.php
index da1e5e2a..346892b3 100644
--- a/src/Bootstrappers/FilesystemTenancyBootstrapper.php
+++ b/src/Bootstrappers/FilesystemTenancyBootstrapper.php
@@ -5,7 +5,6 @@ declare(strict_types=1);
namespace Stancl\Tenancy\Bootstrappers;
use Illuminate\Contracts\Foundation\Application;
-use Illuminate\Filesystem\FilesystemAdapter;
use Illuminate\Support\Facades\Storage;
use Stancl\Tenancy\Contracts\TenancyBootstrapper;
use Stancl\Tenancy\Contracts\Tenant;
@@ -61,8 +60,8 @@ class FilesystemTenancyBootstrapper implements TenancyBootstrapper
$this->originalPaths['disks'][$disk] = $originalRoot;
$finalPrefix = str_replace(
- '%storage_path%',
- storage_path(),
+ ['%storage_path%', '%tenant%'],
+ [storage_path(), $tenant->getTenantKey()],
$this->app['config']["tenancy.filesystem.root_override.{$disk}"] ?? '',
);
From db9480f54e98b33ca967bbe3f791c314e772386b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Samuel=20=C5=A0tancl?=
Date: Wed, 1 Jun 2022 15:35:39 +0200
Subject: [PATCH 24/26] exclude master from CI
---
.github/workflows/ci.yml | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index cc8ad985..ed8ff9ac 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -5,9 +5,9 @@ env:
on:
push:
- branches: [ 3.x, 2.x, master ]
+ branches: [ 3.x, 2.x ]
pull_request:
- branches: [ 3.x, 2.x, master ]
+ branches: [ 3.x, 2.x ]
jobs:
tests:
From ba928100e6431ea0e5b770ba781d3eabbf240c9c Mon Sep 17 00:00:00 2001
From: lukinovec
Date: Tue, 19 Jul 2022 16:11:47 +0200
Subject: [PATCH 25/26] Add space after 'up' in 'docker-compose up-d' (#900)
---
CONTRIBUTING.md | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index a5a6ec3f..b4c862c1 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -21,4 +21,4 @@ services:
platform: linux/amd64
```
-to `docker-compose.override.yml` to make `docker-compose up-d` work on M1.
+to `docker-compose.override.yml` to make `docker-compose up -d` work on M1.
From 747c192979aa03907824e5481edb6b152edc3462 Mon Sep 17 00:00:00 2001
From: Bram Wubs
Date: Wed, 20 Jul 2022 21:35:33 +0200
Subject: [PATCH 26/26] Fix ArgumentCountError on the TenantAssetsController
(#894)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* Fix ArgumentCount exception on the TenantAssetsController when no `$path` is provided
* CS
* CS
* Handle null case explicitly
* code style
Co-authored-by: Bram Wubs
Co-authored-by: Samuel Štancl
---
src/Controllers/TenantAssetsController.php | 7 +++++--
tests/TenantAssetTest.php | 15 +++++++++++++++
2 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/src/Controllers/TenantAssetsController.php b/src/Controllers/TenantAssetsController.php
index 67478cf9..5549da0d 100644
--- a/src/Controllers/TenantAssetsController.php
+++ b/src/Controllers/TenantAssetsController.php
@@ -5,6 +5,7 @@ declare(strict_types=1);
namespace Stancl\Tenancy\Controllers;
use Illuminate\Routing\Controller;
+use Throwable;
class TenantAssetsController extends Controller
{
@@ -15,11 +16,13 @@ class TenantAssetsController extends Controller
$this->middleware(static::$tenancyMiddleware);
}
- public function asset($path)
+ public function asset($path = null)
{
+ abort_if($path === null, 404);
+
try {
return response()->file(storage_path("app/public/$path"));
- } catch (\Throwable $th) {
+ } catch (Throwable $th) {
abort(404);
}
}
diff --git a/tests/TenantAssetTest.php b/tests/TenantAssetTest.php
index 77a130b4..703ac65e 100644
--- a/tests/TenantAssetTest.php
+++ b/tests/TenantAssetTest.php
@@ -126,4 +126,19 @@ class TenantAssetTest extends TestCase
$this->assertSame($original, asset('foo'));
}
+
+ public function test_asset_controller_returns_a_404_when_no_path_is_provided()
+ {
+ TenantAssetsController::$tenancyMiddleware = InitializeTenancyByRequestData::class;
+
+ $tenant = Tenant::create();
+
+ tenancy()->initialize($tenant);
+ $response = $this->get(tenant_asset(null), [
+ 'X-Tenant' => $tenant->id,
+ ]);
+
+ $response->assertNotFound();
+ }
+
}