1 |
198 |
ahitrov |
package webshop::Basket; |
2 |
|
|
|
3 |
|
|
use base "Contenido::Document"; |
4 |
|
|
sub extra_properties |
5 |
|
|
{ |
6 |
|
|
return ( |
7 |
|
|
{ 'attr' => 'status', 'type' => 'status', 'rusname' => 'Статус заказа', |
8 |
|
|
'cases' => [ |
9 |
|
|
[0, 'Элемент wish-листа'], |
10 |
|
|
[1, 'Элемент корзины'], |
11 |
|
|
], |
12 |
|
|
}, |
13 |
|
|
{ 'attr' => 'articul', 'type' => 'string', 'rusname' => 'Артикул' }, |
14 |
|
|
{ 'attr' => 'colour', 'type' => 'string', 'rusname' => 'Цвет' }, |
15 |
|
|
{ 'attr' => 'discount_flag', 'type' => 'string', 'rusname' => 'Наличие скидки' }, |
16 |
|
|
{ 'attr' => 'discount', 'type' => 'text', 'rusname' => 'Формула скидки', rows => 15 }, |
17 |
|
|
) |
18 |
|
|
} |
19 |
|
|
|
20 |
|
|
sub price_formatted { |
21 |
|
|
my $self = shift; |
22 |
|
|
|
23 |
|
|
my $price = $self->price; |
24 |
|
|
$price = reverse $price; |
25 |
|
|
$price =~ s/(\d{3})/$1\ /g; |
26 |
|
|
$price = reverse $price; |
27 |
|
|
|
28 |
|
|
return $price; |
29 |
|
|
} |
30 |
|
|
|
31 |
|
|
sub total_formatted { |
32 |
|
|
my $self = shift; |
33 |
|
|
|
34 |
|
|
my $price = $self->price * ($self->number || 0); |
35 |
|
|
$price = reverse $price; |
36 |
|
|
$price =~ s/(\d{3})/$1\ /g; |
37 |
|
|
$price = reverse $price; |
38 |
|
|
|
39 |
|
|
return $price; |
40 |
|
|
} |
41 |
|
|
|
42 |
|
|
sub class_name |
43 |
|
|
{ |
44 |
|
|
return 'Позиция в корзине'; |
45 |
|
|
} |
46 |
|
|
|
47 |
|
|
sub class_description |
48 |
|
|
{ |
49 |
|
|
return 'Позиция в корзине'; |
50 |
|
|
} |
51 |
|
|
|
52 |
|
|
sub class_table |
53 |
|
|
{ |
54 |
|
|
return 'webshop::SQL::Basket'; |
55 |
|
|
} |
56 |
|
|
|
57 |
|
|
1; |