c80_estate 0.1.0.14 → 0.1.0.15

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.
Files changed (23) hide show
  1. checksums.yaml +4 -4
  2. data/app/admin/c80_estate/properties.rb +5 -0
  3. data/app/assets/javascript/c80_estate/backend/admin/shared/areas/gallery3.js +27 -26
  4. data/app/assets/javascript/c80_estate/backend/admin/shared/properties/property_show.js +480 -0
  5. data/app/assets/javascript/c80_estate/backend/admin/src/properties.js +5 -0
  6. data/app/assets/javascript/c80_estate/backend/admin/src/pstats.js +67 -3
  7. data/app/assets/javascript/c80_estate/lib/highstock.js +434 -0
  8. data/app/assets/stylesheets/c80_estate/backend/admin_pstats.scss +0 -132
  9. data/app/assets/stylesheets/c80_estate/backend/dashboard/prop_in_list.scss +1 -1
  10. data/app/assets/stylesheets/c80_estate/backend/shared/areas/stroitelnye_materialy_item/div_comments.scss +3 -1
  11. data/app/assets/stylesheets/c80_estate/backend/shared/areas/stroitelnye_materialy_item/div_main.scss +4 -2
  12. data/app/assets/stylesheets/c80_estate/backend/shared/index_adds_like_pstats.scss +131 -0
  13. data/app/helpers/c80_estate/app_helper.rb +38 -0
  14. data/app/helpers/c80_estate/properties_helper.rb +67 -0
  15. data/app/models/c80_estate/area.rb +15 -8
  16. data/app/models/c80_estate/property.rb +28 -0
  17. data/app/models/c80_estate/pstat.rb +96 -10
  18. data/app/uploaders/c80_estate/pphoto_uploader.rb +2 -2
  19. data/app/views/admin/properties/_show_property.html.erb +1 -0
  20. data/app/views/c80_estate/shared/areas/_single_area_on_page.html.erb +1 -1
  21. data/app/views/c80_estate/shared/properties/_single_property_on_page.html.erb +38 -0
  22. data/lib/c80_estate/version.rb +1 -1
  23. metadata +9 -2
@@ -37,5 +37,33 @@ module C80Estate
37
37
  url
38
38
  end
39
39
 
40
+ def main_image_url
41
+ url = 'no_thumb.png'
42
+ if pphotos.count > 0
43
+ url = pphotos.first.image.thumb512
44
+ end
45
+ url
46
+ end
47
+
48
+ def last_updater
49
+ pstats.last.sevent.auser.email
50
+ end
51
+
52
+ def square_value
53
+ sum = 0
54
+ areas.all.each do |area|
55
+ sum += area.square_value
56
+ end
57
+ sum
58
+ end
59
+
60
+ def power_price_value
61
+ sum = 0
62
+ areas.all.each do |area|
63
+ sum += area.power_price_value
64
+ end
65
+ sum
66
+ end
67
+
40
68
  end
41
69
  end
@@ -89,7 +89,12 @@ module C80Estate
89
89
  result[:raw_props][:all_areas_count] = free_areas_atnow + busy_areas_atnow
90
90
  result[:raw_props][:free_areas_count] = free_areas_atnow
91
91
  result[:raw_props][:busy_areas_atnow] = busy_areas_atnow
92
- result[:graph_dynamic] = _parse_for_js_dynamic_graph_canvasjs(pstats.ordered_by_created_at)
92
+ # result[:graph_dynamic] = _parse_for_js_dynamic_graph_canvasjs(pstats.ordered_by_created_at)
93
+ result[:graph_dynamic] = _parse_for_js_dynamic_graph_highstock(
94
+ pstats.ordered_by_created_at,
95
+ tcut[:used_start_date],
96
+ tcut[:used_end_date]
97
+ )
93
98
  result[:graph_radial] = _parse_for_js_radial_graph(free_areas_atnow, busy_areas_atnow)
94
99
 
95
100
  # Rails.logger.debug "<Pstat.busy_coef> busy_areas_count = #{ busy_areas_count }"
