Ignore:
Timestamp:
05/19/12 11:38:41 (12 years ago)
Author:
nanardon
Message:
  • fix attributes object return in some, simplify code
Location:
trunk/LATMOS-Accounts/lib/LATMOS/Accounts
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases.pm

    r959 r1002  
    418418sub attribute { 
    419419    my ($self, $otype, $attribute) = @_; 
     420 
     421    my $attrinfo; 
     422    if (!ref $attribute) { 
     423       $attrinfo = $self->get_attr_schema($otype, $attribute) 
     424            or return; 
     425        $attrinfo->{name} = $attribute; 
     426    } else { 
     427        $attrinfo = $attribute; 
     428    } 
     429 
    420430    return LATMOS::Accounts::Bases::Attributes->new( 
    421         $attribute, 
     431        $attrinfo, 
    422432        $self, 
    423433        $otype, 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Objects.pm

    r965 r1002  
    132132sub attribute { 
    133133    my ($self, $attribute) = @_; 
     134 
     135    my $attrinfo; 
     136    if (! ref $attribute) { 
     137        $attrinfo = $self->base->get_attr_schema( 
     138            $self->type, $attribute 
     139        ) or return; 
     140        $attrinfo->{name} = $attribute; 
     141    } else { 
     142        $attrinfo = $attribute; 
     143    } 
     144 
    134145    return LATMOS::Accounts::Bases::Attributes->new( 
    135         $attribute, 
     146        $attrinfo, 
    136147        $self, 
    137148    ); 
  • trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql/DataRequest.pm

    r990 r1002  
    505505    } else { 
    506506        my $obj = $self->oobject; 
    507         return $obj 
     507        my $oo = $obj 
    508508            ? $obj->attribute($attrname) 
    509509            : $self->base->attribute($self->otype, $attrname); 
     510        return $oo || $self->base->attribute($self->otype, { name => $attrname }); 
    510511    } 
    511512} 
Note: See TracChangeset for help on using the changeset viewer.