source: LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql/User.pm @ 86

Last change on this file since 86 was 86, checked in by nanardon, 15 years ago
  • rename table to match objects name
  • Property svn:keywords set to Id Rev
File size: 1.8 KB
RevLine 
[29]1package LATMOS::Accounts::Bases::Sql::User;
[19]2
3use 5.010000;
4use strict;
5use warnings;
6
[29]7use base qw(LATMOS::Accounts::Bases::Sql::objects);
[19]8
9our $VERSION = (q$Rev$ =~ /^Rev: (\d+) /)[0];
10
11=head1 NAME
12
13LATMOS::Ad - Perl extension for blah blah blah
14
15=head1 SYNOPSIS
16
17  use LATMOS::Accounts::Bases;
[20]18  my $base = LATMOS::Accounts::Bases->new('sql');
[19]19  ...
20
21=head1 DESCRIPTION
22
23Account base access over standard unix file format.
24
25=head1 FUNCTIONS
26
27=cut
28
29=head2 new(%options)
30
31Create a new LATMOS::Ad object for windows AD $domain.
32
33domain / server: either the Ad domain or directly the server
34
35ldap_args is an optionnal list of arguments to pass to L<Net::LDAP>.
36
37=cut
38
[86]39sub object_table { 'user' }
[19]40
[29]41sub key_field { 'login' }
42
[74]43sub has_extended_attributes { 1 }
44
[57]45sub _inline_fields {
46    my ($self, $for) = @_;
[59]47    my %fields = (
[57]48        uidNumber       => 'uid',
49        gidNumber       => 'gid',
[66]50        (($for !~ /w/)
51        ? (
52            gecos        => 'gecos',
53            sAMAccountName  => 'sAMAccountName',
[68]54            uid          => 'login',
[66]55        )
[57]56        : ()),
[59]57    );
58    \%fields
[57]59}
60
[52]61sub get_field {
62    my ($self, $field) = @_;
63    if ($field eq 'gecos') {
[67]64        return join(' ', map { $_ || '' } ($self->get_c_field('givenName'), ($self->get_c_field('sn'))));
[68]65    } elsif ($field =~ /^(sAMAccountName|login)$/) {
[81]66        return $self->id,
[52]67    } else {
68        return $self->SUPER::get_field($field);
69    }
70}
71
[19]721;
73
74__END__
75
76=head1 SEE ALSO
77
78=head1 AUTHOR
79
80Olivier Thauvin, E<lt>olivier.thauvin@latmos.ipsl.frE<gt>
81
82=head1 COPYRIGHT AND LICENSE
83
84Copyright (C) 2008, 2009 CNRS SA/CETP/LATMOS
85
86This library is free software; you can redistribute it and/or modify
87it under the same terms as Perl itself, either Perl version 5.10.0 or,
88at your option, any later version of Perl 5 you may have available.
89
90
91=cut
Note: See TracBrowser for help on using the repository browser.