Skip to content

Instantly share code, notes, and snippets.

@TheNicholasNick
Created May 19, 2010 06:26
Show Gist options
  • Save TheNicholasNick/406031 to your computer and use it in GitHub Desktop.
Save TheNicholasNick/406031 to your computer and use it in GitHub Desktop.
Ext.data.Record.create([
{name: "id"}
,{name: "rev"}
,{name: "created_at"}
,{name: "referrer"}
,{name: "first_name"}
,{name: "last_name"}
,{name: "mobile"}
,{name: "daytime_phone"}
,{name: "state"}
,{name: "email"}
,{name: "ip_address"}
,{name: "newsletter_opt_in"}
,{name: "asset_cost"}
,{name: "product"}
,{name: "residual_dollar"}
,{name: "residual_percent"}
,{name: "brokerage_percent"}
,{name: "brokerage_dollar"}
,{name: "term"}
,{name: "expiry"}
,{name: "private_sale"}
,{name: "amount_financed"}
,{name: "gst_dollar"}
,{name: "status"}
])
var enable_items = function(p) {
Ext.each(p.items.items, function(i) {
i.enable();
});
}
var disable_items = function(p) {
Ext.each(p.items.items, function(i) {
i.disable();
});
}
var fs_expand = {
collapse: disable_items
,expand: enable_items
} // FS Expand
var resolve_revenue_value = function(name) {
var v = parseFloat(Ext.getCmp("revenue_" + name).getValue());
return isNaN(v) ? 0 : v;
}
var resolve_rrp_value = function(form, name) {
var field = form.findField(name + "_value");
var v = 0;
if(field != null) {
if(!Ext.getCmp(name + "_fs").collapsed) {
v = parseFloat(field.getValue());
}
}
return isNaN(v) ? 0 : v;
}
var resolve_id_value = function(id) {
var c = Ext.getCmp(id);
var v = 0;
if(v != null) {
v = parseFloat(c.getValue());
}
return isNaN(v) ? 0 : v;
}
var update_vehicle_total = function() {
var form = Quotes.Quick.getForm();
// Update Net Financed
var net_financed = resolve_id_value("znq_asset_cost") -
resolve_id_value("id_tradein") -
resolve_id_value("id_deposit");
Ext.getCmp("id_financed_net").setValue(net_financed);
// Make sure brokerage percent updates
Ext.getCmp("id_brokerage_percent").validate();
// Update aftermarket & insurance
var aftermarket = resolve_rrp_value(form, "finance" ) +
resolve_rrp_value(form, "vehicle" ) +
resolve_rrp_value(form, "tint" ) +
resolve_rrp_value(form, "rust" ) +
resolve_rrp_value(form, "carpet" ) +
resolve_rrp_value(form, "paint" ) +
resolve_rrp_value(form, "vinyl" ) +
resolve_rrp_value(form, "fabric" ) +
resolve_rrp_value(form, "xpack" ) +
resolve_rrp_value(form, "ipack" );
var insurance = resolve_rrp_value(form, "gap" ) +
resolve_rrp_value(form, "warranty" ) +
resolve_rrp_value(form, "lease" ) +
resolve_rrp_value(form, "tyre" ) +
resolve_rrp_value(form, "comprehensive");
if(insurance == 0) {
insurance = 899.00;
}
Ext.getCmp("id_insurance_total").setValue(insurance);
Ext.getCmp("id_aftermarket_total").setValue(aftermarket);
// Update Total Financed
Ext.getCmp("id_financed_total").setValue(net_financed + aftermarket + insurance);
}
var update_revenue_total = function() {
var total = resolve_revenue_value("finance" ) +
resolve_revenue_value("vehicle" ) +
resolve_revenue_value("tint" ) +
resolve_revenue_value("rust" ) +
resolve_revenue_value("carpet" ) +
resolve_revenue_value("paint" ) +
resolve_revenue_value("vinyl" ) +
resolve_revenue_value("fabric" ) +
resolve_revenue_value("xpack" ) +
resolve_revenue_value("ipack" ) +
resolve_revenue_value("gap" ) +
resolve_revenue_value("warranty" ) +
resolve_revenue_value("lease" ) +
resolve_revenue_value("tyre" ) +
resolve_revenue_value("comprehensive");
Ext.getCmp("revenue_total").setValue(total);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment