From 19691e07b8268623ea443ab2fe3f1189f22d98a6 Mon Sep 17 00:00:00 2001 From: Juerd Waalboer Date: Sun, 12 May 2019 21:46:12 +0200 Subject: [PATCH] Remove overzealous checks from repeat plugin There are some cases where repetition can be used with multi user transaction, specifically if the repetition is done before any multi user stuff is added... --- plugins/repeat | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/plugins/repeat b/plugins/repeat index eb4fa66..eebed11 100755 --- a/plugins/repeat +++ b/plugins/repeat @@ -32,9 +32,8 @@ sub command { return NEXT if $pre and $post; # 123x123 -> invalid syntax - return REJECT, $err_multi if $cart->is_multi_user; - if ($post) { + return REJECT, $err_multi if $cart->is_multi_user; return REJECT, $err_limit if $post > $limit; return ABORT, "Can't repeat an empty transaction." if not $cart->size; return REJECT, $err_stacked if $last->{_repeated}; @@ -89,13 +88,12 @@ sub hook_added { my ($self, $cart, $user, $item) = @_; $cart->size >= 2 or return; + my @items = $cart->select_items; my @planned = $cart->select_items('_repeat'); - my @repeated = $cart->select_items('_repeated'); - return ABORT, $err_multi if $cart->is_multi_user and @planned || @repeated; + return ABORT, $err_multi if $cart->is_multi_user and @planned; return ABORT, "Multiple repeats queued; I'm confused." if @planned > 1; return if not @planned; - my @items = $cart->select_items; return ABORT, $err_pfand if grep $_->{is_pfand}, @items; for my $i (0 .. $#items - 1) {