@@ -120,7 +125,11 @@ module C80Estate
120
125
  result[:raw_props_sq][:all_areas_count_sq] = free_areas_atnow_sq + busy_areas_atnow_sq
121
126
  result[:raw_props_sq][:free_areas_count_sq] = free_areas_atnow_sq
122
127
  result[:raw_props_sq][:busy_areas_atnow_sq] = busy_areas_atnow_sq
123
- result[:graph_dynamic_sq] = _parse_for_js_dynamic_graph3_canvasjs(pstats.where(:atype_id => nil).ordered_by_created_at)
128
+ result[:graph_dynamic_sq] = _parse_for_js_dynamic_graph_highstock_sq(
129
+ pstats.where(:atype_id => nil).ordered_by_created_at,
130
+ tcut[:used_start_date],
131
+ tcut[:used_end_date]
132
+ )
124
133
  result[:graph_radial_sq] = _parse_for_js_radial_graph_sq(free_areas_atnow_sq, busy_areas_atnow_sq)
125
134
 
126
135
  # common
@@ -207,11 +216,21 @@ module C80Estate
207
216
  if atype_id.nil?
208
217
  free_areas_atnow = pstats.where(:atype_id => nil).last.free_areas
209
218
  busy_areas_atnow = pstats.where(:atype_id => nil).last.busy_areas
210
- graph_data = _parse_for_js_dynamic_graph_canvasjs(pstats.where(:atype_id => nil).ordered_by_created_at)
219
+ # graph_data = _parse_for_js_dynamic_graph_canvasjs(pstats.where(:atype_id => nil).ordered_by_created_at)
220
+ graph_data = _parse_for_js_dynamic_graph_highstock(
221
+ pstats.where(:atype_id => nil).ordered_by_created_at,
222
+ used_start_date,
223
+ used_end_date
224
+ )
211
225
  else
212
226
  free_areas_atnow = pstats.last.free_areas
213
227
  busy_areas_atnow = pstats.last.busy_areas
214
- graph_data = _parse_for_js_dynamic_graph_canvasjs(pstats.ordered_by_created_at)
228
+ # graph_data = _parse_for_js_dynamic_graph_canvasjs(pstats.ordered_by_created_at)
229
+ graph_data = _parse_for_js_dynamic_graph_highstock(
230
+ pstats.ordered_by_created_at,
231
+ used_start_date,
232
+ used_end_date
233
+ )
215
234
  end
216
235
 
217
236
  # Rails.logger.debug("\t\t atype_id = #{atype_id}")
@@ -241,11 +260,17 @@ module C80Estate
241
260
  if atype_id.nil?
242
261
  free_areas_atnow_sq = pstats.where(:atype_id => nil).last.free_areas_sq
243
262
  busy_areas_atnow_sq = pstats.where(:atype_id => nil).last.busy_areas_sq
244
- graph_data_sq = _parse_for_js_dynamic_graph3_canvasjs(pstats.where(:atype_id => nil).ordered_by_created_at)
263
+ graph_data_sq = _parse_for_js_dynamic_graph_highstock_sq(pstats.where(:atype_id => nil).ordered_by_created_at,
264
+ used_start_date,
265
+ used_end_date
266
+ )
245
267
  else
246
268
  free_areas_atnow_sq = pstats.last.free_areas_sq
247
269
  busy_areas_atnow_sq = pstats.last.busy_areas_sq
248
- graph_data_sq = _parse_for_js_dynamic_graph3_canvasjs(pstats.ordered_by_created_at)
270
+ graph_data_sq = _parse_for_js_dynamic_graph_highstock_sq(pstats.ordered_by_created_at,
271
+ used_start_date,
272
+ used_end_date
273
+ )
249
274
  end
250
275
 
251
276
  # защищаемся от деления на ноль
@@ -381,7 +406,12 @@ module C80Estate
381
406
  result[:busy_coef] = sprintf "%.2f%", bcoef
382
407
  result[:comment] = "<abbr title='Период рассчёта занятости'>C #{used_start_date_str} по #{used_end_date_str}</abbr>"
