mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-07 15:24:29 -04:00
Proposals
This commit is contained in:
parent
0658b77e71
commit
c9933331ec
@ -58,19 +58,15 @@ class ProposalController extends BaseController
|
|||||||
|
|
||||||
public function create(ProposalRequest $request)
|
public function create(ProposalRequest $request)
|
||||||
{
|
{
|
||||||
$account = auth()->user()->account;
|
$data = array_merge($this->getViewmodel(), [
|
||||||
|
|
||||||
$data = [
|
|
||||||
'account' => $account,
|
|
||||||
'proposal' => null,
|
'proposal' => null,
|
||||||
'method' => 'POST',
|
'method' => 'POST',
|
||||||
'url' => 'proposals',
|
'url' => 'proposals',
|
||||||
'title' => trans('texts.new_proposal'),
|
'title' => trans('texts.new_proposal'),
|
||||||
'invoices' => Invoice::scope()->with('client.contacts', 'client.country')->unapprovedQuotes()->orderBy('id')->get(),
|
'invoices' => Invoice::scope()->with('client.contacts', 'client.country')->unapprovedQuotes()->orderBy('id')->get(),
|
||||||
'templates' => ProposalTemplate::whereAccountId($account->id)->orWhereNull('account_id')->orderBy('name')->get(),
|
|
||||||
'invoicePublicId' => $request->invoice_id,
|
'invoicePublicId' => $request->invoice_id,
|
||||||
'templatePublicId' => $request->proposal_template_id,
|
'templatePublicId' => $request->proposal_template_id,
|
||||||
];
|
]);
|
||||||
|
|
||||||
return View::make('proposals.edit', $data);
|
return View::make('proposals.edit', $data);
|
||||||
}
|
}
|
||||||
@ -84,24 +80,38 @@ class ProposalController extends BaseController
|
|||||||
|
|
||||||
public function edit(ProposalRequest $request)
|
public function edit(ProposalRequest $request)
|
||||||
{
|
{
|
||||||
$account = auth()->user()->account;
|
|
||||||
$proposal = $request->entity();
|
$proposal = $request->entity();
|
||||||
|
|
||||||
$data = [
|
$data = array_merge($this->getViewmodel(), [
|
||||||
'account' => $account,
|
|
||||||
'proposal' => $proposal,
|
'proposal' => $proposal,
|
||||||
'method' => 'PUT',
|
'method' => 'PUT',
|
||||||
'url' => 'proposals/' . $proposal->public_id,
|
'url' => 'proposals/' . $proposal->public_id,
|
||||||
'title' => trans('texts.edit_proposal'),
|
'title' => trans('texts.edit_proposal'),
|
||||||
'invoices' => Invoice::scope()->with('client.contacts', 'client.country')->unapprovedQuotes($proposal->invoice_id)->orderBy('id')->get(),
|
'invoices' => Invoice::scope()->with('client.contacts', 'client.country')->unapprovedQuotes($proposal->invoice_id)->orderBy('id')->get(),
|
||||||
'templates' => ProposalTemplate::whereAccountId($account->id)->orWhereNull('account_id')->orderBy('name')->get(),
|
|
||||||
'invoicePublicId' => $proposal->invoice ? $proposal->invoice->public_id : null,
|
'invoicePublicId' => $proposal->invoice ? $proposal->invoice->public_id : null,
|
||||||
'templatePublicId' => $proposal->proposal_template ? $proposal->proposal_template->public_id : null,
|
'templatePublicId' => $proposal->proposal_template ? $proposal->proposal_template->public_id : null,
|
||||||
];
|
]);
|
||||||
|
|
||||||
return View::make('proposals.edit', $data);
|
return View::make('proposals.edit', $data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private function getViewmodel()
|
||||||
|
{
|
||||||
|
$account = auth()->user()->account;
|
||||||
|
$templates = ProposalTemplate::whereAccountId($account->id)->orderBy('name')->get();
|
||||||
|
|
||||||
|
if (! $templates->count()) {
|
||||||
|
$templates = ProposalTemplate::whereNull('account_id')->orderBy('name')->get();
|
||||||
|
}
|
||||||
|
|
||||||
|
$data = [
|
||||||
|
'templates' => $templates,
|
||||||
|
'account' => $account,
|
||||||
|
];
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
}
|
||||||
|
|
||||||
public function store(CreateProposalRequest $request)
|
public function store(CreateProposalRequest $request)
|
||||||
{
|
{
|
||||||
$proposal = $this->proposalService->save($request->input());
|
$proposal = $this->proposalService->save($request->input());
|
||||||
|
@ -2677,6 +2677,7 @@ $LANG = array(
|
|||||||
'archived_proposals' => 'Successfully archived :count proposals',
|
'archived_proposals' => 'Successfully archived :count proposals',
|
||||||
'deleted_proposals' => 'Successfully archived :count proposals',
|
'deleted_proposals' => 'Successfully archived :count proposals',
|
||||||
'restored_proposal' => 'Successfully restored proposal',
|
'restored_proposal' => 'Successfully restored proposal',
|
||||||
|
'restore_proposal' => 'Restore Proposal',
|
||||||
'snippet' => 'Snippet',
|
'snippet' => 'Snippet',
|
||||||
'snippets' => 'Snippets',
|
'snippets' => 'Snippets',
|
||||||
'proposal_snippet' => 'Snippet',
|
'proposal_snippet' => 'Snippet',
|
||||||
@ -2693,6 +2694,7 @@ $LANG = array(
|
|||||||
'archived_proposal_snippets' => 'Successfully archived :count snippets',
|
'archived_proposal_snippets' => 'Successfully archived :count snippets',
|
||||||
'deleted_proposal_snippets' => 'Successfully archived :count snippets',
|
'deleted_proposal_snippets' => 'Successfully archived :count snippets',
|
||||||
'restored_proposal_snippet' => 'Successfully restored snippet',
|
'restored_proposal_snippet' => 'Successfully restored snippet',
|
||||||
|
'restore_proposal_snippet' => 'Restore Snippet',
|
||||||
'template' => 'Template',
|
'template' => 'Template',
|
||||||
'templates' => 'Templates',
|
'templates' => 'Templates',
|
||||||
'proposal_template' => 'Template',
|
'proposal_template' => 'Template',
|
||||||
@ -2709,6 +2711,7 @@ $LANG = array(
|
|||||||
'archived_proposal_templates' => 'Successfully archived :count templates',
|
'archived_proposal_templates' => 'Successfully archived :count templates',
|
||||||
'deleted_proposal_templates' => 'Successfully archived :count templates',
|
'deleted_proposal_templates' => 'Successfully archived :count templates',
|
||||||
'restored_proposal_template' => 'Successfully restored template',
|
'restored_proposal_template' => 'Successfully restored template',
|
||||||
|
'restore_proposal_template' => 'Restore Template',
|
||||||
'proposal_category' => 'Category',
|
'proposal_category' => 'Category',
|
||||||
'proposal_categories' => 'Categories',
|
'proposal_categories' => 'Categories',
|
||||||
'new_proposal_category' => 'New Category',
|
'new_proposal_category' => 'New Category',
|
||||||
@ -2723,6 +2726,7 @@ $LANG = array(
|
|||||||
'archived_proposal_categories' => 'Successfully archived :count categories',
|
'archived_proposal_categories' => 'Successfully archived :count categories',
|
||||||
'deleted_proposal_categories' => 'Successfully archived :count categories',
|
'deleted_proposal_categories' => 'Successfully archived :count categories',
|
||||||
'restored_proposal_category' => 'Successfully restored category',
|
'restored_proposal_category' => 'Successfully restored category',
|
||||||
|
'restore_proposal_category' => 'Restore Category',
|
||||||
'delete_status' => 'Delete Status',
|
'delete_status' => 'Delete Status',
|
||||||
'standard' => 'Standard',
|
'standard' => 'Standard',
|
||||||
'icon' => 'Icon',
|
'icon' => 'Icon',
|
||||||
|
@ -128,7 +128,7 @@
|
|||||||
|
|
||||||
var html = mergeTemplate(template.html);
|
var html = mergeTemplate(template.html);
|
||||||
|
|
||||||
// grapesjsEditor.CssComposer.getAll().reset();
|
grapesjsEditor.CssComposer.getAll().reset();
|
||||||
grapesjsEditor.setComponents(html);
|
grapesjsEditor.setComponents(html);
|
||||||
grapesjsEditor.setStyle(template.css);
|
grapesjsEditor.setStyle(template.css);
|
||||||
}
|
}
|
||||||
|
@ -100,6 +100,9 @@
|
|||||||
var template = customTemplateMap[templateId];
|
var template = customTemplateMap[templateId];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
grapesjsEditor.CssComposer.getAll().reset();
|
||||||
|
grapesjsEditor.setComponents(template.html);
|
||||||
|
grapesjsEditor.setStyle(template.css);
|
||||||
|
|
||||||
$('.template-select').val(null).blur();
|
$('.template-select').val(null).blur();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user