Fixed local_secure_restricted preventing attachment uploads

Due to option name change and therefore lack of handling.
Added test case to cover.
This commit is contained in:
Dan Brown 2022-09-02 14:40:17 +01:00
parent 092b6d6378
commit c76b5e2ec4
No known key found for this signature in database
GPG Key ID: 46D9F943C24A2EF9
2 changed files with 16 additions and 1 deletions

View File

@ -41,7 +41,7 @@ class AttachmentService
// Change to our secure-attachment disk if any of the local options
// are used to prevent escaping that location.
if ($storageType === 'local' || $storageType === 'local_secure' || $storageType === 'local_secure_with_permissions') {
if ($storageType === 'local' || $storageType === 'local_secure' || $storageType === 'local_secure_restricted') {
$storageType = 'local_secure_attachments';
}

View File

@ -341,4 +341,19 @@ class AttachmentTest extends TestCase
$this->deleteUploads();
}
public function test_file_upload_works_when_local_secure_restricted_is_in_use()
{
config()->set('filesystems.attachments', 'local_secure_restricted');
$page = Page::query()->first();
$fileName = 'upload_test_file.txt';
$upload = $this->asAdmin()->uploadFile($fileName, $page->id);
$upload->assertStatus(200);
$attachment = Attachment::query()->orderBy('id', 'desc')->where('uploaded_to', '=', $page->id)->first();
$this->assertFileExists(storage_path($attachment->path));
$this->deleteUploads();
}
}