mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-31 12:34:35 -04:00
Add download route for quote pdf
This commit is contained in:
parent
4c12e023e4
commit
be03714aa4
@ -782,6 +782,11 @@ class QuoteController extends BaseController
|
|||||||
public function downloadPdf($invitation_key)
|
public function downloadPdf($invitation_key)
|
||||||
{
|
{
|
||||||
$invitation = $this->quote_repo->getInvitationByKey($invitation_key);
|
$invitation = $this->quote_repo->getInvitationByKey($invitation_key);
|
||||||
|
|
||||||
|
if (! $invitation) {
|
||||||
|
return response()->json(['message' => 'no record found'], 400);
|
||||||
|
}
|
||||||
|
|
||||||
$contact = $invitation->contact;
|
$contact = $invitation->contact;
|
||||||
$quote = $invitation->quote;
|
$quote = $invitation->quote;
|
||||||
|
|
||||||
|
@ -245,6 +245,7 @@ Route::group(['middleware' => ['throttle:300,1', 'api_db', 'token_auth', 'locale
|
|||||||
Route::get('quotes/{quote}/{action}', [QuoteController::class, 'action'])->name('quotes.action');
|
Route::get('quotes/{quote}/{action}', [QuoteController::class, 'action'])->name('quotes.action');
|
||||||
Route::post('quotes/bulk', [QuoteController::class, 'bulk'])->name('quotes.bulk');
|
Route::post('quotes/bulk', [QuoteController::class, 'bulk'])->name('quotes.bulk');
|
||||||
Route::put('quotes/{quote}/upload', [QuoteController::class, 'upload']);
|
Route::put('quotes/{quote}/upload', [QuoteController::class, 'upload']);
|
||||||
|
Route::get('quote/{invitation_key}/download', [QuoteController::class, 'downloadPdf'])->name('quotes.downloadPdf');
|
||||||
|
|
||||||
Route::resource('recurring_expenses', RecurringExpenseController::class);
|
Route::resource('recurring_expenses', RecurringExpenseController::class);
|
||||||
Route::post('recurring_expenses/bulk', [RecurringExpenseController::class, 'bulk'])->name('recurring_expenses.bulk');
|
Route::post('recurring_expenses/bulk', [RecurringExpenseController::class, 'bulk'])->name('recurring_expenses.bulk');
|
||||||
|
@ -50,6 +50,20 @@ class QuoteTest extends TestCase
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testQuoteDownloadPDF()
|
||||||
|
{
|
||||||
|
$i = $this->quote->invitations->first();
|
||||||
|
|
||||||
|
$response = $this->withHeaders([
|
||||||
|
'X-API-SECRET' => config('ninja.api_secret'),
|
||||||
|
'X-API-TOKEN' => $this->token,
|
||||||
|
])->get("/api/v1/quote/{$i->key}/download");
|
||||||
|
|
||||||
|
$response->assertStatus(200);
|
||||||
|
$this->assertTrue($response->headers->get('content-type') == 'application/pdf');
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public function testQuoteListApproved()
|
public function testQuoteListApproved()
|
||||||
{
|
{
|
||||||
$response = $this->withHeaders([
|
$response = $this->withHeaders([
|
||||||
|
Loading…
x
Reference in New Issue
Block a user