Author: richter
Date: Thu May 23 05:24:54 2013
New Revision: 1485575

URL: http://svn.apache.org/r1485575
Log:
Support multiple value ReadOnly control

Modified:
    perl/embperl/trunk/Embperl/Form/Control.pm
    perl/embperl/trunk/Embperl/Form/Control/grid.pm
    perl/embperl/trunk/Embperl/Form/Control/price.pm
    perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm
    perl/embperl/trunk/Embperl/Form/ControlMultValue.pm

Modified: perl/embperl/trunk/Embperl/Form/Control.pm
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control.pm?rev=1485575&r1=1485574&r2=1485575&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control.pm Thu May 23 05:24:54 2013
@@ -483,6 +483,35 @@ $]
 
 [# ---------------------------------------------------------------------------
 #
+#   show_control_readonly_array - output the control as readonly, multiple
+#                                 times in case of array
+#]
+
+[!
+ 
+sub show_control_readonly_array
+    {
+     my ($self, $req, $value) = @_ ;
+
+    $value = $self -> {value} || $fdat{$self -> {name}} if (!defined($value)) ;
+
+    if (ref ($value) eq 'ARRAY')
+        {
+        foreach my $subval (@$value)
+            {
+            
+            $self -> show_control_readonly ($req, defined 
($subval)?$subval:'') ;    
+            }
+        }
+    else
+        {
+        $self -> show_control_readonly ($req, $value) ;    
+        }
+    }
+!]
+
+[# ---------------------------------------------------------------------------
+#
 #   show_control_addons - output additional things after the control
 #]
 
@@ -502,7 +531,7 @@ $]
 $]
     <td class="ef-control-box [+ $addclass +]">
     [*
-     my @ret = $ro?$self -> show_control_readonly($req):$self -> show_control 
($req);
+     my @ret = $ro?$self -> show_control_readonly_array($req):$self -> 
show_control ($req);
      $self -> show_control_addons ($req) ;
      *]
     </td>

Modified: perl/embperl/trunk/Embperl/Form/Control/grid.pm
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/grid.pm?rev=1485575&r1=1485574&r2=1485575&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/grid.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/grid.pm Thu May 23 05:24:54 2013
@@ -465,7 +465,7 @@ $]
                 local $field -> {state} = $field -> {state} . ' ' . $self -> 
{state} ;
                 local $field -> {fullid} = "$self->{fullid}_${j}_$i" ;
                 local $field->{dataprefix} ;
-                $field -> show_control_readonly ($req) if (!$field -> 
{nofooter}) ; 
+                $field -> show_control_readonly_array ($req) if (!$field -> 
{nofooter}) ; 
                 $j++ ;
                 -]</td>
          [$ endforeach $]
@@ -508,7 +508,7 @@ $]
                 local $field->{dataprefix} ;
                 if ($ro)
                     {
-                    $field -> show_control_readonly ($req)
+                    $field -> show_control_readonly_array ($req)
                     }
                 else    
                     {
@@ -531,7 +531,7 @@ $]
                 local $field->{dataprefix} ;
                 if ($ro)
                     {
-                    $line2 -> show_control_readonly ($req)
+                    $line2 -> show_control_readonly_array ($req)
                     }
                 else    
                     {

Modified: perl/embperl/trunk/Embperl/Form/Control/price.pm
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/price.pm?rev=1485575&r1=1485574&r2=1485575&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/price.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/price.pm Thu May 23 05:24:54 2013
@@ -47,13 +47,13 @@ sub init
 
 sub init_data
     {
-    my ($self, $req, $parentctrl) = @_ ;
+    my ($self, $req, $parentctrl, $force) = @_ ;
     
     my $fdat  = $req -> {docdata} || \%fdat ;
     delete $self -> {unit} if ($parentctrl) ;
     my $name    = $self->{name} ;
     my $val     = $fdat->{$name} ;
-    return if ($val eq '' || $req -> {"ef_price_init_done_$name"}) ;
+    return if ($val eq '' || (!$force && $req -> 
{"ef_price_init_done_$name"})) ;
 
     my $sep ;
     my $dec ;

Modified: perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm?rev=1485575&r1=1485574&r2=1485575&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm (original)
+++ perl/embperl/trunk/Embperl/Form/Control/selectdyn.pm Thu May 23 05:24:54 
2013
@@ -109,7 +109,7 @@ my $id = $req -> {uuid} . '_' . $self ->
 
 $self -> {force_name} = '_opt_' . $self -> {name} ;
 $]
-[- $self -> SUPER::show_control_readonly ($req, $option) ; -]
+[- $self -> SUPER::show_control_readonly ($req, $value) ; -]
 [#<script>add_qtip($('#[+ $id +]'), '[+ $url +]');</script>#]
 [$endsub$]
 

Modified: perl/embperl/trunk/Embperl/Form/ControlMultValue.pm
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/Embperl/Form/ControlMultValue.pm?rev=1485575&r1=1485574&r2=1485575&view=diff
==============================================================================
--- perl/embperl/trunk/Embperl/Form/ControlMultValue.pm (original)
+++ perl/embperl/trunk/Embperl/Form/ControlMultValue.pm Thu May 23 05:24:54 2013
@@ -299,15 +299,15 @@ sub init_data
 
 sub show_control_readonly
     {
-    my ($self, $req) = @_ ;
+    my ($self, $req, $value) = @_ ;
 
-    my $value = $self -> get_value ($req) ;
+    $value  = $self -> get_value ($req) if (!defined ($value)) ;
     my $option = $self -> get_option_from_value ($value, $req) ;
     
     $option = '<Kein Zugriff>' if (!$option && $value && 
($req->{userCtx}{role} ne '*')) ; 
     
     local $self -> {force_name} = '_opt_' . $self -> {name} ;
-    $self -> SUPER::show_control_readonly ($req, $option) ;
+    $self -> SUPER::show_control_readonly ($req, defined ($option)?$option:'') 
;
     }
 
 



---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-cvs-unsubscr...@perl.apache.org
For additional commands, e-mail: embperl-cvs-h...@perl.apache.org

Reply via email to