383
408
  result[:abbr] = 'Занятость объекта в конце указанного периода: число b/N, где b - кол-во свободных, N - всего площадей'
384
- result[:graph_dynamic] = _parse_for_js_dynamic_graph_canvasjs(pstats.ordered_by_created_at)
409
+ # result[:graph_dynamic] = _parse_for_js_dynamic_graph_canvasjs(pstats.ordered_by_created_at)
410
+ result[:graph_dynamic] = _parse_for_js_dynamic_graph_highstock(
411
+ pstats.ordered_by_created_at,
412
+ used_start_date,
413
+ used_end_date
414
+ )
385
415
  result[:graph_radial] = _parse_for_js_radial_graph(free_areas_atnow, busy_areas_atnow)
386
416
 
387
417
  result[:raw_props] = {}
@@ -393,7 +423,10 @@ module C80Estate
393
423
 
394
424
  free_areas_atnow_sq = pstats.last.free_areas_sq
395
425
  busy_areas_atnow_sq = pstats.last.busy_areas_sq
396
- graph_data_sq = _parse_for_js_dynamic_graph3_canvasjs(pstats.ordered_by_created_at)
426
+ graph_data_sq = _parse_for_js_dynamic_graph_highstock_sq(pstats.ordered_by_created_at,
427
+ used_start_date,
428
+ used_end_date
429
+ )
397
430
 
398
431
  # защищаемся от деления на ноль
399
432
  if busy_areas_atnow_sq + free_areas_atnow_sq == 0
@@ -473,11 +506,11 @@ module C80Estate
473
506
 
474
507
  self.free_areas = self.property.areas.free_areas.count
475
508
  self.busy_areas = self.property.areas.busy_areas.count
476
- self.coef_busy = self.busy_areas*1.0 / (self.free_areas + self.busy_areas) * 100.0
509
+ self.coef_busy = (self.free_areas + self.busy_areas == 0) ? 0 : self.busy_areas*1.0 / (self.free_areas + self.busy_areas) * 100.0
477
510
 
478
511
  self.free_areas_sq = self.property.areas.free_areas_sq
479
512
  self.busy_areas_sq = self.property.areas.busy_areas_sq
480
- self.coef_busy_sq = self.busy_areas_sq*1.0 / (self.free_areas_sq + self.busy_areas_sq) * 100.0
513
+ self.coef_busy_sq = (self.free_areas_sq + self.busy_areas_sq == 0) ? 0 : self.busy_areas_sq*1.0 / (self.free_areas_sq + self.busy_areas_sq) * 100.0
481
514
 
482
515
  # здесь считаем коэф-ты для 'atype related записей'
483
516
  else
@@ -586,6 +619,7 @@ module C80Estate
586
619
 
587
620
  end
588
621
 
622
+ =begin
589
623
  def self._parse_for_js_dynamic_graph_canvasjs(pstats)
590
624
  # res: [
591
625
  # {
@@ -612,6 +646,57 @@ module C80Estate
612
646
  Rails.logger.debug "<Pstat.parse_for_js_graph> res = #{res}"
613
647
  res
614
648
  end
