# $Id$ # Ordering form of 'My::Project::hotelgate' # Copyright (C) 2005 Jan Kratochvil # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; exactly version 2 of June 1991 is required # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA package product::hotelgate::Order; require 5.6.0; # at least 'use warnings;' but we need some 5.6.0+ modules anyway our $VERSION=do { my @r=(q$Revision$=~/\d+/g); sprintf "%d.".("%03d"x$#r),@r; }; our $CVS_ID=q$Id$; use strict; use warnings; use My::Web; use Hash::Util qw(lock_hash); my %error=( "email_missing"=>"Your e-mail address is required, please fill it in.", "type_missing"=>"Please fill in the {Device casing type} field.", "ok"=>"Order has been accepted. Please wait to be contacted.", ); lock_hash(%error); sub error($$) { my($self,$keyword)=@_; my $trash=$error{$keyword}; # existence check; return $keyword; } sub handler { Wrequire 'product::hotelgate::Lib'; my $W=product::hotelgate::Lib->init( "title"=>"HotelGate: Order Form", "css_push"=>"./Order.css", "js_push"=>"./Order.js", ); my $COLS=50; print <<"HERE";

HotelGate Order

Price offer will be provided according to your order specification. You may also contact us directly at the e-mail address: @{[ a_href 'mailto:hotelgate@jankratochvil.net' ]}

HERE if (my $error=$W->{"args"}{"error"}) { print <<"HERE";

@{[ $error{$error} ]}

HERE } print <<"HERE";
Your e-mail contact address (required).
Contact person, shipping address.
Installation location - leave empty if you install the device on your own.
European facility installations provided by @{[ a_href 'http://www.jklabs.cz/','JK Labs' ]}.
Device casing type and available ports: HERE for ( { "case"=>"1U","internal"=>1 }, { "case"=>"4U","internal"=>1 }, { "case"=>"4U","internal"=>2 }, { "case"=>"4U","internal"=>3 }, { "case"=>"4U","internal"=>4 }, ) { print <<"HERE";
{"internal"} ]}" @{[ ($W->{"args"}{"type"}||"") ne $_->{"case"} ? '' : 'checked="checked"' ]} /> Rack mountable @{[ $_->{"case"} ]}; ethernet ports: 1 external + @{[ $_->{"internal"} ]} internal HERE } print <<"HERE";
Required internal network port(s).
Please specify any WiFi 802.11b or 802.11g access points to bundle with.
Available type of the uplink (public Internet) connection:
Additional notes:
HERE exit; } 1;