Changeset 852 for LATMOS-Accounts/lib


Ignore:
Timestamp:
04/04/10 18:22:20 (14 years ago)
Author:
nanardon
Message:
  • add basic code to handle attributes schema and factorize code through all possible GUI (web/curses/...)
Location:
LATMOS-Accounts/lib/LATMOS/Accounts
Files:
1 added
2 edited

Legend:

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

    r849 r852  
    55use warnings; 
    66use LATMOS::Accounts::Bases::Objects; 
     7use LATMOS::Accounts::Bases::Attributes; 
    78use LATMOS::Accounts::Log; 
    89use LATMOS::Accounts::Utils qw(exec_command to_ascii); 
     
    139140    my $pclass = $self->_load_obj_class($otype) or return; 
    140141    sort $pclass->_canonical_fields($self, $for); 
     142} 
     143 
     144sub get_attr_schema { 
     145    my ($self, $otype, $attribute) = @_; 
     146    my $pclass = $self->_load_obj_class($otype) or return; 
     147    if ($pclass->can('_get_attr_schema')) { 
     148        my $info = $pclass->_get_attr_schema($attribute); 
     149        return $info if ($info); 
     150    } 
     151    if ($self->can('_get_attr_schema')) { 
     152        my $info = $self->_get_attr_schema($otype, $attribute); 
     153        return $info if($info); 
     154    } 
     155    return {} 
     156} 
     157 
     158sub attribute { 
     159    my ($self, $otype, $attribute) = @_; 
     160    return LATMOS::Accounts::Bases::Attributes->new( 
     161        $attribute, 
     162        $self, 
     163        $otype, 
     164    ); 
    141165} 
    142166 
  • LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Objects.pm

    r805 r852  
    55use warnings; 
    66use LATMOS::Accounts::Log; 
     7use LATMOS::Accounts::Bases::Attributes; 
    78use Crypt::Cracklib; 
    89 
     
    127128    $self->base->list_canonical_fields($self->type, $for); 
    128129} 
     130 
     131sub attribute { 
     132    my ($self, $attribute) = @_; 
     133    return LATMOS::Accounts::Bases::Attributes->new( 
     134        $attribute, 
     135        $self, 
     136    ); 
     137}    
    129138 
    130139=head2 get_field_name($field, $for) 
Note: See TracChangeset for help on using the changeset viewer.