649
+ =end
650
+
651
+ def self._parse_for_js_dynamic_graph_highstock(pstats, start_date, end_date)
652
+ res = []
653
+ res << [start_date.to_i*1000,pstats.first.coef_busy]
654
+
655
+ pstats.each do |pstat|
656
+
657
+ res << [
658
+ pstat.created_at.to_i*1000,
659
+ pstat.coef_busy
660
+ ]
661
+
662
+ # Rails.logger.debug "#{res.last[0]}"
663
+
664
+ end
665
+
666
+ res << [end_date.to_i*1000,pstats.last.coef_busy]
667
+ # Rails.logger.debug "#{end_date.to_i*1000}"
668
+
669
+ # Rails.logger.debug "<Pstat.parse_for_js_graph> pstat.last.created_at = #{pstats.last.created_at}, #{end_date}"
670
+ # res.sort! { |a,b| a[0] <=> b[0] }
671
+ res
672
+
673
+ end
674
+
675
+ def self._parse_for_js_dynamic_graph_highstock_sq(pstats, start_date, end_date)
676
+ res = []
677
+ res << [start_date.to_i*1000,pstats.first.coef_busy_sq]
678
+
679
+ pstats.each do |pstat|
680
+
681
+ res << [
682
+ pstat.created_at.to_i*1000,
683
+ pstat.coef_busy_sq
684
+ ]
685
+
686
+ # Rails.logger.debug "#{res.last[0]}"
687
+
688
+ end
689
+
690
+ res << [end_date.to_i*1000,pstats.last.coef_busy_sq]
691
+ # Rails.logger.debug "#{end_date.to_i*1000}"
692
+
693
+ # Rails.logger.debug "<Pstat.parse_for_js_graph> pstat.last.created_at = #{pstats.last.created_at}, #{end_date}"
694
+ # res.sort! { |a,b| a[0] <=> b[0] }
695
+ res
696
+
697
+ end
698
+
699
+ =begin
615
700
 
616
701
  def self._parse_for_js_dynamic_graph3_canvasjs(pstats)
617
702
  # res: [
@@ -636,6 +721,7 @@ module C80Estate
636
721
  end
637
722
  res
638
723
  end
724
+ =end
639
725
 
640
726
  def self._calc_time_cut(first_created_at, time_now, start_date, end_date)
641
727
 
@@ -5,11 +5,11 @@ module C80Estate
5
5
  process :resize_to_limit => [1024, 1024]
6
6
 
7
7
  version :thumb512 do
8
- process :resize_to_limit => [512, 512]
8
+ process :resize_to_fill => [621, 377]
9
9
  end
10
10
 
11
11
  version :thumb256 do
12
- process :resize_to_limit => [256, 256]
12
+ process :resize_to_fill => [310, 188]
13
13
  end
14
14
 
15
15
  def store_dir
@@ -0,0 +1 @@
1
+ <%= render_show_property(property) %>
@@ -22,7 +22,7 @@
22
22
 
23
23
  </div>
24
24
  </div>
25
- <div id="gallery_block"><%= lh_render_gallery4(@vparams[:galleries]) %></div>
25
+ <div id="gallery_block" class="hidden"><%= lh_render_gallery4(@vparams[:galleries]) %></div>
26
26
  </div>
27
27
 
28
28
  <div id="price_info hidden" class="clearfix">
@@ -0,0 +1,38 @@
1
+ <%
2
+ item_title = @item.title
3
+ %>
4
+
5
+ <h4 class="bold">Общая информация</h4>
6
+
7
+ <div class="clearfix">
8
+ <div id="div_main_show_area" class="clearfix">
9
+ <%= link_to image_tag('w227x182px.gif',
10
+ :alt=>item_title,
11
+ :data => {:original => image_path(@item.main_image_url)},
12
+ :class => 'lazy'),
13
+ image_path(@item.main_image_url),
14
+ :title => item_title,
15
+ :class => 'lazy-image-wrapper no-outline' %>
16
+ <div id="main_props">
17
+ <%= smiph_render_property_props(@item) %>
18
+
19
+ <div id="div_vendor_logo">
20
+ <%# smiph_render_vendor_logo(@item) %>
21
+ </div>
22
+
23
+ </div>
24
+ </div>
25
+ </div>
26
+
27
+ <div id="div_desc">
28
+ <%= @item.desc.html_safe if @item.desc.present? %>
29
+ </div>
30
+
31
+ <div id="div_common_props" class="clearfix">
32
+ <h4 class="bold">Техническая информация</h4>
33
+ <%= ph_render_tech_props(@item) %>
34
+ </div>
35
+
36
+ <div id="related_items" class="hidden">
37
+ <%# smiph_render_related_items(@item) %>
38
+ </div>
@@ -1,3 +1,3 @@
1
1
  module C80Estate
