c80_estate 0.1.0.22 → 0.1.0.23
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|