package WebGUI::Operation::Subscription;
use strict;
use WebGUI::Session;
use WebGUI::SQL;
use WebGUI::HTMLForm;
use WebGUI::Id;
use Tie::IxHash;
use WebGUI::Paginator;
use WebGUI::Icon;
use WebGUI::FormProcessor;
use WebGUI::Subscription;
use WebGUI::Commerce::ShoppingCart;
use WebGUI::AdminConsole;
use WebGUI::Template;
use WebGUI::Form;
use WebGUI::International;
#-------------------------------------------------------------------
sub _submenu {
my $i18n = WebGUI::International->new("Subscription");
my $workarea = shift;
my $title = shift;
$title = $i18n->get($title) if ($title);
my $help = shift;
my $ac = WebGUI::AdminConsole->new("subscriptions");
if ($help) {
$ac->setHelp($help, 'Subscription');
}
$ac->addSubmenuItem(WebGUI::URL::page('op=editSubscription&sid=new'), $i18n->get('add subscription'));
$ac->addSubmenuItem(WebGUI::URL::page('op=createSubscriptionCodeBatch'), $i18n->get('generate batch'));
$ac->addSubmenuItem(WebGUI::URL::page('op=listSubscriptionCodes'), $i18n->get('manage codes'));
$ac->addSubmenuItem(WebGUI::URL::page('op=listSubscriptionCodeBatches'), $i18n->get('manage batches'));
$ac->addSubmenuItem(WebGUI::URL::page('op=listSubscriptions'), 'Manage Subscriptions');
return $ac->render($workarea, $title);
}
#-------------------------------------------------------------------
sub www_createSubscriptionCodeBatch {
my (%subscriptions, $f, $error, $errorMessage);
return WebGUI::Privilege::adminOnly() unless (WebGUI::Grouping::isInGroup(3));
$error = shift;
my $i18n = WebGUI::International->new("Subscription");
$errorMessage = $i18n->get('create batch error').'
';
$output .= '| '.WebGUI::Form::radio({name=>'selection', value => 'du', checked=>($session{form}{selection} eq 'du')}).' | ';
$output .= ''.$i18n->get('selection used').' | ';
$output .= ''.WebGUI::Form::date({name=>'duStart', value=>$duStart}).' '.$i18n->get('and').' '.WebGUI::Form::date({name=>'duStop', value=>$duStop}).' | ';
$output .= '';
$output .= '| '.WebGUI::Form::radio({name=>'selection', value => 'dc', checked=>($session{form}{selection} eq 'dc')}).' | ';
$output .= ''.$i18n->get('selection created').' | ';
$output .= ''.WebGUI::Form::date({name=>'dcStart', value=>$dcStart}).' '.$i18n->get('and').' '.WebGUI::Form::date({name=>'dcStop', value=>$dcStop}).' | ';
$output .= '
';
$output .= '| '.WebGUI::Form::radio({name=>'selection', value => 'b', checked=>($session{form}{selection} eq 'b')}).' | ';
$output .= ''.$i18n->get('selection batch id').' | ';
$output .= ''.WebGUI::Form::selectList({name => 'bid', value => [$session{form}{bid}], options => $batches});
$output .= ' |
';
$output .= ' | ';
$output .= ''.WebGUI::Form::submit({value=>$i18n->get('select')}).' | ';
$output .= '
';
$output .= '
';
$output .= WebGUI::Form::formFooter;
if ($session{form}{selection} eq 'du') {
$where = " and dateUsed >= ".quote($duStart)." and dateUsed <= ".quote($duStop);
$ops = '&duStart='.$duStart.'&duStop='.$duStop.'&selection=du';
$delete = '