2
- VERSION = "0.1.0.14"
2
+ VERSION = "0.1.0.15"
3
3
  end
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.14
4
+ version: 0.1.0.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - C80609A
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-07-28 00:00:00.000000000 Z
11
+ date: 2016-07-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -84,7 +84,9 @@ files:
84
84
  - app/assets/javascript/c80_estate/backend/admin/shared/areas/_area_show_common.js
85
85
  - app/assets/javascript/c80_estate/backend/admin/shared/areas/area_show.js
86
86
  - app/assets/javascript/c80_estate/backend/admin/shared/areas/gallery3.js
87
+ - app/assets/javascript/c80_estate/backend/admin/shared/properties/property_show.js
87
88
  - app/assets/javascript/c80_estate/backend/admin/src/areas.js
89
+ - app/assets/javascript/c80_estate/backend/admin/src/properties.js
88
90
  - app/assets/javascript/c80_estate/backend/admin/src/pstats.js
89
91
  - app/assets/javascript/c80_estate/backend/admin/src/sevents.js
90
92
  - app/assets/javascript/c80_estate/backend/init.js
@@ -92,6 +94,7 @@ files:
92
94
  - app/assets/javascript/c80_estate/lib/Chart.bundle.js
93
95
  - app/assets/javascript/c80_estate/lib/bootstrap-slider.js
94
96
  - app/assets/javascript/c80_estate/lib/google_charts_loader.js
97
+ - app/assets/javascript/c80_estate/lib/highstock.js
95
98
  - app/assets/javascript/c80_estate/lib/jalert.js
96
99
  - app/assets/javascript/c80_estate/lib/jquery.canvasjs.min.js
97
100
  - app/assets/javascript/c80_estate/lib/jquery.magnific-popup.js
@@ -118,6 +121,7 @@ files:
118
121
  - app/assets/stylesheets/c80_estate/backend/shared/areas/stroitelnye_materialy_item/div_price_info.scss
119
122
  - app/assets/stylesheets/c80_estate/backend/shared/areas/stroitelnye_materialy_item/div_related_items.scss
120
123
  - app/assets/stylesheets/c80_estate/backend/shared/areas/stroitelnye_materialy_item/div_vendor_logo.scss
124
+ - app/assets/stylesheets/c80_estate/backend/shared/index_adds_like_pstats.scss
121
125
  - app/assets/stylesheets/c80_estate/backend/shared/index_adds_like_sevents.scss
122
126
  - app/assets/stylesheets/c80_estate/lib/bootstrap-slider.scss
123
127
  - app/assets/stylesheets/c80_estate/lib/magnific-popup-custom.scss
@@ -132,6 +136,7 @@ files:
132
136
  - app/controllers/c80_estate/ajax_view_controller.rb
133
137
  - app/helpers/c80_estate/app_helper.rb
134
138
  - app/helpers/c80_estate/areas_helper.rb
139
+ - app/helpers/c80_estate/properties_helper.rb
135
140
  - app/models/c80_estate/aphoto.rb
136
141
  - app/models/c80_estate/area.rb
137
142
  - app/models/c80_estate/astatus.rb
@@ -156,6 +161,7 @@ files:
156
161
  - app/views/admin/areas/_show_area.html.erb
157
162
  - app/views/admin/dashboard/_atype_in_list.html.erb
158
163
  - app/views/admin/dashboard/_prop_in_list.html.erb
164
+ - app/views/admin/properties/_show_property.html.erb
159
165
  - app/views/c80_estate/ajax_areas/exel_import.html.erb
160
166
  - app/views/c80_estate/ajax_areas/exel_import.js.erb
161
167
  - app/views/c80_estate/ajax_view/table_properties_coef_busy.js.erb
@@ -165,6 +171,7 @@ files:
165
171
  - app/views/c80_estate/shared/_table_properties_coef_busy_sq.html.erb
166
172
  - app/views/c80_estate/shared/areas/_gallery4.html.erb
167
173
  - app/views/c80_estate/shared/areas/_single_area_on_page.html.erb
174
+ - app/views/c80_estate/shared/properties/_single_property_on_page.html.erb
168
175
  - bin/console
169
176
  - bin/setup
170
177
  - c80_estate.gemspec