c80_estate 0.1.0.4 → 0.1.0.5

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: 874477f69a0669398c5c3ecffeb2749cb5083cde
4
- data.tar.gz: 9b447c9a40b61e65e2750b23de3a75558e23af6f
3
+ metadata.gz: 92af0bcd120ccea43d4e9ca0659b0b327cb2bc99
4
+ data.tar.gz: 1044a9f90b63402bd786df086fc27d3e011dc534
5
5
  SHA512:
6
- metadata.gz: 67de432c20fcc77bc29dcb3ae67360974e382f5f0ed1986ce09f5e9be10359142e7797c56610ee8f1bb6a55f359f6be283a5d5e8e7219f0a7497eeae8b39af8a
7
- data.tar.gz: 29ba6d1171311bca2b3abbdf56985da00dda295e45b36384d69b8f944a799d704981f5cb3a627f9ae423afe97504f5819a61f8eacfebcde643000d8f544fa162
6
+ metadata.gz: f5f1d56d4a4365128365fc574ed8864df30608746d15d238e78c9ade84caf728e45e058e437f02c3ca5277bb1d01c979f735fe0ada5f3e4f22fd84717d66daf8
7
+ data.tar.gz: 9b2fce81d9f2ac426a48f1d9c1c832cddb02bff36c35750b3f5e9d2bb68d2d65af692b3cd0108412ee8d26a09bb874db24f9faf5b07495924e91c2e47db2da43
@@ -18,12 +18,40 @@ ActiveAdmin.register C80Estate::Area, as: 'Area' do
18
18
 
19
19
  config.sort_order = 'id_asc'
20
20
 
21
- filter :title
21
+ filter :atype_id,
22
+ :label => 'Тип площади',
23
+ :as => :select,
24
+ :collection => -> {C80Estate::Atype.all.map { |p| ["#{p.title}", p.id]}},
25
+ :input_html => { :class => 'selectpicker', 'data-size' => "10", 'data-width' => '100%'}
22
26
  filter :property_id,
27
+ :label => 'Объект недвижимости',
23
28
  :as => :select,
24
29
  :collection => -> {C80Estate::Property.all.map { |p| ["#{p.title}", p.id]}},
25
30
  :input_html => { :class => 'selectpicker', 'data-size' => "10", 'data-width' => '100%'}
31
+
32
+ filter :item_prop_square_val_in,
33
+ :as => :string,
34
+ :label => 'Площадь (м.кв.)'
35
+
36
+ filter :item_prop_price_val_in,
37
+ :as => :string,
38
+ :label => 'Цена'
39
+
40
+ filter :item_prop_oenter_in,
41
+ :as => :select,
42
+ :collection => [['Есть',11],['Нет',10]],
43
+ :label => 'Отдельный вход с улицы',
44
+ :input_html => { :class => 'selectpicker', 'data-size' => "3", 'data-width' => '100%'}
45
+
46
+ filter :item_prop_floor_val_in,
47
+ :as => :select,
48
+ :collection => -> { C80Estate::ItemProp.all_uniq_values(5) },
49
+ :label => 'Этаж',
50
+ :input_html => { :class => 'selectpicker', 'data-size' => "3", 'data-width' => '100%'}
51
+
52
+ # filter :title
26
53
  filter :assigned_person_id,
54
+ :label => 'Назначенный пользователь',
27
55
  :as => :select,
28
56
  :collection => -> {AdminUser.all.map{|u| ["#{u.email}", u.id]}},
29
57
  :input_html => { :class => 'selectpicker', 'data-size' => "10", 'data-width' => '100%'}
@@ -105,5 +105,9 @@ body.admin_areas {
105
105
  legend { display: none !important; }
106
106
  }
107
107
 
108
+ a.delete_link {
109
+ display: none;
110
+ }
111
+
108
112
  }
109
113
  }
@@ -0,0 +1,18 @@
1
+ body.admin_prop_names {
2
+
3
+ &.index {
4
+
5
+ a.delete_link {
6
+ display: none !important;
7
+ }
8
+
9
+ }
10
+
11
+
12
+ &.show {
13
+ .action_items {
14
+ display: none !important;
15
+ }
16
+ }
17
+
18
+ }
@@ -76,6 +76,37 @@ module C80Estate
76
76
  sum
77
77
  end
78
78
 
