Revision 550 (by ahitrov, 2016/02/24 14:05:30) |
Tag autosection fix
|
package tag::Tag;
use base 'Contenido::Document';
use Contenido::Globals;
sub extra_properties
{
return (
{ 'attr' => 'name', 'rusname' => 'Название тега', shortname => 'Тег' },
)
}
sub class_name
{
return 'Тег';
}
sub class_description
{
return 'Тег';
}
sub class_table
{
return 'tag::SQL::TagsTable';
}
sub search_fields {
return ('name');
}
sub pre_store
{
my $self = shift;
for ( $self->{name} ) {
s/^\s+//;
s/\s+$//;
}
if ( !$self->sections && ref $project->s_alias eq 'HASH' && exists $project->s_alias->{tags} ) {
my $default_section = $project->s_alias->{tags};
$self->sections( $default_section ) if $default_section;
}
return 1;
}
sub post_delete
{
my $self = shift;
my $links = $self->keeper->get_links(
class => 'tag::Cloud',
source_id => $self->id,
return_mode => 'array_ref',
);
if ( ref $links eq 'ARRAY' && @$links ) {
foreach my $link ( @$links ) {
$link->delete;
}
}
}
1;