package LATMOS::Accounts::Bases::Sql::Service;

use 5.010000;
use strict;
use warnings;

use base qw(LATMOS::Accounts::Bases::Sql::objects);
use LATMOS::Accounts::I18N;

our $VERSION = (q$Rev$ =~ /^Rev: (\d+) /)[0];

=head1 NAME

LATMOS::Accounts::Bases::Sql::Site - Common Location/Address object

=head1 DESCRIPTION

Store common to many people office address (typically building location).

=cut

sub _object_table { 'service' }

sub _key_field { 'name' }

sub _has_extended_attributes { 1 }

sub _get_attr_schema {
    my ($class, $base) = @_;

    $class->SUPER::_get_attr_schema($base,
        {
            name   => { ro => 1, inline => 1, },
            date   => { ro => 1, inline => 1, },
            create => { ro => 1, inline => 1, },
            start  => {
                inline => 1, formtype => 'DATE',
                label => l('Start'),
            },
            end    => {
                inline => 1, formtype => 'DATE',
                label => l('End'),
            },
            type   => { },

            dependOn => {
                multiple => 1,
                can_values => sub {
                    my $sth = $base->db->prepare_cached(
                        q{
                        select relname, name from "objects_table"
                        where exported = true
                        }
                    );
                    $sth->execute();
                    my @res;
                    while (my $res = $sth->fetchrow_hashref) {
                        push(@res, $res->{relname} . '.' . $res->{name});
                    }
                    return @res;
                },
                label => l('Depend on'),
            },
            manager => {
                multiple => 1,
                reference => 'user',
                label => l('Manager'),
            },
            comment => {
                label => l('Comment'),
            },
            description => {
                label => l('Description'),
            },
        }
    )
}

1;

__END__

=head1 SEE ALSO

L<LATMOS::Accounts::Bases::Sql>

=head1 AUTHOR

Olivier Thauvin, E<lt>olivier.thauvin@latmos.ipsl.frE<gt>

=head1 COPYRIGHT AND LICENSE

Copyright (C) 2008, 2009 CNRS SA/CETP/LATMOS

This library is free software; you can redistribute it and/or modify
it under the same terms as Perl itself, either Perl version 5.10.0 or,
at your option, any later version of Perl 5 you may have available.


=cut
