1 |
296 |
ahitrov |
package promosuite::Company; |
2 |
|
|
|
3 |
|
|
use strict; |
4 |
|
|
|
5 |
|
|
use base 'Contenido::Document'; |
6 |
|
|
|
7 |
|
|
sub extra_properties |
8 |
|
|
{ |
9 |
|
|
return ( |
10 |
|
|
{ 'attr' => 'status', 'type' => 'status', 'rusname' => 'Статус', |
11 |
|
|
'cases' => [ |
12 |
|
|
[0, 'Скрыта'], |
13 |
|
|
[1, 'Активна'], |
14 |
|
|
[2, 'Вынесена в начало списка'], |
15 |
|
|
], |
16 |
|
|
}, |
17 |
|
|
{ 'attr' => 'type', 'type' => 'string', 'rusname' => 'Тип компании/представительства' }, |
18 |
|
|
{ 'attr' => 'phone', 'type' => 'string', 'rusname' => 'Телефон' }, |
19 |
|
|
{ 'attr' => 'fax', 'type' => 'string', 'rusname' => 'Факс' }, |
20 |
|
|
{ 'attr' => 'phonefax', 'type' => 'string', 'rusname' => 'Телефон + факс' }, |
21 |
|
|
{ 'attr' => 'email', 'type' => 'string', 'rusname' => 'E-mail' }, |
22 |
|
|
{ 'attr' => 'url', 'type' => 'string', 'rusname' => 'WWW' }, |
23 |
|
|
{ 'attr' => 'address', 'type' => 'text', 'rusname' => 'Адрес', rows => 3 }, |
24 |
|
|
{ 'attr' => 'abstr', 'type' => 'text', 'rusname' => 'Аннотация', rows => 15 }, |
25 |
|
|
{ 'attr' => 'logo', 'type' => 'image', 'rusname' => 'Логотип', preview => ['160x160', '100x100'] }, |
26 |
|
|
) |
27 |
|
|
} |
28 |
|
|
|
29 |
|
|
sub class_name |
30 |
|
|
{ |
31 |
|
|
return 'Компания'; |
32 |
|
|
} |
33 |
|
|
|
34 |
|
|
sub class_description |
35 |
|
|
{ |
36 |
|
|
return 'Компания'; |
37 |
|
|
} |
38 |
|
|
|
39 |
|
|
sub class_table |
40 |
|
|
{ |
41 |
|
|
return 'promosuite::SQL::Company'; |
42 |
|
|
} |
43 |
|
|
|
44 |
|
|
sub search_fields { |
45 |
|
|
return ('name','country'); |
46 |
|
|
} |
47 |
|
|
|
48 |
|
|
sub contenido_status_style |
49 |
|
|
{ |
50 |
|
|
my $self = shift; |
51 |
|
|
if ( $self->status == 2 ) { |
52 |
|
|
return 'color:green;'; |
53 |
|
|
} |
54 |
|
|
} |
55 |
|
|
|
56 |
|
|
1; |