diff --git a/resources/views/proposals/edit.blade.php b/resources/views/proposals/edit.blade.php index 2991425bd56a..964d492f3719 100644 --- a/resources/views/proposals/edit.blade.php +++ b/resources/views/proposals/edit.blade.php @@ -88,6 +88,45 @@ $('#mainForm').submit(); } + function refreshProposal() { + var templateId = $('select#proposal_template_id').val(); + var template = templateMap[templateId]; + + if (! template) { + return; + } + + var html = template.html; + var quoteId = $('select#quote_id').val(); + var quote = quoteMap[quoteId]; + + if (quote) { + var regExp = new RegExp(/\$[a-z][\w\.]*/, 'g'); + var matches = html.match(regExp); + + if (matches) { + for (var i=0; i ENTITY_QUOTE]) if (quoteId) { var quote = quoteMap[quoteId]; + $quoteSelect.val(quote.public_id); setComboboxValue($('.quote-select'), quote.public_id, quote.invoice_number + ' - ' + getClientDisplayName(quote.client)); } + $quoteSelect.change(refreshProposal); var templateId = {{ ! empty($templatePublicId) ? $templatePublicId : 0 }}; var $proposal_templateSelect = $('select#proposal_template_id'); @@ -114,6 +155,7 @@ var template = templateMap[templateId]; setComboboxValue($('.template-select'), template.public_id, template.name); } + $proposal_templateSelect.change(refreshProposal); })