Add File based templates

This commit is contained in:
gohil jayvirsinh
2021-06-19 12:11:21 +00:00
committed by Mohit Panjwani
parent 00961bcae1
commit d1dd704cdf
58 changed files with 277 additions and 382 deletions

View File

@ -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([

View File

@ -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
]);
}
}

View File

@ -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',

View File

@ -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',

View File

@ -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);

View File

@ -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,

View File

@ -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',
]);

View File

@ -54,8 +54,8 @@ class EstimatesRequest extends FormRequest
'tax' => [
'required',
],
'estimate_template_id' => [
'required',
'template_name' => [
'required'
],
'items' => [
'required',

View File

@ -54,8 +54,8 @@ class InvoicesRequest extends FormRequest
'tax' => [
'required',
],
'invoice_template_id' => [
'required',
'template_name' => [
'required'
],
'items' => [
'required',