c80_estate 0.1.0.23 → 0.1.0.24

Sign up to get free protection for your applications and to get access to all the features.
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