Module: tools Branch: master Commit: 13b10bd2834fa8ac65389e56d69e79ba470abd36 URL: https://source.winehq.org/git/tools.git/?a=commit;h=13b10bd2834fa8ac65389e56...
Author: Francois Gouget fgouget@codeweavers.com Date: Tue Mar 29 17:58:41 2022 +0200
testbot/cgi: Add Page::SetError().
This provides a proper API to set the page error, particularly for non-child classes. Use it in CollectionBlock.
Signed-off-by: Francois Gouget fgouget@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
testbot/lib/ObjectModel/CGI/CollectionBlock.pm | 8 ++++++-- testbot/lib/ObjectModel/CGI/Page.pm | 8 ++++++++ 2 files changed, 14 insertions(+), 2 deletions(-)
diff --git a/testbot/lib/ObjectModel/CGI/CollectionBlock.pm b/testbot/lib/ObjectModel/CGI/CollectionBlock.pm index 053b225..58ece69 100644 --- a/testbot/lib/ObjectModel/CGI/CollectionBlock.pm +++ b/testbot/lib/ObjectModel/CGI/CollectionBlock.pm @@ -617,8 +617,12 @@ sub OnItemAction($$$) if ($Action eq "Delete") { my $ErrMessage = $self->{Collection}->DeleteItem($Item); - $self->{EnclosingPage}->{ErrMessage} = $ErrMessage; - return ! defined($ErrMessage); + if (defined $ErrMessage) + { + $self->{EnclosingPage}->SetError(undef, $ErrMessage); + return 0; + } + return 1; }
$self->{EnclosingPage}->SetError(undef, "No per-Item action defined for $Action"); diff --git a/testbot/lib/ObjectModel/CGI/Page.pm b/testbot/lib/ObjectModel/CGI/Page.pm index d587412..700268a 100644 --- a/testbot/lib/ObjectModel/CGI/Page.pm +++ b/testbot/lib/ObjectModel/CGI/Page.pm @@ -270,6 +270,14 @@ sub GetErrMessage($) return $self->{ErrMessage}; }
+sub SetError($$$) +{ + my ($self, $ErrField, $ErrMessage) = @_; + + $self->{ErrField} = $ErrField; + $self->{ErrMessage} = $ErrMessage; +} + sub GenerateErrorDiv($) { my ($self) = @_;