mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-24 02:14:21 -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());
|
||||
}
|
||||
|
||||
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::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::post('companies/{company}/default', [CompanyController::class, 'default']);
|
||||
Route::post('companies/updateOriginTaxData/{company}', [CompanyController::class, 'updateOriginTaxData'])->middleware('throttle:3,1');
|
||||
|
@ -34,6 +34,8 @@ class CompanyTest extends TestCase
|
||||
use MockAccountData;
|
||||
use DatabaseTransactions;
|
||||
|
||||
public $faker;
|
||||
|
||||
protected function setUp() :void
|
||||
{
|
||||
parent::setUp();
|
||||
@ -47,6 +49,19 @@ class CompanyTest extends TestCase
|
||||
$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()
|
||||
{
|
||||
$company_update = [
|
||||
@ -56,9 +71,9 @@ class CompanyTest extends TestCase
|
||||
$response = $this->withHeaders([
|
||||
'X-API-SECRET' => config('ninja.api_secret'),
|
||||
'X-API-TOKEN' => $this->token,
|
||||
])->putJson('/api/v1/companies/'.$this->encodePrimaryKey($this->company->id), $company_update)
|
||||
->assertStatus(200);
|
||||
])->putJson('/api/v1/companies/'.$this->encodePrimaryKey($this->company->id), $company_update);
|
||||
|
||||
$response->assertStatus(200);
|
||||
|
||||
$arr = $response->json();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user