Line # Revision Author
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;