c80_estate 0.1.0.22 → 0.1.0.23
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/admin/c80_estate/properties.rb +8 -2
- data/app/assets/stylesheets/c80_estate/backend/admin_areas.scss +27 -0
- data/app/helpers/c80_estate/areas_helper.rb +15 -4
- data/app/helpers/c80_estate/properties_helper.rb +12 -0
- data/app/models/c80_estate/area.rb +8 -0
- data/app/models/c80_estate/property.rb +54 -0
- data/config/locales/ru.yml +2 -0
- data/lib/c80_estate/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 92d6434e1377535f34963ca6e84233a7987abcc2
|
4
|
+
data.tar.gz: da6acc1bc02c04026baf613091e5dbecd8512bbb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3e6a6b3111937749e24fd15d9236e2908276fa42cabd92b572ac673ff4a4f79d6513003440cb51336888e4857f78cf8d280e70e24085d0f5b9d161d10d3b63a8
|
7
|
+
data.tar.gz: 40c33263fe9e036a93fc78420348892ef68617d046d7518ab21d1a30a1719390f33ef3d4042703c1659b55bf7e4961f792afa23404efd728b1bf001adab47fe1
|
@@ -52,15 +52,21 @@ ActiveAdmin.register C80Estate::Property, as: 'Property' do
|
|
52
52
|
prop.areas.count
|
53
53
|
end
|
54
54
|
column 'Метраж' do |prop|
|
55
|
-
"#{prop.square_value} м.кв."
|
55
|
+
"#{prop.square_value.to_s(:rounded, precision: 2)} м.кв."
|
56
56
|
end
|
57
57
|
column '<abbr title="Сумма всех цен площадей">Цена объекта</abbr>'.html_safe do |prop|
|
58
|
-
"#{prop.power_price_value} руб"
|
58
|
+
"#{prop.power_price_value.to_s(:rounded, precision: 2)} руб"
|
59
59
|
end
|
60
60
|
# column :address
|
61
61
|
# column :gps do |prop|
|
62
62
|
# "#{prop.latitude},#{prop.longitude}"
|
63
63
|
# end
|
64
|
+
column :average_price do |prop|
|
65
|
+
"#{prop.average_price.to_s(:rounded, precision: 2)} руб"
|
66
|
+
end
|
67
|
+
column :average_price_busy do |prop|
|
68
|
+
"#{prop.average_price_busy.to_s(:rounded, precision: 2)} руб"
|
69
|
+
end
|
64
70
|
column :assigned_person do |prop|
|
65
71
|
prop.assigned_person_title
|
66
72
|
end
|
@@ -164,6 +164,33 @@ body.admin_areas {
|
|
164
164
|
-o-transition: opacity .2s ease-in;
|
165
165
|
transition: opacity .2s ease-in;
|
166
166
|
|
167
|
+
.astatus_span {
|
168
|
+
font-size: 20px;
|
169
|
+
font-weight: bold;
|
170
|
+
margin-right: 0;
|
171
|
+
|
172
|
+
.pvalue {
|
173
|
+
font-weight: 600 !important;
|
174
|
+
}
|
175
|
+
|
176
|
+
&.free {
|
177
|
+
margin-left: 58px;
|
178
|
+
|
179
|
+
.pvalue {
|
180
|
+
color: #00b729 !important;
|
181
|
+
}
|
182
|
+
}
|
183
|
+
|
184
|
+
&.busy {
|
185
|
+
margin-left: 78px;
|
186
|
+
|
187
|
+
.pvalue {
|
188
|
+
color: #b72600 !important;
|
189
|
+
}
|
190
|
+
}
|
191
|
+
|
192
|
+
}
|
193
|
+
|
167
194
|
}
|
168
195
|
|
169
196
|
}
|
@@ -122,19 +122,29 @@ module C80Estate
|
|
122
122
|
title: 'Метраж',
|
123
123
|
abbr: 'Объем площади',
|
124
124
|
value: area.square_value,
|
125
|
-
uom: 'м.кв.'
|
125
|
+
uom: 'м.кв.',
|
126
|
+
css:''
|
126
127
|
},
|
127
128
|
{
|
128
129
|
title: 'Цена',
|
129
130
|
abbr: 'За метр квадратный в месяц',
|
130
131
|
value: area.price_value,
|
131
|
-
uom: 'руб'
|
132
|
+
uom: 'руб',
|
133
|
+
css:''
|
132
134
|
},
|
133
135
|
{
|
134
136
|
title: 'Цена площади',
|
135
137
|
abbr: 'Стоимость всей площади в месяц. Число PxS, где P - цена за м.кв. в месяц, S - метраж площади в м.кв.',
|
136
138
|
value: area.power_price_value,
|
137
|
-
uom: 'руб'
|
139
|
+
uom: 'руб',
|
140
|
+
css:''
|
141
|
+
},
|
142
|
+
{
|
143
|
+
title: '',
|
144
|
+
abbr: '',
|
145
|
+
value: area.astatus_title,
|
146
|
+
uom: '',
|
147
|
+
css:"astatus_span #{area.astatus_tag}",
|
138
148
|
}
|
139
149
|
]
|
140
150
|
rows.each do |row|
|
@@ -143,9 +153,10 @@ module C80Estate
|
|
143
153
|
value = row[:value]
|
144
154
|
abbr = row[:abbr]
|
145
155
|
uom = row[:uom]
|
156
|
+
css = row[:css]
|
146
157
|
|
147
158
|
# нормальная цена
|
148
|
-
result +=
|
159
|
+
result += "<li class='#{css}'>"
|
149
160
|
result += "<p class='ptitle medium'><abbr title='#{abbr}'>#{title}</abbr></p>" # Цена за шт | Цена за м²
|
150
161
|
result += "<p><span class='pvalue bold'>#{value}<span> <span class='puom'>#{uom}</span></p>" # 1212,80 руб
|
151
162
|
|
@@ -93,6 +93,18 @@ module C80Estate
|
|
93
93
|
abbr: 'Сумма всех цен площадей объекта',
|
94
94
|
value: property.power_price_value.to_s(:rounded, precision: 2),
|
95
95
|
uom: 'руб'
|
96
|
+
},
|
97
|
+
{
|
98
|
+
title: 'Средняя ставка',
|
99
|
+
abbr: 'Средняя арендная ставка за 1 кв. м',
|
100
|
+
value: property.average_price.to_s(:rounded, precision: 2),
|
101
|
+
uom: 'руб'
|
102
|
+
},
|
103
|
+
{
|
104
|
+
title: 'Средняя ставка занятых',
|
105
|
+
abbr: ' Средняя арендная ставка за 1 кв. м занятых площадей',
|
106
|
+
value: property.average_price_busy.to_s(:rounded, precision: 2),
|
107
|
+
uom: 'руб'
|
96
108
|
}
|
97
109
|
]
|
98
110
|
rows.each do |row|
|
@@ -30,6 +30,60 @@ module C80Estate
|
|
30
30
|
ac
|
31
31
|
end
|
32
32
|
|
33
|
+
# применим для коллекций
|
34
|
+
# def self.average_price
|
35
|
+
#
|
36
|
+
# areas_counter = 0
|
37
|
+
# price_sum = 0
|
38
|
+
#
|
39
|
+
# self.all.each do |prop|
|
40
|
+
# prop.areas.all.each do |area|
|
41
|
+
# price_sum += area.price_value
|
42
|
+
# areas_counter += 1
|
43
|
+
# end
|
44
|
+
# end
|
45
|
+
#
|
46
|
+
# if areas_counter != 0
|
47
|
+
# price_sum*1.0 / areas_counter
|
48
|
+
# else
|
49
|
+
# 0
|
50
|
+
# end
|
51
|
+
# end
|
52
|
+
|
53
|
+
def average_price
|
54
|
+
price_sum = 0
|
55
|
+
areas.all.each do |area|
|
56
|
+
price_sum += area.price_value
|
57
|
+
end
|
58
|
+
|
59
|
+
if areas.all.count != 0
|
60
|
+
price_sum*1.0 / areas.all.count
|
61
|
+
else
|
62
|
+
0
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
|
67
|
+
def average_price_busy
|
68
|
+
|
69
|
+
busy_areas_count = 0
|
70
|
+
price_sum = 0
|
71
|
+
|
72
|
+
areas.all.each do |area|
|
73
|
+
if area.is_busy?
|
74
|
+
busy_areas_count += 1
|
75
|
+
price_sum += area.price_value
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
if busy_areas_count != 0
|
80
|
+
price_sum*1.0 / busy_areas_count
|
81
|
+
else
|
82
|
+
0
|
83
|
+
end
|
84
|
+
|
85
|
+
end
|
86
|
+
|
33
87
|
def assigned_person_title
|
34
88
|
res = "-"
|
35
89
|
if assigned_person.present?
|
data/config/locales/ru.yml
CHANGED
data/lib/c80_estate/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: c80_estate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.0.
|
4
|
+
version: 0.1.0.23
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- C80609A
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-08-
|
11
|
+
date: 2016-08-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|