source: trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql/Site.pm @ 2045

Last change on this file since 2045 was 1551, checked in by nanardon, 8 years ago

Various fixes after i18n changes

  • Property svn:keywords set to Id Rev
File size: 2.4 KB
Line 
1package LATMOS::Accounts::Bases::Sql::Site;
2
3use 5.010000;
4use strict;
5use warnings;
6
7use base qw(LATMOS::Accounts::Bases::Sql::objects);
8use LATMOS::Accounts::I18N;
9
10our $VERSION = (q$Rev$ =~ /^Rev: (\d+) /)[0];
11
12=head1 NAME
13
14LATMOS::Accounts::Bases::Sql::Site - Common Location/Address object
15
16=head1 DESCRIPTION
17
18Store common to many people office address (typically building location).
19
20=cut
21
22sub _object_table { 'site' }
23
24sub _key_field { 'name' }
25
26sub _has_extended_attributes { 1 }
27
28sub _get_attr_schema {
29    my ($class, $base) = @_;
30
31    $class->SUPER::_get_attr_schema($base,
32        {
33            name   => { ro => 1, inline => 1, },
34            cn     => { ro => 1, inline => 1, iname => 'name' },
35            date   => { ro => 1, inline => 1, },
36            create => { ro => 1, inline => 1, },
37            streetAddress => { formtype => 'TEXTAREA' },
38            postalAddress => {
39                ro => 1,
40                get => sub {
41                    my $self = $_[0]->object;
42                    my $bp = $self->_get_c_field('postOfficeBox');
43                    return join("\n", grep { $_ } (
44                            $self->_get_c_field('o'),
45                            $self->_get_c_field('streetAddress'),
46                            ($bp ? 'BP ' . $bp : ''),
47                            join(' ', grep { $_ } (
48                                    $self->_get_c_field('postalCode'),
49                                    $self->_get_c_field('l'),)),
50                            join(' ', grep { $_ } (
51                                    $self->_get_c_field('st'),
52                                    $self->_get_c_field('co'),),
53                            )
54                        )
55                    );
56                },
57            },
58            siteNick => { uniq => 1 },
59            st => { },
60            postalCode => { },
61            postOfficeBox => { },
62            o => { },
63            l => { },
64            facsimileTelephoneNumber => { },
65            description => { },
66            co => { },
67        }
68    )
69}
70
711;
72
73__END__
74
75=head1 SEE ALSO
76
77L<LATMOS::Accounts::Bases::Sql>
78
79=head1 AUTHOR
80
81Olivier Thauvin, E<lt>olivier.thauvin@latmos.ipsl.frE<gt>
82
83=head1 COPYRIGHT AND LICENSE
84
85Copyright (C) 2008, 2009 CNRS SA/CETP/LATMOS
86
87This library is free software; you can redistribute it and/or modify
88it under the same terms as Perl itself, either Perl version 5.10.0 or,
89at your option, any later version of Perl 5 you may have available.
90
91
92=cut
Note: See TracBrowser for help on using the repository browser.