79
+ def self.where_price(v)
80
+ self.joins(:item_props)
81
+ .where(c80_estate_item_props: {prop_name_id: 1})
82
+ .where(c80_estate_item_props: {value: v})
83
+ end
84
+
85
+ def self.where_square(v)
86
+ C80Estate::Area.joins(:item_props)
87
+ .where(c80_estate_item_props: {prop_name_id: 9})
88
+ .where(c80_estate_item_props: {value: v})
89
+ end
90
+
91
+ def self.where_oenter(v)
92
+ # Rails.logger.debug "\t\t [2]: v = #{v}"
93
+ r = C80Estate::Area.joins(:item_props)
94
+ .where(c80_estate_item_props: {prop_name_id: 8})
95
+ if v.to_i == 11
96
+ r = r.where(c80_estate_item_props: {value: 1})
97
+ else
98
+ r = r.where.not(c80_estate_item_props: {value: 1})
99
+ end
100
+ r
101
+ end
102
+
103
+ def self.where_floor(v)
104
+ # Rails.logger.debug "\t\t [2]: v = #{v}"
105
+ C80Estate::Area.joins(:item_props)
106
+ .where(c80_estate_item_props: {prop_name_id: 5})
107
+ .where(c80_estate_item_props: {value: v})
108
+ end
109
+
79
110
  def atype_title
80
111
  res = "-"
81
112
  if atype.present?
@@ -124,6 +155,46 @@ module C80Estate
124
155
  res
125
156
  end
126
157
 
158
+ ransacker :item_prop_price_val,
159
+ formatter: proc { |price|
160
+ results = C80Estate::Area.where_price(price).map(&:id)
161
+ results = results.present? ? results : nil
162
+ }, splat_params: true do |parent|
163
+ parent.table[:id]
164
+ end
165
+
166
+ ransacker :item_prop_square_val,
167
+ formatter: proc { |square|
168
+ results = C80Estate::Area.where_square(square).map(&:id)
169
+ results = results.present? ? results : nil
170
+ }, splat_params: true do |parent|
171
+ parent.table[:id]
172
+ end
173
+
174
+ ransacker :item_prop_floor_val,
175
+ formatter: proc { |v|
176
+ results = C80Estate::Area.where_floor(v).map(&:id)
177
+ results = results.present? ? results : nil
178
+ }, splat_params: true do |parent|
179
+ parent.table[:id]
180
+ end
181
+
182
+ ransacker :item_prop_oenter,
183
+ formatter: proc { |option|
184
+ # Неважно: -1
185
+ # Да: 1
186
+ # Нет: 0
187
+ Rails.logger.debug "\t\t [1]: option = #{option}"
188
+
189
+ if option.to_i == 10 || option.to_i == 11
190
+ results = C80Estate::Area.where_oenter(option).map(&:id)
191
+ end
192
+
193
+ results = results.present? ? results : nil
194
+ }, splat_params: true do |parent|
195
+ parent.table[:id]
196
+ end
197
+
127
198
  protected
128
199
 
129
200
  # при создании площади генерится начальное событие
@@ -7,6 +7,11 @@ module C80Estate
7
7
 
8
8
  before_save :before_save_format_value
9
9
 
10
+ def self.all_uniq_values(prop_name_id)
11
+ self.where(prop_name_id: prop_name_id)
12
+ .map { |ip| ip.value }.uniq
13
+ end
14
+
10
15
  private
11
16
 
12
17
  def self.capz
