[Rt-commit] rt branch, create-action, updated. cd257b4ec61c92786088f9e14b4422ef819bc7e4

sartak at bestpractical.com sartak at bestpractical.com
Mon Oct 5 21:47:09 EDT 2009


The branch, create-action has been updated
       via  cd257b4ec61c92786088f9e14b4422ef819bc7e4 (commit)
      from  9a6621c0439214f4e806afc49d07184cd8f843d6 (commit)

Summary of changes:
 lib/RT/View/Form/SelectOwner.pm |   53 +++++++++++++++++++++++++++++++++++++++
 1 files changed, 53 insertions(+), 0 deletions(-)
 create mode 100644 lib/RT/View/Form/SelectOwner.pm

- Log -----------------------------------------------------------------
commit cd257b4ec61c92786088f9e14b4422ef819bc7e4
Author: Shawn M Moore <sartak at bestpractical.com>
Date:   Mon Oct 5 21:46:50 2009 -0400

    Add an RT-specific form field class SelectOwner
    
        It's just a stub right now though

diff --git a/lib/RT/View/Form/SelectOwner.pm b/lib/RT/View/Form/SelectOwner.pm
new file mode 100644
index 0000000..4016b43
--- /dev/null
+++ b/lib/RT/View/Form/SelectOwner.pm
@@ -0,0 +1,53 @@
+package RT::View::Form::SelectOwner;
+use warnings;
+use strict;
+use base 'Jifty::Web::Form::Field::Select';
+
+sub render_widget {
+    my $self  = shift;
+    my $field = qq! <select !;
+    $field .= qq! name="@{[ $self->input_name ]}"!;
+    $field .= qq! id="@{[ $self->element_id ]}"!;
+    $field .= qq! title="@{[ $self->title ]}"! if ($self->title);
+    $field .= $self->_widget_class;
+    $field .= $self->javascript;
+    $field .= q! multiple="multiple"! if $self->multiple;
+    $field .= qq!      >\n!;
+    my $current_value = $self->current_value;
+    for my $opt ($self->available_values) {
+        my $display = ref($opt) ? $opt->{'display'} : $opt;
+        my $value   = ref($opt) ? $opt->{'value'} : $opt;
+        $value = "" unless defined $value;
+        $field .= qq!<option value="@{[ Jifty->web->escape($value) ]}"!;
+        $field .= qq! selected="selected"!
+          if defined $current_value
+              && (
+                  ref $current_value eq 'ARRAY'
+                  ? ( grep { $value eq $_ } @$current_value )
+                  : $current_value eq $value );
+        $field .= qq!>!;
+        $field .= Jifty->web->escape(_($display)) if defined $display;
+        $field .= qq!</option>\n!;
+    }
+    $field .= qq!</select>\n!;
+    Jifty->web->out($field);
+    '';
+}
+
+sub render_value {
+    my $self  = shift;
+    my $field = '<span';
+    $field .= qq! class="@{[ $self->classes ]}"> !;
+    my $value = $self->current_value;
+    if(defined $value) {
+        my @value = grep { $_->{value} eq $value } $self->available_values;
+        $value = $value[0]->{display} if scalar @value;
+    }
+    $field .= Jifty->web->escape(_($value)) if defined $value;
+    $field .= qq!</span>\n!;
+    Jifty->web->out($field);
+    return '';
+}
+
+1;
+

-----------------------------------------------------------------------


More information about the Rt-commit mailing list