mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-31 12:04:35 -04:00
Add inline logo option
This commit is contained in:
parent
2012e0dd5e
commit
8ff3c91930
@ -697,4 +697,19 @@ class CompanyController extends BaseController
|
|||||||
|
|
||||||
return $this->itemResponse($company->fresh());
|
return $this->itemResponse($company->fresh());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function logo()
|
||||||
|
{
|
||||||
|
|
||||||
|
/** @var \App\Models\User $user */
|
||||||
|
$user = auth()->user();
|
||||||
|
$company = $user->company();
|
||||||
|
$logo = strlen($company->settings->company_logo) > 5 ? $company->settings->company_logo : 'https://pdf.invoicing.co/favicon-v2.png';
|
||||||
|
$headers = ['Content-Disposition' => 'inline'];
|
||||||
|
|
||||||
|
return response()->streamDownload(function () use ($logo){
|
||||||
|
echo @file_get_contents($logo);
|
||||||
|
}, 'logo.png', $headers);
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -177,6 +177,7 @@ Route::group(['middleware' => ['throttle:api', 'api_db', 'token_auth', 'locale']
|
|||||||
Route::post('companies/purge_save_settings/{company}', [MigrationController::class, 'purgeCompanySaveSettings'])->middleware('password_protected');
|
Route::post('companies/purge_save_settings/{company}', [MigrationController::class, 'purgeCompanySaveSettings'])->middleware('password_protected');
|
||||||
Route::resource('companies', CompanyController::class); // name = (companies. index / create / show / update / destroy / edit
|
Route::resource('companies', CompanyController::class); // name = (companies. index / create / show / update / destroy / edit
|
||||||
|
|
||||||
|
Route::post('companies/{company}/logo', [CompanyController::class, 'logo']);
|
||||||
Route::put('companies/{company}/upload', [CompanyController::class, 'upload']);
|
Route::put('companies/{company}/upload', [CompanyController::class, 'upload']);
|
||||||
Route::post('companies/{company}/default', [CompanyController::class, 'default']);
|
Route::post('companies/{company}/default', [CompanyController::class, 'default']);
|
||||||
Route::post('companies/updateOriginTaxData/{company}', [CompanyController::class, 'updateOriginTaxData'])->middleware('throttle:3,1');
|
Route::post('companies/updateOriginTaxData/{company}', [CompanyController::class, 'updateOriginTaxData'])->middleware('throttle:3,1');
|
||||||
|
@ -34,6 +34,8 @@ class CompanyTest extends TestCase
|
|||||||
use MockAccountData;
|
use MockAccountData;
|
||||||
use DatabaseTransactions;
|
use DatabaseTransactions;
|
||||||
|
|
||||||
|
public $faker;
|
||||||
|
|
||||||
protected function setUp() :void
|
protected function setUp() :void
|
||||||
{
|
{
|
||||||
parent::setUp();
|
parent::setUp();
|
||||||
@ -47,6 +49,19 @@ class CompanyTest extends TestCase
|
|||||||
$this->makeTestData();
|
$this->makeTestData();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public function testCompanyLogoInline()
|
||||||
|
{
|
||||||
|
$response = $this->withHeaders([
|
||||||
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
|
'X-API-TOKEN' => $this->token,
|
||||||
|
])->postJson("/api/v1/companies/{$this->company->hashed_id}/logo");
|
||||||
|
|
||||||
|
$response->assertStatus(200);
|
||||||
|
$response->streamedContent();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public function testUpdateCompanyPropertyInvoiceTaskHours()
|
public function testUpdateCompanyPropertyInvoiceTaskHours()
|
||||||
{
|
{
|
||||||
$company_update = [
|
$company_update = [
|
||||||
@ -56,9 +71,9 @@ class CompanyTest extends TestCase
|
|||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
'X-API-SECRET' => config('ninja.api_secret'),
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
'X-API-TOKEN' => $this->token,
|
'X-API-TOKEN' => $this->token,
|
||||||
])->putJson('/api/v1/companies/'.$this->encodePrimaryKey($this->company->id), $company_update)
|
])->putJson('/api/v1/companies/'.$this->encodePrimaryKey($this->company->id), $company_update);
|
||||||
->assertStatus(200);
|
|
||||||
|
|
||||||
|
$response->assertStatus(200);
|
||||||
|
|
||||||
$arr = $response->json();
|
$arr = $response->json();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user