source: trunk/LATMOS-Accounts/lib/LATMOS/Accounts/Bases/Sql/Templates.pm @ 2361

Last change on this file since 2361 was 2361, checked in by nanardon, 4 years ago

Add templates management pages

File size: 2.2 KB
Line 
1package LATMOS::Accounts::Bases::Sql::Templates;
2
3use 5.010000;
4use strict;
5use warnings;
6
7use base qw(LATMOS::Accounts::Bases::Sql::objects);
8use LATMOS::Accounts::Log;
9use LATMOS::Accounts::I18N;
10
11our $VERSION = (q$Rev: 341 $ =~ /^Rev: (\d+) /)[0];
12
13=head1 NAME
14
15LATMOS::Ad - Perl extension for blah blah blah
16
17=head1 SYNOPSIS
18
19  use LATMOS::Accounts::Bases;
20  my $base = LATMOS::Accounts::Bases->new('sql');
21  ...
22
23=head1 DESCRIPTION
24
25Account base access over standard unix file format.
26
27=head1 FUNCTIONS
28
29=cut
30
31sub _object_table { 'templates' }
32
33sub _key_field { 'name' }
34
35sub _has_extended_attributes { 0 }
36
37sub _get_attr_schema {
38    my ($class, $base) = @_;
39
40    $class->SUPER::_get_attr_schema($base,
41        {
42            objectType => {
43                iname => 'objecttype',
44                inline => 1,
45                ro => 1,
46                can_values => sub {
47                    $base->list_supported_objects;
48                },
49            },
50            data => {
51                inline => 1,
52                multiple => 1,
53                set => sub {
54                    my ($self, $data) = @_;
55                    my @datas = $data
56                        ? (ref $data
57                            ? @$data
58                            : ($data))
59                        : ();
60                    my $sql = @datas
61                        ? '{' . join(',', map { $_ =~ s/\\/\\\\/g; '"' .$_.'"' } @datas) . '}'
62                        : undef;
63                    $base->db->do(
64                        q{UPDATE templates SET data = }
65                        . $base->db->quote($sql) . q{ where name = } .
66                        $base->db->quote($self->object->id)
67                    );
68                    return 1;
69                },
70            },
71        }
72    )
73}
74
751;
76
77__END__
78
79=head1 SEE ALSO
80
81L<LATMOS::Accounts::Bases::Sql::Aliases>, L<LATMOS::Accounts::Bases::Sql>
82
83=head1 AUTHOR
84
85Olivier Thauvin, E<lt>olivier.thauvin@latmos.ipsl.frE<gt>
86
87=head1 COPYRIGHT AND LICENSE
88
89Copyright (C) 2008, 2009 CNRS SA/CETP/LATMOS
90
91This library is free software; you can redistribute it and/or modify
92it under the same terms as Perl itself, either Perl version 5.10.0 or,
93at your option, any later version of Perl 5 you may have available.
94
95
96=cut
Note: See TracBrowser for help on using the repository browser.