Line # Revision Author
1 480 ahitrov package tag::Tag;
2
3 use base 'Contenido::Document';
4 use Contenido::Globals;
5
6 sub extra_properties
7 {
8 return (
9 { 'attr' => 'name', 'rusname' => 'Название тега', shortname => 'Тег' },
10 )
11 }
12
13
14 sub class_name
15 {
16 return 'Тег';
17 }
18
19 sub class_description
20 {
21 return 'Тег';
22 }
23
24 sub class_table
25 {
26 return 'tag::SQL::TagsTable';
27 }
28
29 sub search_fields {
30 return ('name');
31 }
32
33 sub pre_store
34 {
35 my $self = shift;
36
37 my $default_section = $project->s_alias->{tags} if ref $project->s_alias eq 'HASH' && exists $project->s_alias->{tags};
38 $self->sections( $default_section ) if $default_section;
39
40 return 1;
41 }
42
43 sub post_delete
44 {
45 my $self = shift;
46
47 my $links = $self->keeper->get_links(
48 class => 'tag::Cloud',
49 source_id => $self->id,
50 return_mode => 'array_ref',
51 );
52 if ( ref $links eq 'ARRAY' && @$links ) {
53 foreach my $link ( @$links ) {
54 $link->delete;
55 }
56 }
57 }
58
59 1;