c80_estate 0.1.0.23 → 0.1.0.24

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 92d6434e1377535f34963ca6e84233a7987abcc2
4
- data.tar.gz: da6acc1bc02c04026baf613091e5dbecd8512bbb
3
+ metadata.gz: ef2fd40a5a56b010a8f348b3fee51344c9ac6afe
4
+ data.tar.gz: 0522badb1eabaf838438ea71bfdfc7b26993d3f5
5
5
  SHA512:
6
- metadata.gz: 3e6a6b3111937749e24fd15d9236e2908276fa42cabd92b572ac673ff4a4f79d6513003440cb51336888e4857f78cf8d280e70e24085d0f5b9d161d10d3b63a8
7
- data.tar.gz: 40c33263fe9e036a93fc78420348892ef68617d046d7518ab21d1a30a1719390f33ef3d4042703c1659b55bf7e4961f792afa23404efd728b1bf001adab47fe1
6
+ metadata.gz: 853424edb0f2f40dca3c37bc2e3c0b67ec89e508fa99b4d2fcb8f16abe36c8956bb0d834e3d9061724eb10c86c368de4ee800252b168d163b2e2d986754bf6f8
7
+ data.tar.gz: 43c176bfccb484be8307983ce4181aae81a167d145db3ecfc7878f69dc6cca03e917c4351a61ab8c8e2ac628ec8df73100c78835805c09b8994bdc01b770ffa1
@@ -11,7 +11,7 @@ var fAreasShow_initRichShowPage = function () {
11
11
  //$b.click(function (e) {
12
12
  // if (orderForm) {
13
13
  // orderForm.afterShowForm = function () {
14
- $("textarea#mess_comment").focus();
14
+ //$("textarea#mess_comment").focus();
15
15
  //
16
16
  //var $t = $("textarea#mess_comment");
17
17
  //$t.data('toggle', 'tooltip');
@@ -35,17 +35,7 @@ var fAreasShow_initRichShowPage = function () {
35
35
 
36
36
  };
37
37
 
38
- var fAreasShow = function () {
39
-
40
- // элементы html страницы
41
- var $main_content; // правая сторона, там живёт таблица
42
- //var $select_area; // фильтр area
43
- //var $select_atype; // фильтр atype
44
- //var $select_property; // фильтр property
45
- //var $select_auser; // фильтр auser
46
- //var $input_start_date; // фильтр "дата начала периода"
47
- //var $input_end_date; // фильтр "дата конца периода"
48
- //var $h2_page_title; // заголовок страницы
38
+ var fAreasShow_go = function () {
49
39
 
50
40
  // компонент "над таблицей"
51
41
  var $div_index_adds;
@@ -60,16 +50,6 @@ var fAreasShow = function () {
60
50
 
61
51
  var fBuild = function () {
62
52
 
63
- // зафиксируем html элементы
64
- $main_content = $('#main_content');
65
- //$select_area = $("#q_area_id");
66
- //$select_atype = $("#q_atype_id");
67
- //$select_property = $("#q_property_id");
68
- //$select_auser = $("#q_auser_id");
69
- //$input_start_date = $("#q_created_at_gteq");
70
- //$input_end_date = $("#q_created_at_lteq");
71
- //$h2_page_title = $("h2#page_title");
72
-
73
53
  // построим компонент "над таблицей"
74
54
  $div_index_adds = $("<div class='index_adds_like_sevents'></div>");
75
55
 
@@ -350,3 +330,15 @@ var fAreasShow = function () {
350
330
  fInit();
351
331
 
352
332
  };
333
+
334
+ var fAreasShow = function () {
335
+
336
+ // зафиксируем html элементы
337
+ $main_content = $('#main_content');
338
+
339
+ $.ajax({
340
+ url: '/estate/can_view_statistics_area',
341
+ type: 'POST',
342
+ dataType:'script'
343
+ })
344
+ };
@@ -34,15 +34,7 @@ var fPropertiesShow_initRichShowPage = function () {
34
34
 
35
35
  };
36
36
 
37
- var fPropertiesShow = function () {
38
-
39
- // элементы html страницы
40
- var $main_content; // правая сторона, там живёт таблица
41
- //var $select_atype; // фильтр atype
42
- //var $select_property; // фильтр property
43
- //var $input_start_date; // фильтр "дата начала периода"
44
- //var $input_end_date; // фильтр "дата конца периода"
45
- //var $h2_page_title; // заголовок страницы
37
+ var fPropertiesShow_go = function () {
46
38
 
47
39
  // компонент "над таблицей"
48
40
  var $div_index_adds;
@@ -77,15 +69,6 @@ var fPropertiesShow = function () {
77
69
 
78
70
  var fBuild = function () {
79
71
 
80
- // зафиксируем html элементы
81
- $main_content = $('#main_content');
82
- //$select_atype = $("#q_atype_id");
83
- //$select_property = $("#q_property_id");
84
- //$input_start_date = $("#q_created_at_gteq");
85
- //$input_end_date = $("#q_created_at_lteq");
86
- //$h2_page_title = $("h2#page_title");
87
- //
88
-
89
72
  $ajax_div = $("<div id='ajax_div'></div>");
90
73
  $ajax_div2 = $("<div id='ajax_div2'></div>");
91
74
 
@@ -122,8 +105,8 @@ var fPropertiesShow = function () {
122
105
  $main_content.prepend($ajax_div);
123
106
  $main_content.prepend($div_index_adds);
124
107
 
125
- $(".comments").before($('<h4 style="padding-top:15px;">Статистика</h4>'));
126
- $(".comments").before($div_index_adds);
108
+ $(".comments").before($('<h4 style="padding-top:15px;">Статистика</h4>'))
109
+ .before($div_index_adds);
127
110
 
128
111
  // теперь покажем
129
112
  $main_content.css('opacity', '1.0');
@@ -478,3 +461,15 @@ var fPropertiesShow = function () {
478
461
  fInit();
479
462
 
480
463
  };
464
+
465
+ var fPropertiesShow = function () {
466
+
467
+ // зафиксируем html элементы
468
+ $main_content = $('#main_content');
469
+
470
+ $.ajax({
471
+ url: '/estate/can_view_statistics',
472
+ type: 'POST',
473
+ dataType:'script'
474
+ })
475
+ };
@@ -3,6 +3,8 @@
3
3
  //
4
4
  //};
5
5
 
6
+ var $main_content;
7
+
6
8
  var fLoadingShow = function () {
7
9
  $("body").append($('<div id="loading"></div>'));
8
10
  };
@@ -12,4 +12,48 @@ div.properties_index_logo {
12
12
  }
13
13
 
14
14
  span.properties_index_logo_title {
15
+ }
16
+
17
+ body.admin_properties {
18
+
19
+ button {
20
+ span.fa.fa-chevron-right {
21
+ position: relative;
22
+ &:after {
23
+ display: block !important;
24
+ position: absolute !important;
25
+ top: -16px !important;
26
+ left: 0 !important;
27
+ width: 20px !important;
28
+ height: 20px !important;
29
+ font-family: FontAwesome !important;
30
+ content: "\f078" !important;
31
+ color: #288feb !important;
32
+ }
33
+ &:before {
34
+ display: none !important;
35
+ }
36
+ }
37
+
38
+ &.collapsed {
39
+ span.fa.fa-chevron-right {
40
+ position: relative;
41
+ &:after {
42
+ display: block !important;
43
+ position: absolute !important;
44
+ top: -16px !important;
45
+ left: 0 !important;
46
+ width: 20px !important;
47
+ height: 20px !important;
48
+ font-family: FontAwesome !important;
49
+ content: "\f054" !important;
50
+ color: #288feb !important;
51
+ }
52
+ &:before {
53
+ display: none !important;
54
+ }
55
+ }
56
+ }
57
+ }
58
+
15
59
  }
@@ -14,4 +14,15 @@ body.admin_dashboard {
14
14
  }
15
15
  }
16
16
 
17
+ table.index_table {
18
+ a {
19
+ text-decoration: none !important;
20
+ color: #323537 !important;
21
+ &:hover {
22
+ text-decoration: underline !important;
23
+ color: #124068 !important;
24
+ }
25
+ }
26
+ }
27
+
17
28
  }
@@ -52,5 +52,27 @@ module C80Estate
52
52
 
53
53
  end
54
54
 
55
+ def can_view_statistics_property
56
+
57
+ @res = current_admin_user.can_view_statistics?
58
+
59
+ respond_to do |format|
60
+ format.js
61
+ # format.json
62
+ end
63
+
64
+ end
65
+
66
+ def can_view_statistics_area
67
+
68
+ @res = current_admin_user.can_view_statistics?
69
+
70
+ respond_to do |format|
71
+ format.js
72
+ # format.json
73
+ end
74
+
75
+ end
76
+
55
77
  end
56
78
  end
@@ -7,16 +7,17 @@ module C80Estate
7
7
  def render_table_prop_busy_coef(atype_id: nil)
8
8
  # Rails.logger.debug "<render_table_prop_busy_coef> atype_id = #{atype_id}"
9
9
 
10
- props = Property.all
10
+ props = Property.sorted_chart
11
11
  if props.count > 0
12
12
  list = []
13
13
 
14
- props.all.each do |prop|
14
+ props.each do |prop|
15
15
  pp = Pstat.busy_coef(prop_id: prop.id, atype_id: atype_id)
16
16
  # Rails.logger.debug "<render_table_prop_busy_coef> pp = #{pp}"
17
17
  busy_coef = pp[:busy_coef]
18
18
  props = pp[:raw_props]
19
19
  list << {
20
+ id: prop.id,
20
21
  title: prop.title,
21
22
  busy_coef: busy_coef,
22
23
  props: props
@@ -34,17 +35,18 @@ module C80Estate
34
35
  def render_table_prop_busy_coef_sq(atype_id: nil)
35
36
  # Rails.logger.debug "<render_table_prop_busy_coef_sq> atype_id = #{atype_id}"
36
37
 
37
- props = Property.all
38
+ props = Property.sorted_chart
38
39
 
39
40
  if props.count > 0
40
41
  list = []
41
42
 
42
- props.all.each do |prop|
43
+ props.each do |prop|
43
44
  pp = Pstat.busy_coef(prop_id: prop.id, atype_id: atype_id)
44
45
  # Rails.logger.debug "<render_table_prop_busy_coef> pp = #{pp}"
45
46
  busy_coef_sq = pp[:busy_coef_sq]
46
47
  props = pp[:raw_props_sq]
47
48
  list << {
49
+ id: prop.id,
48
50
  title: prop.title,
49
51
  busy_coef: busy_coef_sq,
50
52
  props: props
@@ -21,6 +21,17 @@ module C80Estate
21
21
  has_many :sevents, :dependent => :destroy
22
22
  has_many :pstats, :dependent => :destroy
23
23
 
24
+ # scope :sort_chart, -> {order(:ord => :asc)}
25
+
26
+ def self.sorted_chart
27
+ self.all.sort_by(&:busy_koef).reverse!
28
+ end
29
+
30
+ def busy_koef
31
+ pp = Pstat.busy_coef(prop_id: self.id, atype_id: nil)
32
+ pp[:busy_coef].to_f
33
+ end
34
+
24
35
  # этот метод для ActiveRecordCollection of Properties
25
36
  def self.areas_count
26
37
  ac = 0
@@ -1,3 +1,3 @@
1
1
  <a class ='atype_in_list' href="/admin/areas?utf8=✓&q%5Batype_id_eq%5D=<%= atype.id %>&commit=Фильтровать&order=id_asc">
2
- <%= atype.title %>
2
+ <%= atype.title %> (<%= atype.areas.count %>)
3
3
  </a>
@@ -0,0 +1,5 @@
1
+ <% if @res %>
2
+ fAreasShow_go();
3
+ <% else %>
4
+ $main_content.css('opacity', '1.0');
5
+ <% end %>
@@ -0,0 +1,5 @@
1
+ <% if @res %>
2
+ fPropertiesShow_go();
3
+ <% else %>
4
+ $main_content.css('opacity', '1.0');
5
+ <% end %>
@@ -10,15 +10,15 @@
10
10
  </thead>
11
11
  <tbody>
12
12
 
13
- <% list.each do |obj| %>
13
+ <% list.each do |prop| %>
14
14
  <%# Rails.logger.debug "#{obj}" %>
15
15
  <tr>
16
- <td><%= obj[:title] %></td>
17
- <td><%= obj[:busy_coef] %></td>
16
+ <td><%= "<a href='/admin/properties/#{prop[:id]}'>#{prop[:title]}</a>".html_safe %></td>
17
+ <td><%= prop[:busy_coef] %></td>
18
18
 
19
- <% if obj[:props].present? %>
20
- <% obj[:props].each_key do |key| %>
21
- <td><%= obj[:props][key] %></td>
19
+ <% if prop[:props].present? %>
20
+ <% prop[:props].each_key do |key| %>
21
+ <td><%= prop[:props][key] %></td>
22
22
  <% end %>
23
23
  <% end %>
24
24
 
data/config/routes.rb CHANGED
@@ -2,6 +2,8 @@ C80Estate::Engine.routes.draw do
2
2
  match '/estate/get_atype_propnames', :to => 'ajax#get_atype_propnames', :via => :post
3
3
  match '/estate/areas_ecoef', :to => 'ajax#areas_ecoef', :via => :post
4
4
  match '/estate/properties_busy_coef', :to => 'ajax#properties_busy_coef', :via => :post
5
+ match '/estate/can_view_statistics_property', :to => 'ajax#can_view_statistics_property', :via => :post
6
+ match '/estate/can_view_statistics_area', :to => 'ajax#can_view_statistics_area', :via => :post
5
7
 
6
8
  match '/estate/table_properties_coef_busy', :to => 'ajax_view#table_properties_coef_busy', :via => :post
7
9
  match '/estate/table_properties_coef_busy_sq', :to => 'ajax_view#table_properties_coef_busy_sq', :via => :post
@@ -1,3 +1,3 @@
1
1
  module C80Estate
2
- VERSION = '0.1.0.23'
2
+ VERSION = '0.1.0.24'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: c80_estate
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0.23
4
+ version: 0.1.0.24
5
5
  platform: ruby
6
6
  authors:
7
7
  - C80609A
@@ -117,6 +117,7 @@ files:
117
117
  - app/assets/stylesheets/c80_estate/backend/dashboard/prop_in_list.scss
118
118
  - app/assets/stylesheets/c80_estate/backend/shared/areas/gallery3.scss
119
119
  - app/assets/stylesheets/c80_estate/backend/shared/areas/stroitelnye_materialy_item.scss
120
+ - app/assets/stylesheets/c80_estate/backend/shared/areas/stroitelnye_materialy_item/div_all_areas_table.scss
120
121
  - app/assets/stylesheets/c80_estate/backend/shared/areas/stroitelnye_materialy_item/div_button_order.scss
121
122
  - app/assets/stylesheets/c80_estate/backend/shared/areas/stroitelnye_materialy_item/div_comments.scss
122
123
  - app/assets/stylesheets/c80_estate/backend/shared/areas/stroitelnye_materialy_item/div_common_props.scss
@@ -166,6 +167,8 @@ files:
166
167
  - app/views/admin/dashboard/_atype_in_list.html.erb
167
168
  - app/views/admin/dashboard/_prop_in_list.html.erb
168
169
  - app/views/admin/properties/_show_property.html.erb
170
+ - app/views/c80_estate/ajax/can_view_statistics_area.js.erb
171
+ - app/views/c80_estate/ajax/can_view_statistics_property.js.erb
169
172
  - app/views/c80_estate/ajax_areas/exel_import.html.erb
170
173
  - app/views/c80_estate/ajax_areas/exel_import.js.erb
171
174
  - app/views/c80_estate/ajax_view/table_properties_coef_busy.js.erb