re-added "field is required" messages
edenc [Tue, 19 Aug 2008 19:07:48 +0000 (19:07 +0000)]
lib/Reaction/UI/ViewPort/Field/Role/Mutable.pm
lib/Reaction/UI/Widget/Field/Mutable.pm
share/skin/base/layout/field/mutable/choose_many.tt
share/skin/base/layout/field/mutable/choose_one.tt

index b73114c..96ee6dc 100644 (file)
@@ -49,7 +49,6 @@ sub can_sync_to_action {
 };
 sub sync_to_action {
   my ($self) = @_;
-  return unless $self->needs_sync;
   return unless $self->can_sync_to_action;
 
   my $attr = $self->attribute;
index 93900e2..1364b39 100644 (file)
@@ -22,16 +22,19 @@ extends 'Reaction::UI::Widget::Field';
  };
 
  implements fragment message_fragment {
-   if (my $message = $_{viewport}->message) {
+   my $vp = $_{viewport};
+   my $message = $_{viewport}->message;
+   $message ||= $vp->name.' is required'
+     if $vp->value_is_required && !$vp->value_string;
+   if ($message) {
      arg message => localized $message;
      render 'message';
    }
  };
 
  implements fragment field_is_required {
-   my $model = $_{viewport}->model;
-   my $attr  = $_{viewport}->attribute;
-   if ( $model->attribute_is_required($attr) ) {
+   my $vp = $_{viewport};
+   if ( $vp->value_is_required && !$vp->value_string ) {
        render 'field_is_required_yes';
    } else {
        render 'field_is_required_no';
index 06a543a..51f315e 100644 (file)
@@ -50,4 +50,6 @@
   <input type="submit" value="&lt;&lt;" name="[% event_id_remove_all_values %]" />
 </div>
 
+=for layout message
+
 =cut
index 74e8d8c..0db3ffd 100644 (file)
@@ -24,4 +24,6 @@ selected="selected"
 
 =for layout option_is_selected_no
 
+=for layout message
+
 =cut