$filterOverdue = false;
$counties = false;
$paymentTypes = false;
- $invoiceTypes = false;
$invoiceSent = false;
// Get any provided option
if ( isset( $invoiceTypes ) ) {
foreach ( $invoiceTypes as $invoiceType ) {
$invTypes[$invoiceType['id']] = array(
- 'id' => $invoiceType['id'],
- 'name' => $invoiceType['name'],
- 'amount' => $invoiceType['amount'],
+ 'id' => $invoiceType['id'],
+ 'name' => $invoiceType['name'],
+ 'amount' => $invoiceType['amount'],
+ 'dynamic_amount' => $invoiceType['dynamic_amount'],
);
}
$invoiceTypeJSON = json_encode( $invTypes, JSON_NUMERIC_CHECK );
if ( isset( $invoiceTypes ) ) {
foreach ( $invoiceTypes as $invoiceType ) {
$invTypes[$invoiceType['id']] = array(
- 'id' => $invoiceType['id'],
- 'name' => $invoiceType['name'],
- 'amount' => $invoiceType['amount'],
+ 'id' => $invoiceType['id'],
+ 'name' => $invoiceType['name'],
+ 'amount' => $invoiceType['amount'],
+ 'dynamic_amount' => $invoiceType['dynamic_amount'],
);
}
$invoiceTypeJSON = json_encode( $invTypes, JSON_NUMERIC_CHECK );
{/if}
{$parent = $inv.parent.value}
{if $inv.parent.value == 0 && $inv.amount != '0.00'}
- <option value="{$inv.id}" data-price="{$inv.amount}">{$inv.name}</option>
- {else if ($inv.parent.value == 0 && $inv.amount == '0.00')}
+ <option value="{$inv.id}" data-price="{$inv.amount}" data-dynamic="{$inv.dynamic_amount.value}">{$inv.name}</option>
+ {else if ($inv.parent.value == 0 && $inv.amount == '0.00' && $inv.dynamic_amount.value == 0)}
<optgroup label="{$inv.name}"></optgroup>
+ {else if ($inv.parent.value == 0 && $inv.amount == '0.00')}
+ <option value="{$inv.id}" data-price="{$inv.amount}" data-dynamic="{$inv.dynamic_amount.value}">{$inv.name}</option>
{else if ($inv.parent.value != 0)}
- <option value="{$inv.id}" data-price="{$inv.amount}">{$inv.name}</option>
+ <option value="{$inv.id}" data-price="{$inv.amount}" data-dynamic="{$inv.dynamic_amount.value}">{$inv.name}</option>
{/if}
{/foreach}
</select>
} else {
// Check first to see if this line_item_type is already in line_items.
if ( !isLineItem( selectedLineItem ) ) {
+ var dynamic_price = $( 'input[name="dynamic_price"]' ).val(); // Dynamic price line item
+ console.log( 'dynamic_price:', dynamic_price );
+ if ( dynamic_price ) {
+ selectedLineItem.amount = parseFloat( dynamic_price );
+ }
// See if there's a discount
if ( discount_amount ) {
selectedLineItem.discount = parseInt( discount_amount.val() );
$('#line_item_price').html( '' );
$('#new-line-item').addClass( 'glm-hidden' );
} else {
- $('#line_item_price').html( '$' + $('#line_item_type option:selected').data( 'price') );
+ var price = $('#line_item_type option:selected').data( 'price');
+ var dynamic_amount = $('#line_item_type option:selected').data( 'dynamic' );
+ if ( dynamic_amount ) {
+ $('#line_item_price').html( '<input name="dynamic_price" style="width: 100px;">' );
+ } else {
+ $('#line_item_price').html( '$' + price );
+ }
$('#new-line-item').addClass( 'glm-hidden' );
}
});