Changeset 43 for LATMOS-Accounts


Ignore:
Timestamp:
04/25/09 09:05:25 (15 years ago)
Author:
nanardon
Message:
  • really provides create_object
Location:
LATMOS-Accounts/lib/LATMOS/Accounts/Bases
Files:
2 edited

Legend:

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

    r37 r43  
    8383        group => { 
    8484            gidNumber       => 'gid', 
    85             memberUID       => 'user_list', 
     85            # memberUID       => 'user_list', 
    8686        }, 
    8787    }->{$type} 
     
    120120} 
    121121 
    122 sub create_object { 
    123     my ($self, $otype, $id, %data) = @_; 
    124  
    125     my $internal_obj = { 
    126         user => 'users', 
    127         group => 'groups', 
    128     }->{$otype}; 
    129  
    130     if ($self->{$internal_obj}{$id}) { return }; 
    131     $self->{$internal_obj}{$id} = { account => $id }; 
    132     my $obj = $self->get_object($otype, $id) or return; 
    133     $obj->set_fields(%data); 
    134     $obj 
    135 } 
    136  
    1371221; 
    138123 
  • LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql/objects.pm

    r29 r43  
    6161} 
    6262 
     63sub _create { 
     64    my ($class, $base, $id, %data) = @_; 
     65    $data{$class->key_field} = $id; 
     66    my $sth = $base->db->prepare( 
     67        sprintf( 
     68            q{insert into %s (%s) values (%s)}, 
     69            $base->db->quote_identifier($class->object_table), 
     70            join(', ', map { $base->db->quote_identifier($_) } sort keys %data), 
     71            join(',', qw(?) x scalar(keys %data)), 
     72        ) 
     73    ); 
     74    $sth->execute(map { $data{$_} } sort keys %data); 
     75} 
     76 
    6377sub db { 
    6478    return $_[0]->base->db; 
     
    103117    my $sth = $self->db->prepare_cached( 
    104118        sprintf( 
    105             q{update %s set %s where login = ?}, 
     119            q{update %s set %s where %s = ?}, 
    106120            $self->quote_object_table, 
    107121            join(', ', @fields), 
     122            $self->quote_key_field, 
    108123        ) 
    109124    ); 
Note: See TracChangeset for help on using the changeset viewer.