1 |
741 |
ahitrov |
package Contenido::Email; |
2 |
|
|
|
3 |
|
|
use strict; |
4 |
|
|
use base 'Contenido::Document'; |
5 |
|
|
use Contenido::Globals; |
6 |
743 |
ahitrov |
use SQL::MailQueueTable; |
7 |
741 |
ahitrov |
|
8 |
|
|
sub extra_properties |
9 |
|
|
{ |
10 |
|
|
return ( |
11 |
|
|
{ 'attr' => 'status', |
12 |
|
|
'cases' => [ |
13 |
|
|
[0, 'Ожидает доставки'], |
14 |
|
|
[1, 'Доставлен'], |
15 |
|
|
[2, 'Обработка'], |
16 |
|
|
[3, 'Ошибка'], |
17 |
|
|
[-1, 'Удален'], |
18 |
|
|
], |
19 |
|
|
}, |
20 |
|
|
{ 'attr' => 'cc', 'type' => 'text', 'rusname' => 'Дополнительные получатели (по одному на строку)', rows => 10 }, |
21 |
766 |
ahitrov |
{ 'attr' => 'from', 'type' => 'string', 'rusname' => 'Адрес отправителя' }, |
22 |
741 |
ahitrov |
{ 'attr' => 'body_text', 'type' => 'text', 'rusname' => 'Текст письма (txt)', 'rows' => 40 }, |
23 |
|
|
{ 'attr' => 'body_html', 'type' => 'wysiwyg', 'rusname' => 'Текст письма (html)', 'rows' => 40 }, |
24 |
743 |
ahitrov |
{ 'attr' => 'error', 'type' => 'text', 'rusname' => 'Сообщение об ошибке', 'rows' => 5 }, |
25 |
741 |
ahitrov |
{ 'attr' => 'pictures', 'type' => 'images', 'rusname' => 'Список иллюстраций', preview => ['400x400'], crop => ['870x450','85x85'] }, |
26 |
|
|
) |
27 |
|
|
} |
28 |
|
|
|
29 |
|
|
|
30 |
|
|
sub class_name |
31 |
|
|
{ |
32 |
|
|
return 'E-mail'; |
33 |
|
|
} |
34 |
|
|
|
35 |
|
|
sub class_description |
36 |
|
|
{ |
37 |
|
|
return 'E-mail сообщение'; |
38 |
|
|
} |
39 |
|
|
|
40 |
|
|
sub contenido_status_style |
41 |
|
|
{ |
42 |
|
|
my $self = shift; |
43 |
|
|
if ( $self->status == 2 ) { |
44 |
|
|
return 'color:green;'; |
45 |
|
|
} elsif ( $self->status == 3 ) { |
46 |
|
|
return 'color:green;'; |
47 |
|
|
} elsif ( $self->status < 0 ) { |
48 |
|
|
return 'text-decoration:line-through;'; |
49 |
|
|
} |
50 |
|
|
} |
51 |
|
|
|
52 |
|
|
sub class_table |
53 |
|
|
{ |
54 |
|
|
return 'SQL::MailQueueTable'; |
55 |
|
|
} |
56 |
|
|
|
57 |
|
|
sub search_fields { |
58 |
|
|
return ('name'); |
59 |
|
|
} |
60 |
|
|
|
61 |
|
|
sub pre_store |
62 |
|
|
{ |
63 |
|
|
my $self = shift; |
64 |
|
|
my $default_section = $project->s_alias->{spam} if ref $project->s_alias && exists $project->s_alias->{spam}; |
65 |
|
|
if ( $default_section ) { |
66 |
|
|
$self->sections($default_section); |
67 |
|
|
} |
68 |
|
|
|
69 |
|
|
return 1; |
70 |
|
|
} |
71 |
|
|
|
72 |
|
|
1; |