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);
|
||||
my ($item) = $self->getItems;
|
||||
$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 ()
|
||||
|
||||
Retrieves a list of transactions for the www_manage() method.
|
||||
|
|
@ -788,8 +806,13 @@ sub www_view {
|
|||
</style>};
|
||||
unless ($print) {
|
||||
$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{
|
||||
<table class="transactionDetail">
|
||||
|
|
|
|||
|
|
@ -15,6 +15,12 @@ our $I18N = {
|
|||
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' => {
|
||||
message => q|Print|,
|
||||
lastUpdated => 0,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue