general changes.some formatting, better entities encoding and improved error message
groditi [Sat, 11 Oct 2008 20:32:40 +0000 (20:32 +0000)]
lib/Reaction/Types/DateTime.pm
lib/Reaction/UI/ViewPort/Action/Link.pm
lib/Reaction/UI/WidgetClass.pm

index d6294d2..c696d03 100644 (file)
@@ -9,7 +9,7 @@ use DateTime;
 subtype DateTime,
   as Object,
   where { $_->isa('DateTime') },
-  message { "Must be of the form YYYY-MM-DD HH:MM:SS" };
+  message { "Please enter a date and time" };
 
 use DateTime::SpanSet;
 
index 824c33d..190b393 100644 (file)
@@ -5,25 +5,24 @@ use Reaction::Class;
 use namespace::clean -except => [ qw(meta) ];
 extends 'Reaction::UI::ViewPort';
 
+has uri => ( is => 'rw', lazy_build => 1);
+has label => (is => 'rw', required => 1);
 
+has target => (isa => 'Object', is => 'rw', required => 1);
+has action => (isa => 'CodeRef', is => 'rw', required => 1);
 
-has label  => (is => 'rw',  required => 1);
-has uri    => ( is => 'rw', lazy_build => 1);
-
-has target => (isa => 'Object',  is => 'rw', required   => 1);
-has action => (isa => 'CodeRef', is => 'rw', required   => 1);
 sub BUILD {
   my $self = shift;
   $self->label( $self->label->($self->target) ) if ref $self->label eq 'CODE';
-};
+}
+
 sub _build_uri {
   my $self = shift;
   my $c = $self->ctx;
   my ($c_name, $a_name, @rest) = @{ $self->action->($self->target, $c) };
   $c->uri_for($c->controller($c_name)->action_for($a_name),@rest);
-};
+}
 
 __PACKAGE__->meta->make_immutable;
 
-
 1;
index 622eec4..e68add0 100644 (file)
@@ -5,6 +5,7 @@ use Reaction::Class;
 use Reaction::UI::Widget;
 use Data::Dumper;
 use Devel::Declare;
+use HTML::Entities ();
 use aliased 'Reaction::UI::WidgetClass::_OVER';
 
 no warnings 'once';
@@ -89,13 +90,7 @@ override exports_for_package => sub {
     attrs => sub {
       my ($attrs) = @_;
       return join(' ', map {
-        my $text = $attrs->{$_};
-        for ($text) {
-            s/&/&/g;
-            s/</&lt;/g;
-            s/>/&gt;/g;
-            s/"/&quot;/g;
-        }
+        my $text = HTML::Entities::encode_entities( $attrs->{$_} );
         qq{$_="${text}"};
       } keys %$attrs);
     },