1 |
305 |
ahitrov |
package users::Phone; |
2 |
|
|
|
3 |
|
|
use base "Contenido::Document"; |
4 |
|
|
use Contenido::Globals; |
5 |
|
|
|
6 |
|
|
sub extra_properties |
7 |
|
|
{ |
8 |
|
|
return ( |
9 |
|
|
{ 'attr' => 'name', 'type' => 'string', 'rusname' => 'Телефон (только номер)' }, |
10 |
|
|
{ 'attr' => 'status', 'type' => 'status', 'rusname' => 'Статус e-mail-адреса', |
11 |
|
|
'cases' => [ |
12 |
|
|
[0, 'Не активен'], |
13 |
|
|
[1, 'Подтвержден'], |
14 |
|
|
[3, 'Потерян / заблокирован'], |
15 |
|
|
], |
16 |
|
|
}, |
17 |
|
|
{ 'attr' => 'name_format', 'type' => 'string', 'rusname' => 'Телефон отформатированный' }, |
18 |
|
|
{ 'attr' => 'name_orig', 'type' => 'string', 'rusname' => 'Телефон (ввод пользователя)' }, |
19 |
|
|
# { 'attr' => 'login', 'type' => 'string', 'rusname' => 'Login' }, |
20 |
|
|
# { 'attr' => 'passwd', 'type' => 'string', 'rusname' => 'Password' }, |
21 |
|
|
) |
22 |
|
|
} |
23 |
|
|
|
24 |
420 |
ahitrov |
sub get_code { |
25 |
|
|
my $self = shift; |
26 |
|
|
if ( $self->name_format =~ /\((\d+)\)/ ) { |
27 |
|
|
return $1; |
28 |
|
|
} |
29 |
|
|
} |
30 |
|
|
|
31 |
|
|
sub get_number { |
32 |
|
|
my $self = shift; |
33 |
|
|
my $number = $self->name_format; |
34 |
|
|
for ( $number ) { |
35 |
423 |
ahitrov |
s/^[\+\d+]\(/\(/; |
36 |
420 |
ahitrov |
s/\(\d+\)//; |
37 |
|
|
s/\D//g; |
38 |
|
|
} |
39 |
|
|
return $number; |
40 |
|
|
} |
41 |
|
|
|
42 |
305 |
ahitrov |
sub class_name |
43 |
|
|
{ |
44 |
|
|
return 'Телефон'; |
45 |
|
|
} |
46 |
|
|
|
47 |
|
|
sub class_description |
48 |
|
|
{ |
49 |
|
|
return 'Телефон'; |
50 |
|
|
} |
51 |
|
|
|
52 |
|
|
sub search_fields |
53 |
|
|
{ |
54 |
|
|
return ('name'); |
55 |
|
|
} |
56 |
|
|
|
57 |
|
|
sub class_table |
58 |
|
|
{ |
59 |
|
|
return 'users::SQL::CredentialsTable'; |
60 |
|
|
} |
61 |
|
|
|
62 |
|
|
sub contenido_status_style |
63 |
|
|
{ |
64 |
|
|
my $self = shift; |
65 |
373 |
ahitrov |
if ( $self->main == 1 || $self->status == 2 ) { |
66 |
305 |
ahitrov |
return 'color:green;'; |
67 |
|
|
} elsif ( $self->status == 3 ) { |
68 |
373 |
ahitrov |
return 'color:black;'; |
69 |
305 |
ahitrov |
} |
70 |
|
|
} |
71 |
|
|
|
72 |
|
|
sub pre_store |
73 |
|
|
{ |
74 |
|
|
my $self = shift; |
75 |
|
|
|
76 |
|
|
my $default_section = $project->s_alias->{user_phones} if ref $project->s_alias eq 'HASH' && exists $project->s_alias->{user_phones}; |
77 |
|
|
if ( $default_section && !$self->{sections} ) { |
78 |
|
|
$self->{sections} = $default_section; |
79 |
|
|
} |
80 |
|
|
|
81 |
|
|
return 1; |
82 |
|
|
} |
83 |
|
|
1; |