steveosoule
12/16/2015 - 9:47 PM

Miva - INVC Check for Returning Customer

Miva - INVC Check for Returning Customer

<mvt:comment><!-- BEGIN: Check for Returning Customer --></mvt:comment>
	<mvt:comment><!-- Initialze Variables --></mvt:comment>
		<mvt:assign name="g.Offset" value="0" />
		<mvt:assign name="g.Max" value="2" />​
		<mvt:assign name="g.FoundCustomerOrder" value="0" />

	<mvt:comment><!-- Check if this customer has placed order using customer ID --></mvt:comment>
		<mvt:if expr="l.settings:order:cust_id">
			<mvt:do file="g.Module_Library_DB" name="l.null" value="OrderList_Load_Offset( g.Offset, l.settings:order:cust_id, 'cust_id', g.Max, g.NextOffset, l.settings:orders )" />​
			<mvt:if expr="miva_array_elements(l.settings:orders) GT 1">
				<mvt:assign name="g.FoundCustomerOrder" value="1" />
				<mvt:assign name="g.FoundCustomerOrderBy" value="'cust_id'" />
			</mvt:if>
		</mvt:if>
	​
	<mvt:comment><!-- Check if this customer has placed order using billing email --></mvt:comment>
		<mvt:if expr="NOT g.FoundCustomerOrder">
			<mvt:do file="g.Module_Library_DB" name="l.null" value="OrderList_Load_Offset( g.Offset, l.settings:order:bill_email, 'bill_email,ship_email', g.Max, g.NextOffset, l.settings:orders )" />
			<mvt:if expr="miva_array_elements(l.settings:orders) GT 1">
				<mvt:assign name="g.FoundCustomerOrder" value="1" />
				<mvt:assign name="g.FoundCustomerOrderBy" value="'bill_email'" />
			</mvt:if>
		</mvt:if>

	<mvt:comment><!-- Check if this customer has placed order using shipping email --></mvt:comment>​
		<mvt:if expr="NOT g.FoundCustomerOrder AND l.settings:order:bill_email NE l.settings:order:ship_email">
			<mvt:do file="g.Module_Library_DB" name="l.null" value="OrderList_Load_Offset( g.Offset, l.settings:order:ship_email, 'bill_email,ship_email', g.Max, g.NextOffset, l.settings:orders )" />
			<mvt:if expr="miva_array_elements(l.settings:orders) GT 1">
				<mvt:assign name="g.FoundCustomerOrder" value="1" />
				<mvt:assign name="g.FoundCustomerOrderBy" value="'ship_email'" />
			</mvt:if>
		</mvt:if>

	<mvt:comment><!-- We now know if this customer has placed an order before --></mvt:comment>​
		<mvt:if expr="g.FoundCustomerOrder">
			<mvt:assign name="g.CustomerType" value="'Returning'" />
		<mvt:else>
			<mvt:assign name="g.CustomerType" value="'New'" />
		</mvt:if>
<mvt:comment><!-- END: Check for Returning Customer --></mvt:comment>