Francois Gouget : testbot/cgi: Add Page::SetError().

Alexandre Julliard julliard at winehq.org
Tue Mar 29 15:04:24 CDT 2022


Module: tools
Branch: master
Commit: 13b10bd2834fa8ac65389e56d69e79ba470abd36
URL:    https://source.winehq.org/git/tools.git/?a=commit;h=13b10bd2834fa8ac65389e56d69e79ba470abd36

Author: Francois Gouget <fgouget at 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 at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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) = @_;




More information about the wine-cvs mailing list