Changeset 16 for LATMOS-Accounts/lib/LATMOS/Accounts
- Timestamp:
- 03/03/09 19:51:40 (15 years ago)
- Location:
- LATMOS-Accounts/lib/LATMOS/Accounts
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
LATMOS-Accounts/lib/LATMOS/Accounts/Bases.pm
r7 r16 91 91 } 92 92 93 =head2 create_object($type, $id, %data) 94 95 Create and return an object of type $type with unique id 96 $id having %data. 97 98 This method should be provided by the data base handler. 99 100 =cut 101 102 sub create_object { 103 my ($self, $otype, $id, %data) = @_; 104 return; 105 } 106 107 =head2 create_c_object($type, $id, %data) 108 109 Create and return an object of type $type with unique id 110 $id having %data using canonical fields 111 112 =cut 113 114 sub create_c_object { 115 my ($self, $otype, $id, %cdata) = @_; 116 117 my %data; 118 foreach my $cfield (keys %cdata) { 119 my $field = $self->base->get_field_name($self->type, $cfield) or next; 120 $data{$field} = $cdata{$cfield}; 121 } 122 keys %data or return 1; # TODO: return an error ? 123 $self->create_object($otype, $id, %data); 124 } 125 93 126 =head2 load 94 127 -
LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Unix.pm
r13 r16 83 83 } 84 84 85 86 85 my @password_fields = qw(account password uid gid gecos home shell); 87 86 my @shadow_fields = qw(account spassword last_changed before_ch after_ch exp_warn exp_disable disable res); … … 196 195 $self->{users}{$_}{home}, 197 196 $self->{users}{$_}{shell}, 198 ]} keys %{$self->{users}}197 ]} sort { $self->{users}{$a}{uid} <=> $self->{users}{$b}{uid} } keys %{$self->{users}} 199 198 ) or return; 200 199 … … 206 205 $self->{groups}{$_}{gid}, 207 206 join(',', keys %{$self->{groups}{$_}{users} || {}}), 208 ]} keys %{$self->{groups}}207 ]} sort { $self->{groups}{$a}{gid} <=> $self->{groups}{$b}{gid} } keys %{$self->{groups}} 209 208 ) or return; 210 209 … … 223 222 $self->{users}{$_}{disable}, 224 223 $self->{users}{$_}{res}, 225 ]} keys %{$self->{users}}224 ]} sort { $self->{users}{$a}{uid} <=> $self->{users}{$b}{uid} } keys %{$self->{users}} 226 225 ) or return; 227 226 … … 234 233 $self->{groups}{$_}{unknown}, 235 234 join(',', keys %{$self->{groups}{$_}{susers} || {}}), 236 ]} keys %{$self->{groups}}235 ]} sort { $self->{groups}{$a}{gid} <=> $self->{groups}{$b}{gid} } keys %{$self->{groups}} 237 236 ) or return; 238 237 … … 240 239 241 240 1 241 } 242 243 sub create_object { 244 my ($self, $otype, $id, %data) = @_; 245 246 my $internal_obj = { 247 user => 'users', 248 group => 'groups', 249 }->{$otype}; 250 251 if ($self->{$internal_obj}{$id}) { return }; 252 $self->{$internal_obj}{$id} = { account => $id }; 253 my $obj = $self->get_object($otype, $id) or return; 254 $obj->set_fields(%data); 255 $obj 242 256 } 243 257
Note: See TracChangeset
for help on using the changeset viewer.