Revision 766 (by ahitrov, 2019/01/31 16:55:43) External field "from" used for queue mailing

package Contenido::Email;

use strict;
use base 'Contenido::Document';
use Contenido::Globals;
use SQL::MailQueueTable;

sub extra_properties
{
        return (
		{ 'attr' => 'status',
			'cases' => [
				[0, 'Ожидает доставки'],
				[1, 'Доставлен'],
				[2, 'Обработка'],
				[3, 'Ошибка'],
				[-1, 'Удален'],
			],
		},
		{ 'attr' => 'cc',		'type' => 'text',	'rusname' => 'Дополнительные получатели (по одному на строку)', rows => 10 },
		{ 'attr' => 'from',		'type' => 'string',	'rusname' => 'Адрес отправителя' },
		{ 'attr' => 'body_text',	'type' => 'text',	'rusname' => 'Текст письма (txt)', 'rows' => 40 },
		{ 'attr' => 'body_html',	'type' => 'wysiwyg',	'rusname' => 'Текст письма (html)', 'rows' => 40 },
		{ 'attr' => 'error',		'type' => 'text',	'rusname' => 'Сообщение об ошибке', 'rows' => 5 },
		{ 'attr' => 'pictures',		'type' => 'images',	'rusname' => 'Список иллюстраций', preview => ['400x400'], crop => ['870x450','85x85'] },
	)
}


sub class_name
{
	return 'E-mail';
}

sub class_description
{
	return 'E-mail сообщение';
}

sub contenido_status_style
{
	my $self = shift;
	if ( $self->status == 2 ) {
		return 'color:green;';
	} elsif ( $self->status == 3 ) {
		return 'color:green;';
	} elsif ( $self->status < 0 ) {
		return 'text-decoration:line-through;';
	}
}

sub class_table
{
	return 'SQL::MailQueueTable';
}

sub search_fields {
	return ('name');
}

sub pre_store
{
	my $self = shift;
	my $default_section = $project->s_alias->{spam}	if ref $project->s_alias && exists $project->s_alias->{spam};
	if ( $default_section ) {
		$self->sections($default_section);
	}

	return 1;
}

1;