added a way to cancel recurring transactions through the mgmt interface
This commit is contained in:
parent
57c85fde5a
commit
4445735a52
2 changed files with 30 additions and 1 deletions
|
|
@ -80,6 +80,8 @@ sub cancelRecurring {
|
||||||
$self->getPaymentGateway->cancelRecurringPayment($self);
|
$self->getPaymentGateway->cancelRecurringPayment($self);
|
||||||
my ($item) = $self->getItems;
|
my ($item) = $self->getItems;
|
||||||
$item->getSku->onCancelRecurring($item);
|
$item->getSku->onCancelRecurring($item);
|
||||||
|
my $recurringId = ($self->get('originatingTransactionId') || $self->getId);
|
||||||
|
$self->session->db->write("update transaction set isRecurring=0 where transactionId=? or originatingTransactionId=?",[$recurringId,$recurringId]);
|
||||||
}
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
@ -557,6 +559,22 @@ sub update {
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
|
=head2 www_cancelRecurring ( )
|
||||||
|
|
||||||
|
Cancels a recurring transaction.
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
sub www_cancelRecurring {
|
||||||
|
my ($class, $session) = @_;
|
||||||
|
my $self = $class->new($session, $session->form->get("transactionId"));
|
||||||
|
return $session->privilege->insufficient unless (WebGUI::Shop::Admin->new($session)->canManage || $session->user->userId eq $self->get('userId'));
|
||||||
|
$self->cancelRecurring;
|
||||||
|
return $class->www_view($session);
|
||||||
|
}
|
||||||
|
|
||||||
|
#-------------------------------------------------------------------
|
||||||
|
|
||||||
=head2 www_getTransactionsAsJson ()
|
=head2 www_getTransactionsAsJson ()
|
||||||
|
|
||||||
Retrieves a list of transactions for the www_manage() method.
|
Retrieves a list of transactions for the www_manage() method.
|
||||||
|
|
@ -788,8 +806,13 @@ sub www_view {
|
||||||
</style>};
|
</style>};
|
||||||
unless ($print) {
|
unless ($print) {
|
||||||
$output .= q{
|
$output .= q{
|
||||||
<div><a href="}.$url->page('shop=transaction;method=print;transactionId='.$transaction->getId).q{">}.$i18n->get('print').q{</a></div>
|
<div><a href="}.$url->page('shop=transaction;method=print;transactionId='.$transaction->getId).q{">}.$i18n->get('print').q{</a>
|
||||||
};
|
};
|
||||||
|
if ($transaction->get('isRecurring')) {
|
||||||
|
$output .= q{
|
||||||
|
• <a href="}.$url->page('shop=transaction;method=cancelRecurring;transactionId='.$transaction->getId).q{">}.$i18n->get('cancel recurring transaction').q{</a></div>
|
||||||
|
};
|
||||||
|
}
|
||||||
}
|
}
|
||||||
$output .= q{
|
$output .= q{
|
||||||
<table class="transactionDetail">
|
<table class="transactionDetail">
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,12 @@ our $I18N = {
|
||||||
context => q|a warning message displayed in the cart|,
|
context => q|a warning message displayed in the cart|,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
'cancel recurring transaction' => {
|
||||||
|
message => q|Cancel Recurring Transaction|,
|
||||||
|
lastUpdated => 0,
|
||||||
|
context => q|a link label|,
|
||||||
|
},
|
||||||
|
|
||||||
'print' => {
|
'print' => {
|
||||||
message => q|Print|,
|
message => q|Print|,
|
||||||
lastUpdated => 0,
|
lastUpdated => 0,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue