[Date Prev][Date Next][Thread Prev][Thread Next][Minivend by date
][Minivend by thread
]
Re: [mv] Limit Quantity Solved
****** message to minivend-users from "kyle@invisio.com" <kyle@invisio.com> ******
What the heck, here is some code that may help.
I have not tested it as I don't use the inventory db,
but this should prevent orders for items beyond
qty on hand (and automatically set the max quantity
for orders above the qty on hand).
UserTag qty-limit Routine <<EOR
sub {
my $cart = $Vend::Items;
my $item;
my $message = '';
my $itable = "inventory";
my $qty_field = "qty";
foreach $item (@$cart) {
$wish = $item->{'quantity'};
$have = Vend::Interpolate::tag_data($itable, $qty_field, $item->{code})
|| '0';
if ($wish > $have) {
$item->{'quantity'} = $have;
$message .= "We only have $have on hand for item $item->{code}<br>";
}
}
$message .= "Ordered quantities have been adjusted." if $message;
$Vend::Session->{qty-alert} = $message;
return '';
}
EOR
put the tag [qty-limit] at the very top of your basket page
then also in your basket page place the tag
[data session qty-alert] to spit back any qty change
messages that may have occured.
At the worst, it won't work, at the best it takes care of the problem.
Kyle (KC)
>
>At 04:16 PM 2/8/00 -0600, you wrote:
>>****** message to minivend-users from "Stan Crump" <stanc@amintech.com>
>> ******
>>
>>Using Redhat 6.1 and MiniVend V3.14-3...
>>I'm working on a cart in which it is critical that customers not be allowed
>>to place an order for a quantity that is greater than the quantity on hand
>>for any item. I'm far from being a MiniVend expert and didn't know any PERL
>>at all until yesterday. Anyway, with EXCELLENT tips from Richard Russo and
>>"ZB", It's finally working and I just want to post the source for all the
>>group to use if ever needed...
>>(Please be sure to post any improvements that you're able to make.)
>>Thanks very much for the help, Richard and ZB!
>>
>>In the "basket.html" page:
>>-- snip --
>><select name=[quantity-name] value=[item-quantity]>
>>[perl interpolate=1]
>>$qvar = [item-quantity];
>>$ivar = [data inventory qty [item-code]];
>>for ( $mvar = 1; $mvar <= $ivar; $mvar++ ) {
>>if ($mvar != $qvar) {
>> $tmp .= "<option value=$mvar > $mvar\n";
>> }
>>else {
>> $tmp .= "<option value=$mvar SELECTED > $mvar\n";
>> }
>>}
>>return $tmp;
>>[/perl]
>></select>
>>-- snip --
>>
>>
>>Stan Crump
>>
>>
>>-
>>To unsubscribe from the list, DO NOT REPLY to this message. Instead, send
>>email with 'UNSUBSCRIBE minivend-users' in the body to
Majordomo@minivend.com.
>>Archive of past messages: http://www.minivend.com/minivend/minivend-list
>
>-
>To unsubscribe from the list, DO NOT REPLY to this message. Instead, send
>email with 'UNSUBSCRIBE minivend-users' in the body to Majordomo@minivend.com.
>Archive of past messages: http://www.minivend.com/minivend/minivend-list
-
To unsubscribe from the list, DO NOT REPLY to this message. Instead, send
email with 'UNSUBSCRIBE minivend-users' in the body to Majordomo@minivend.com.
Archive of past messages: http://www.minivend.com/minivend/minivend-list