Francois Gouget : testbot/web: Use a PropertyDescriptor and FormPage:: GenerateField() to handle the Remarks field.

Alexandre Julliard julliard at winehq.org
Mon Jun 16 04:17:04 CDT 2014


Module: tools
Branch: master
Commit: 421c5c8ad65b350c27a50fa759d365211b02b3bc
URL:    http://source.winehq.org/git/tools.git/?a=commit;h=421c5c8ad65b350c27a50fa759d365211b02b3bc

Author: Francois Gouget <fgouget at codeweavers.com>
Date:   Fri Jun 13 18:28:53 2014 +0200

testbot/web: Use a PropertyDescriptor and FormPage::GenerateField() to handle the Remarks field.

This increases code reuse and avoids losing that field if some other field was invalid.

---

 testbot/web/Register.pl |   11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/testbot/web/Register.pl b/testbot/web/Register.pl
index 1e18e23..70d8868 100644
--- a/testbot/web/Register.pl
+++ b/testbot/web/Register.pl
@@ -21,6 +21,8 @@ use strict;
 package RegisterPage;
 
 use URI::Escape;
+
+use ObjectModel::BasicPropertyDescriptor;
 use ObjectModel::CGI::ItemPage;
 use WineTestBot::Config;
 use WineTestBot::Users;
@@ -33,6 +35,11 @@ sub _initialize($$$)
   my ($self, $Request, $RequiredRole) = @_;
 
   $self->SUPER::_initialize($Request, $RequiredRole, CreateUsers());
+
+  $self->GetParam("Remarks", "") if (!defined $self->GetParam("Remarks"));
+  $self->{ExtraProperties} = [
+    CreateBasicPropertyDescriptor("Remarks", "Remarks", !1, !1, "textarea", 200)
+  ];
 }
 
 sub GetTitle($)
@@ -81,8 +88,10 @@ sub GenerateFields($)
   my ($self) = @_;
 
   print "<div><input type='hidden' name='Status' value='active'></div>\n";
+
   $self->SUPER::GenerateFields();
-  print "<div class='DetailProperty'><label>Remarks</label><textarea name='Remarks' cols='40' rows='4'></textarea></div>\n";
+  map { $self->GenerateField($_, "rw") } @{$self->{ExtraProperties}};
+
   $self->GenerateRequiredLegend();
   $self->{HasRequired} = !1;
 }




More information about the wine-cvs mailing list