@@ -0,0 +1,104 @@
1
+ ru:
2
+ activerecord:
3
+ models:
4
+ area:
5
+ one: "площадь"
6
+ other: "Площади"
7
+ c80_news_tz/nphoto: ""
8
+ c80_news_tz/gallery: ""
9
+ c80_news_tz/gphoto: "картинку"
10
+ c80_news_tz/cphoto: ""
11
+ c80_news_tz/fphoto: ""
12
+ c80_news_tz/adress: ""
13
+ property:
14
+ one: "объект"
15
+ other: "Объекты"
16
+ uom:
17
+ one: 'единицу измерения'
18
+ other: 'Единицы измерения'
19
+ prop_name:
20
+ one: 'имя свойства'
21
+ other: 'Имена свойств'
22
+ role_type:
23
+ one: 'роль'
24
+ other: 'Роли'
25
+ astatus:
26
+ one: 'статус'
27
+ other: 'Статусы'
28
+ atype:
29
+ one: 'тип'
30
+ other: 'Типы площадей'
31
+ admin_user:
32
+ one: 'пользователя'
33
+ other: 'Пользователи'
34
+ attributes:
35
+ c80_estate/area:
36
+ title: "Название"
37
+ atype: 'Тип'
38
+ property: 'Объект'
39
+ astatus: 'Статус'
40
+ assigned_person: 'Ответственный'
41
+ created_at: 'Время создания'
42
+ updated_at: 'Изменён'
43
+ c80_news_tz/nphoto:
44
+ image: 'Файл'
45
+ c80_news_tz/adress:
46
+ locality: 'Город'
47
+ street: 'Улица'
48
+ telephone_1: 'Телефон №1'
49
+ telephone_2: 'Телефон №2'
50
+ telephone_3: 'Телефон №3'
51
+ latitude: 'Широта'
52
+ longitude: 'Долгота'
53
+ email_1: 'Email №1'
54
+ email_2: 'Email №2'
55
+ site_1: 'Сайт №1'
56
+ site_2: 'Сайт №2'
57
+ c80_news_tz/company:
58
+ title: 'Название'
59
+ activity_type: 'Род деятельности'
60
+ desc: 'Описание'
61
+ facts: 'Публикации'
62
+ c80_news_tz/gallery:
63
+ title: 'Название галереи'
64
+ c80_news_tz/fact:
65
+ title: 'Заголовок'
66
+ created_at: 'Дата создания'
67
+ short: 'Кратко'
68
+ rubrics: 'Рубрики'
69
+ issues: 'Номер'
70
+ issue: 'Номер'
71
+ leader_abz: 'Лидер абзац'
72
+ full: ''
73
+ companies: ''
74
+ c80_news_tz/issue:
75
+ number: 'Номер'
76
+ pdf: 'PDF'
77
+ pdfs: 'PDF'
78
+ facts: 'Публикации'
79
+ c80_news_tz/rubric:
80
+ title: 'Название'
81
+ facts: 'Публикации'
82
+ c80_news_tz/location:
83
+ title: 'Название'
84
+ facts: 'Публикация'
85
+ c80_news_tz/r_live:
86
+ title: 'Название'
87
+ r_advertisers: 'Рекламодатель'
88
+ c80_news_tz/r_advertiser:
89
+ title: 'Название'
90
+ logo: 'Лого'
91
+ r_blurbs: 'Публикации'
92
+ c80_news_tz/r_blurb:
93
+ title: 'Заголовок'
94
+ created_at: 'Дата создания'
95
+ short: 'Кратко'
96
+ rubrics: 'Рубрики'
97
+ issues: 'Номер'
98
+ issue: 'Номер'
99
+ leader_abz: 'Лидер абзац'
100
+ full: ''
101
+ r_advertisers: ''
102
+ c80_news_tz/spot:
103
+ title: 'Название'
104
+ rubrics: 'Рубрика'
@@ -1,3 +1,3 @@
1
1
  module C80Estate
2
- VERSION = "0.1.0.4"
2
+ VERSION = "0.1.0.5"
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.4
4
+ version: 0.1.0.5
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-21 00:00:00.000000000 Z
11
+ date: 2016-07-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -87,6 +87,7 @@ files:
87
87
  - app/assets/javascript/c80_estate/lib/jquery.canvasjs.min.js
88
88
  - app/assets/javascript/c80_estate_active_admin.js.coffee
89
89
  - app/assets/stylesheets/c80_estate/backend/admin_areas.scss
90
+ - app/assets/stylesheets/c80_estate/backend/admin_prop_names.scss
90
91
  - app/assets/stylesheets/c80_estate/backend/admin_pstats.scss
91
92
  - app/assets/stylesheets/c80_estate/backend/admin_sevents.scss
92
93
  - app/assets/stylesheets/c80_estate/backend/admin_users.scss
@@ -129,6 +130,7 @@ files:
129
130
  - bin/console
130
131
  - bin/setup
131
132
  - c80_estate.gemspec
133
+ - config/locales/ru.yml
132
134
  - config/routes.rb
133
135
  - db/migrate/20160629033535_create_c80_estate_properties.rb
134
136
  - db/migrate/20160629033538_create_c80_estate_areas.rb