From 0782b8853aa1b743897fc000acc27bc6be89d5e8 Mon Sep 17 00:00:00 2001 From: Martin Kamerbeek Date: Tue, 16 May 2006 15:08:23 +0000 Subject: [PATCH] fix [ 1488663 ] Add new subscription broken --- docs/changelog/6.x.x.txt | 1 + lib/WebGUI/Operation/Subscription.pm | 9 +++++++-- lib/WebGUI/Subscription.pm | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/docs/changelog/6.x.x.txt b/docs/changelog/6.x.x.txt index 0e0b296c5..95b3bc4da 100644 --- a/docs/changelog/6.x.x.txt +++ b/docs/changelog/6.x.x.txt @@ -7,6 +7,7 @@ - Fixed a problem where anybody could see the complete list of admin console functions in the adminbar, even though they couldn't actually use them. - fix [ 1489094 ] DataForm Record edit link wrong for list mode (Michelle LaMar) + - fix [ 1488663 ] Add new subscription broken (Martin Kamerbeek / Procolix) 6.99.0 - Added a workflow system. diff --git a/lib/WebGUI/Operation/Subscription.pm b/lib/WebGUI/Operation/Subscription.pm index aa729b90a..88eceaf97 100644 --- a/lib/WebGUI/Operation/Subscription.pm +++ b/lib/WebGUI/Operation/Subscription.pm @@ -355,7 +355,7 @@ sub www_editSubscription { -label => $i18n->get('subscription duration'), -hoverHelp => $i18n->get('subscription duration description'), -value => [$properties->{duration} || 'Monthly'], - -options=> WebGUI::Commerce::Payment->recurringPeriodValues($session), + -options=> WebGUI::Commerce::Payment::recurringPeriodValues($session), ); $f->text( -name => 'executeOnSubscription', @@ -393,8 +393,13 @@ sub www_editSubscriptionSave { my (@relevantFields); return $session->privilege->adminOnly() unless ($session->user->isInGroup(3)); + my $properties = {}; @relevantFields = qw(subscriptionId name price description subscriptionGroup duration executeOnSubscription karma); - WebGUI::Subscription->new($session,$session->form->process("sid"))->set({map {$_ => $session->form->process($_)} @relevantFields}); + foreach (@relevantFields) { + $properties->{$_} = $session->form->process($_) if (defined $session->form->process($_)); + } + + WebGUI::Subscription->new($session,$session->form->process("sid"))->set($properties); return www_listSubscriptions($session); } diff --git a/lib/WebGUI/Subscription.pm b/lib/WebGUI/Subscription.pm index 62a327f4a..016e818cd 100644 --- a/lib/WebGUI/Subscription.pm +++ b/lib/WebGUI/Subscription.pm @@ -167,7 +167,7 @@ been set. =head3 Valid Object properties -name price description subscriptionGroup duration executeOnSubscribe karma +name price description subscriptionGroup duration executeOnSubscription karma =cut @@ -177,7 +177,7 @@ sub set { $properties = shift; foreach (keys(%{$properties})) { - if (isIn($_, qw(name price description subscriptionGroup duration executeOnSubscribe karma))) { + if (isIn($_, qw(name price description subscriptionGroup duration executeOnSubscription karma))) { $self->{_properties}{$_} = $value; push(@fieldsToUpdate, $_); }