#### begin [value mv_order_number] #####
[tmp transaction_record]
[loop list="transactions orderline inventory userdb"]
[flag type=write table="[loop-code]"]
[/loop]
[if type=explicit compare=`
		return 1 if ! $Session->{logged_in} or $Session->{login_table} ne 'userdb';
		return 0;
		`]
	[if session logged_in]
		[userdb function=logout clear=0 clear_cart=0]
	[/if]
	[tmp auto_create]1[/tmp]
	[if type=explicit compare=|
		[userdb
			function=new_account
				assign_username=1
					password='[value zip]'
						verify='[value zip]'
		]
		|]
		[seti mv_autocreate]
			mv_username=[data session username]
			mv_password=[value zip]
		[/seti]
		Auto-created user [data session username].
	[else]
	Auto-create of user failed.
	[perl] die errmsg("Auto-create of user failed."); [/perl]
	[/else]
	[/if]
[/if]

[comment][perl] Log("Starting report."); [/perl][/comment]

[try]

[seti total_cost][total-cost noformat=1][/seti]
Add main order [value mv_order_number] to transactions:
[import table=transactions type=LINE continue=NOTES]
code: [value mv_order_number]
store_id: __STORE_ID__
order_number: [value mv_order_number]
session__MVC_FIELDMUNGE__: [data session id]
username: [data session username]
shipmode: [value mv_shipmode] ([shipping-desc])
shipping: [shipping noformat=1]
nitems: [nitems]
subtotal: [subtotal noformat=1]
handling: [handling noformat=1]
salestax: [salestax noformat=1]
total_cost: [scratch total_cost]
fname: [value filter=strip name=fname]
lname: [value filter=strip name=lname]
company: [value filter=strip name=company]
address1: [value filter=strip name=address1]
address2: [value filter=strip name=address2]
city: [value filter=strip name=city]
state: [value name=state filter="strip uc"]
zip: [value name=zip filter=word]
country: [value country]
email: [value name=email filter=strip]
phone_day: [value filter=strip name=phone_day]
phone_night: [value filter=strip name=phone_night]
b_company: [value filter=strip name=b_company]
b_fname: [value filter=strip name=b_fname]
b_lname: [value filter=strip name=b_lname]
b_address1: [value filter="strip mac" name=b_address1]
b_address2: [value filter="strip mac" name=b_address2]
b_city: [value filter=strip name=b_city]
b_state: [value filter=strip name=b_state]
b_zip: [value filter=strip name=b_zip]
b_country: [value filter=strip name=b_country]
b_phone: [value filter=strip name=b_phone]
payment_method: [value mv_payment]
payment_mode: [data session payment_mode]
order_id: [data session payment_id]
order_date: [value name=order_date set="[tag time]%Y%m%d %H:%M:%S[/tag]"]
order_ymd: [value name=order_date set="[tag time]%Y%m%d[/tag]"]
order_wday: [value name=order_wday set="[tag time]%u[/tag]"]
status: pending
deleted: 0
archived: 0
complete: 0
comments: [value filter=mac name=gift_note]
affiliate: [data session source]
campaign: [value campaign]
parent: __PARENT__
po_number: [value filter=strip name=po_number] 
[/import]

[if value mv_payment_mode eq purchase_order]
set credit_limit: [seti credit_limit][data
		table=userdb
		col=credit_limit
		key="[data session username]"
		value="-[scratch total_cost]"
		increment=1
	][/seti]
[/if]

[comment]Past transactions entry.[/comment]

[set download_present][/set]

[item-list]Added [item-code] to orderline:
[import table=orderline type=LINE continue=NOTES]
code: [value mv_order_number]-[item-increment]
store_id: __STORE_ID__
order_number: [value mv_order_number]
session__MVC_FIELDMUNGE__: [data session id]
username: [data session username]
shipmode: [item-modifier mv_shipmode]
sku: [item-code]
options: [item-filter mac strip][item-options report=1][/item-filter]
quantity: [item-quantity]
price: [item-price noformat]
subtotal: [item-subtotal noformat]
mv_mi: [item-modifier mv_mi]
mv_si: [item-modifier mv_si]
mv_mp: [item-modifier mv_mp]
order_date: [value order_date]
affiliate: [data session source]
campaign: [value campaign]
status: pending
description: [filter mac][item-description][/filter]
[/import]

[if variable DECREMENT_INVENTORY]Inventory of [item-code] now:
	[data
		table=inventory
		col=quantity
		key="[item-code]"
		increment=1
		value="-[item-quantity]"
	]
[/if]

[comment] Handle downloadables [/comment]
[if-item-field download]
	[if value mv_payment =~ /credit.*card/i]
		[set download_present]1[/set]
		[userdb
				function=set_file_acl
				mode="expire 7 days"
				location="[item-code]"
		]
	[/if]
[/if-item-field]

[/item-list]

[/try]

[catch]
[set mv_route_failed]1[/set]
There was an error adding to the transaction log.
[/catch]

[userdb save]

[if scratch auto_create]
	Logout auto-created user: [userdb function=logout clear=0 clear_cart=0]
[/if]

[comment]Past add data entry.[/comment]

[comment]Past all transaction log.[/comment]
[/tmp][perl]
	my $out = $Scratch->{transaction_record};
	$out =~ s/^\s+//mg;
	$out =~ s/\s+$//mg;
	$out =~ s/[\r\n]+/\n/;
	$out =~ s/:\n(1|yes|succe\w+|fail\w+)\n/: $1\n/g;
	return $out;
[/perl]
#### end [value mv_order_number] #####
