mirror of
https://github.com/crater-invoice/crater.git
synced 2025-10-27 11:41:09 -04:00
Add File based templates
This commit is contained in:
committed by
Mohit Panjwani
parent
00961bcae1
commit
d1dd704cdf
@ -21,7 +21,7 @@ class ConvertEstimateController extends Controller
|
||||
*/
|
||||
public function __invoke(Request $request, Estimate $estimate)
|
||||
{
|
||||
$estimate->load(['items', 'items.taxes', 'user', 'estimateTemplate', 'taxes']);
|
||||
$estimate->load(['items', 'items.taxes', 'user', 'taxes']);
|
||||
|
||||
$invoice_date = Carbon::now();
|
||||
$due_date = Carbon::now()->addDays(7);
|
||||
@ -39,7 +39,7 @@ class ConvertEstimateController extends Controller
|
||||
'reference_number' => $estimate->reference_number,
|
||||
'user_id' => $estimate->user_id,
|
||||
'company_id' => $request->header('company'),
|
||||
'invoice_template_id' => 1,
|
||||
'template_name' => 'invoice1',
|
||||
'status' => Invoice::STATUS_DRAFT,
|
||||
'paid_status' => Invoice::STATUS_UNPAID,
|
||||
'sub_total' => $estimate->sub_total,
|
||||
@ -84,8 +84,7 @@ class ConvertEstimateController extends Controller
|
||||
$invoice = Invoice::with([
|
||||
'items',
|
||||
'user',
|
||||
'invoiceTemplate',
|
||||
'taxes',
|
||||
'taxes'
|
||||
])->find($invoice->id);
|
||||
|
||||
return response()->json([
|
||||
|
||||
@ -5,6 +5,8 @@ namespace Crater\Http\Controllers\V1\Estimate;
|
||||
use Crater\Http\Controllers\Controller;
|
||||
use Crater\Models\EstimateTemplate;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
class EstimateTemplatesController extends Controller
|
||||
{
|
||||
@ -16,8 +18,17 @@ class EstimateTemplatesController extends Controller
|
||||
*/
|
||||
public function __invoke(Request $request)
|
||||
{
|
||||
$templates = Storage::disk('views')->files('/app/pdf/estimate');
|
||||
$estimateTemplates = [];
|
||||
|
||||
foreach ($templates as $key => $template) {
|
||||
$templateName = Str::before(basename($template), '.blade.php');
|
||||
$estimateTemplates[$key]['name'] = $templateName;
|
||||
$estimateTemplates[$key]['path'] = asset('assets/img/PDF/'.$templateName.'.png');
|
||||
}
|
||||
|
||||
return response()->json([
|
||||
'templates' => EstimateTemplate::all(),
|
||||
'templates' => $estimateTemplates
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@ -18,7 +18,6 @@ class EstimatesController extends Controller
|
||||
$estimates = Estimate::with([
|
||||
'items',
|
||||
'user',
|
||||
'estimateTemplate',
|
||||
'taxes',
|
||||
'creator',
|
||||
])
|
||||
@ -68,7 +67,6 @@ class EstimatesController extends Controller
|
||||
'items',
|
||||
'items.taxes',
|
||||
'user',
|
||||
'estimateTemplate',
|
||||
'creator',
|
||||
'taxes',
|
||||
'taxes.taxType',
|
||||
|
||||
@ -21,7 +21,9 @@ class BootstrapController extends Controller
|
||||
{
|
||||
$user = Auth::user();
|
||||
|
||||
$default_language = $user->getSettings(['language'])['language'];
|
||||
$default_language = $user->getSettings(['language']);
|
||||
|
||||
$default_language = array_key_exists('language', $default_language) ? $default_language['language'] : 'en';
|
||||
|
||||
$settings = [
|
||||
'moment_date_format',
|
||||
|
||||
@ -32,7 +32,7 @@ class CloneInvoiceController extends Controller
|
||||
'reference_number' => $invoice->reference_number,
|
||||
'user_id' => $invoice->user_id,
|
||||
'company_id' => $request->header('company'),
|
||||
'invoice_template_id' => $invoice->invoice_template_id,
|
||||
'template_name' => 'invoice1',
|
||||
'status' => Invoice::STATUS_DRAFT,
|
||||
'paid_status' => Invoice::STATUS_UNPAID,
|
||||
'sub_total' => $invoice->sub_total,
|
||||
@ -78,8 +78,7 @@ class CloneInvoiceController extends Controller
|
||||
$newInvoice = Invoice::with([
|
||||
'items',
|
||||
'user',
|
||||
'invoiceTemplate',
|
||||
'taxes',
|
||||
'taxes'
|
||||
])
|
||||
->find($newInvoice->id);
|
||||
|
||||
|
||||
@ -3,7 +3,8 @@
|
||||
namespace Crater\Http\Controllers\V1\Invoice;
|
||||
|
||||
use Crater\Http\Controllers\Controller;
|
||||
use Crater\Models\InvoiceTemplate;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Illuminate\Support\Str;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class InvoiceTemplatesController extends Controller
|
||||
@ -16,7 +17,14 @@ class InvoiceTemplatesController extends Controller
|
||||
*/
|
||||
public function __invoke(Request $request)
|
||||
{
|
||||
$invoiceTemplates = InvoiceTemplate::all();
|
||||
$templates = Storage::disk('views')->files('/app/pdf/invoice');
|
||||
$invoiceTemplates = [];
|
||||
|
||||
foreach ($templates as $key => $template) {
|
||||
$templateName = Str::before(basename($template), '.blade.php');
|
||||
$invoiceTemplates[$key]['name'] = $templateName;
|
||||
$invoiceTemplates[$key]['path'] = asset('assets/img/PDF/'.$templateName.'.png');
|
||||
}
|
||||
|
||||
return response()->json([
|
||||
'invoiceTemplates' => $invoiceTemplates,
|
||||
|
||||
@ -20,7 +20,7 @@ class InvoicesController extends Controller
|
||||
{
|
||||
$limit = $request->has('limit') ? $request->limit : 10;
|
||||
|
||||
$invoices = Invoice::with(['items', 'user', 'creator', 'invoiceTemplate', 'taxes'])
|
||||
$invoices = Invoice::with(['items', 'user', 'creator', 'taxes'])
|
||||
->join('users', 'users.id', '=', 'invoices.user_id')
|
||||
->applyFilters($request->only([
|
||||
'status',
|
||||
@ -78,7 +78,6 @@ class InvoicesController extends Controller
|
||||
'items',
|
||||
'items.taxes',
|
||||
'user',
|
||||
'invoiceTemplate',
|
||||
'taxes.taxType',
|
||||
'fields.customField',
|
||||
]);
|
||||
|
||||
@ -54,8 +54,8 @@ class EstimatesRequest extends FormRequest
|
||||
'tax' => [
|
||||
'required',
|
||||
],
|
||||
'estimate_template_id' => [
|
||||
'required',
|
||||
'template_name' => [
|
||||
'required'
|
||||
],
|
||||
'items' => [
|
||||
'required',
|
||||
|
||||
@ -54,8 +54,8 @@ class InvoicesRequest extends FormRequest
|
||||
'tax' => [
|
||||
'required',
|
||||
],
|
||||
'invoice_template_id' => [
|
||||
'required',
|
||||
'template_name' => [
|
||||
'required'
|
||||
],
|
||||
'items' => [
|
||||
'required',
|
||||
|
||||
Reference in New Issue
Block a user