my_forum 0.0.1.beta37 → 0.0.1.beta38

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: 03b3cc40a791edfb4194434b71762812b81ef5fc
4
- data.tar.gz: 71c82e4793168591520f86bedebabcf1d4946375
3
+ metadata.gz: 31f75c76f47fdee65be36da33f7542c0a3f23a0d
4
+ data.tar.gz: d01efedd20e6ff6d653562bc33c0622e6cc4f98d
5
5
  SHA512:
6
- metadata.gz: 7dfdcc7b66f9443979596df63d8d0677ff9b53d55c9197d39d91324ddace3376cce45fe726ae82227dbfef917a1a0ed3d7100cfbbc4d050a4348ac8d3d231d2a
7
- data.tar.gz: 6e7df886f252d316a6c6ca230f1dd9508bff78f009c1c2cec57c6a20a028c6df9bfb4ae18ca65a7eda24223bec4ae7ec45df6f52ccb9dd92159f4ded1e6bb1cd
6
+ metadata.gz: 35ffc2e59280e2be0621d15121ec332332239c6631dee21debc59a7c04f9cb8904c2255e6025a7f0306c8392879d4d89206d1c7b8e4824bc210cfdd9cc4019d5
7
+ data.tar.gz: dd15a84b6cea17291df8891de0551d9257d33c3f74f2fb34ba34c6a6646cb03b018f02d2da5c2413e57f6b682c0794a84046251764e04f5d8c72b44c39e2c8b0
@@ -19,6 +19,15 @@
19
19
  @import "font-awesome-sprockets";
20
20
  @import "font-awesome";
21
21
 
22
+ .popover {
23
+ min-width: 540px !important;
24
+ }
25
+
26
+ .popover-title {
27
+ font-weight: bold;
28
+ color: #000;
29
+ }
30
+
22
31
  .modal-dialog {
23
32
  .post_attachment {
24
33
  max-width: 200px;
@@ -1,10 +1,13 @@
1
1
  .profile-popover {
2
- width: 360px;
3
2
  font-size: 11px;
4
3
  color: #000;
5
4
 
5
+ .second_row {
6
+ margin-left: 10px;
7
+ }
8
+
6
9
  .pm {
7
- margin-top: 10px;
10
+ margin: 16px 0;
8
11
  }
9
12
  }
10
13
 
@@ -29,6 +32,12 @@
29
32
  }
30
33
 
31
34
  .post_from_user_login {
35
+ .user_profile_popover {
36
+ position: relative;
37
+ z-index: 100;
38
+ padding: 5px;
39
+ }
40
+
32
41
  font-weight: bold;
33
42
  color: #c1ccf5;
34
43
  }
@@ -14,7 +14,13 @@ module MyForum
14
14
 
15
15
  def update
16
16
  update_password
17
- current_user.update_columns(user_update_params)
17
+
18
+ current_user.update!(user_update_params)
19
+
20
+ User::ADDITIONAL_INFO_ATTRS.each do |attr|
21
+ current_user.update(attr => params[:user][attr]) if params[:user][attr]
22
+ end
23
+
18
24
  redirect_to edit_user_path(current_user)
19
25
  end
20
26
 
@@ -20,7 +20,7 @@ module MyForum
20
20
  SELECT posts.id, posts.user_id, posts.text, posts.topic_id, posts.updated_at, topics.name as topic_name, topics.forum_id, topics.deleted FROM my_forum_posts AS posts
21
21
  LEFT JOIN my_forum_topics AS topics ON posts.topic_id = topics.id
22
22
  LEFT JOIN my_forum_forums AS forums ON forums.id = topics.forum_id
23
- WHERE posts.id IN (SELECT MAX(id) FROM my_forum_posts GROUP BY topic_id) AND posts.is_deleted IS FALSE AND topics.deleted IS FALSE
23
+ WHERE posts.id IN (SELECT MAX(id) FROM my_forum_posts GROUP BY topic_id) AND posts.is_deleted IS FALSE AND topics.deleted IS FALSE AND forums.id IN (#{available_forum_ids.join(',')})
24
24
  ORDER BY posts.id DESC LIMIT 10
25
25
  ")
26
26
  end
@@ -25,5 +25,9 @@ module MyForum
25
25
  return unless User.online.pluck(:login).include?(user_login)
26
26
  content_tag :div, ' '.html_safe, class: 'label label-success'
27
27
  end
28
+
29
+ def additional_info_attrs
30
+ MyForum::User::ADDITIONAL_INFO_ATTRS
31
+ end
28
32
  end
29
33
  end
@@ -18,11 +18,32 @@ module MyForum
18
18
  enum gender: [:female, :male, :alien]
19
19
  serialize :additional_info
20
20
 
21
-
22
21
  validates_uniqueness_of :login, :email
23
22
 
24
23
  before_save :encrypt_password
25
24
 
25
+ ADDITIONAL_INFO_ATTRS = [:real_name, :phone, :car_info]
26
+ #, :website_url, :personal_text
27
+
28
+ def self.serialized_attr_accessor(*args)
29
+ ADDITIONAL_INFO_ATTRS.each do |attr|
30
+ eval "
31
+ def #{attr}
32
+ (self.additional_info || {})[:#{attr}]
33
+ end
34
+
35
+ def #{attr}=(value)
36
+ self.additional_info ||= {}
37
+ self.additional_info[:#{attr}] = value
38
+ end
39
+ "
40
+ end
41
+ end
42
+
43
+ # TODO should be stored in DB for editin from admin panel
44
+ #serialized_attr_accessor :real_name, :phone, :website_url, :personal_text
45
+ serialized_attr_accessor
46
+
26
47
  def valid_password?(submitted_password)
27
48
  password == encrypt(submitted_password)
28
49
  end
@@ -1,22 +1,45 @@
1
1
  .profile-popover
2
- .row
3
- .col-sm-5= t('my_forum.profile_popover.posts_count')
4
- .col-sm-4= user.posts_count
2
+ .row.col-md-12
3
+ .row.col-md-6
4
+ .row
5
+ .col-sm-6
6
+ %strong= t('my_forum.profile_popover.posts_count')
7
+ .col-sm-6
8
+ = user.posts_count
9
+ .row
10
+ .col-sm-6
11
+ %strong= t('my_forum.profile_popover.registered_at')
12
+ .col-sm-6
13
+ = time(user.created_at)
14
+ .row
15
+ .col-sm-6
16
+ %strong= t('my_forum.profile_popover.status')
17
+ .col-sm-6
18
+ - is_online = is_online_user?(user.login)
19
+ = is_online ? t('my_forum.profile_popover.online') : t('my_forum.profile_popover.offline')
20
+ - unless is_online
21
+ .row
22
+ .col-sm-6
23
+ %strong= t('my_forum.profile_popover.last_online')
24
+ .col-sm-6
25
+ = time(user.updated_at)
26
+ .row.pm
27
+ .col-sm-12= link_to t('my_forum.profile_popover.write_pm'), new_private_message_path(to: user.login), class: 'btn btn-xs btn-warning'
5
28
 
6
- .row
7
- .col-sm-5= t('my_forum.profile_popover.registered_at')
8
- .col-sm-4= time(user.created_at)
29
+ .row.col-md-6.second_row
30
+ .row
31
+ .col-sm-5
32
+ %strong= t('my_forum.profile_popover.user_name')
33
+ .col-sm-7
34
+ = user.phone || '-'
35
+ .row
36
+ .col-sm-5
37
+ %strong= t('my_forum.profile_popover.phone')
38
+ .col-sm-7
39
+ = user.real_name || '-'
40
+ .row
41
+ .col-sm-5
42
+ %strong= t('my_forum.profile_popover.car_info')
43
+ .col-sm-7
44
+ = user.car_info || '-'
9
45
 
10
- .row
11
- .col-sm-5= t('my_forum.profile_popover.status')
12
- .col-sm-4
13
- - is_online = is_online_user?(user.login)
14
- = is_online ? t('my_forum.profile_popover.online') : t('my_forum.profile_popover.offline')
15
-
16
- - unless
17
- .row
18
- .col-sm-5= t('my_forum.profile_popover.last_online')
19
- .col-sm-4= time(user.updated_at)
20
-
21
- .row.pm
22
- .col-sm-12= link_to t('my_forum.profile_popover.write_pm'), new_private_message_path(to: user.login), class: 'btn btn-xs btn-warning'
@@ -25,3 +25,12 @@
25
25
  .row= form.file_field :avatar
26
26
  .row= form.text_field :avatar_url, placeholder: 'http://...'
27
27
  .row= form.submit t('.update_avatar'), class: 'btn btn-primary btn-sm submit_update_avatar'
28
+ %br
29
+ %h2= t('.edit_additional_info')
30
+ .row
31
+ .col-md-4
32
+ = form_for current_user, url: user_path(current_user), role: 'form' do |form|
33
+ - additional_info_attrs.each do |attr|
34
+ .form-group= form.text_field attr, class: 'name form-control', placeholder: t("my_forum.additional_info.#{attr.to_s}")
35
+
36
+ = form.submit t('.update'), class: 'btn btn-primary btn-sm'
@@ -8,14 +8,23 @@ ru:
8
8
  shared:
9
9
  post_preview:
10
10
  preview: 'Предпросмотр сообщения'
11
+ additional_info:
12
+ real_name: 'Ваше имя'
13
+ phone: 'Контактный телефон'
14
+ website_url: 'Ваш сайт'
15
+ personal_text: 'Подпись'
16
+ car_info: 'Марка и модель авто'
11
17
 
12
18
  profile_popover:
13
- posts_count: 'Сообщений на форуме: '
14
- registered_at: 'Дата регистрации: '
15
- status: 'Текущий статус:'
19
+ posts_count: 'Сообщений: '
20
+ registered_at: 'Регистрация: '
21
+ status: 'Статус:'
16
22
  online: 'на форуме'
17
23
  offline: 'не на форуме'
18
- last_online: 'Был на форуме'
24
+ last_online: 'Был на форуме:'
25
+ user_name: 'Имя'
26
+ phone: 'Телефон'
27
+ car_info: 'Марка авто'
19
28
  write_pm: 'Написать ЛС'
20
29
 
21
30
  today: "Сегодня в %{hhmm}"
@@ -130,6 +139,7 @@ ru:
130
139
  avatar_upload_description: 'Загрузите свой аватар или укажите ссылку'
131
140
  update: 'Обновить'
132
141
  update_avatar: 'Обновить аватар'
142
+ edit_additional_info: 'Дополнительная информация'
133
143
 
134
144
 
135
145
  private_messages:
@@ -1,3 +1,3 @@
1
1
  module MyForum
2
- VERSION = "0.0.1.beta37"
2
+ VERSION = "0.0.1.beta38"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: my_forum
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1.beta37
4
+ version: 0.0.1.beta38
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vitaly Omelchenko
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-12-25 00:00:00.000000000 Z
11
+ date: 2016-01-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -323,12 +323,10 @@ files:
323
323
  - spec/dummy/db/development.sqlite3
324
324
  - spec/dummy/db/schema.rb
325
325
  - spec/dummy/db/test.sqlite3
326
- - spec/dummy/log/test.log
327
326
  - spec/dummy/public/404.html
328
327
  - spec/dummy/public/422.html
329
328
  - spec/dummy/public/500.html
330
329
  - spec/dummy/public/favicon.ico
331
- - spec/dummy/test.db
332
330
  - spec/helpers/my_forum/posts_helper_spec.rb
333
331
  - spec/helpers/my_forum/private_messages_helper_spec.rb
334
332
  - spec/models/my_forum/emoticon_spec.rb
@@ -395,14 +393,12 @@ test_files:
395
393
  - spec/dummy/db/development.sqlite3
396
394
  - spec/dummy/db/schema.rb
397
395
  - spec/dummy/db/test.sqlite3
398
- - spec/dummy/log/test.log
399
396
  - spec/dummy/public/404.html
400
397
  - spec/dummy/public/422.html
401
398
  - spec/dummy/public/500.html
402
399
  - spec/dummy/public/favicon.ico
403
400
  - spec/dummy/Rakefile
404
401
  - spec/dummy/README.rdoc
405
- - spec/dummy/test.db
406
402
  - spec/helpers/my_forum/posts_helper_spec.rb
407
403
  - spec/helpers/my_forum/private_messages_helper_spec.rb
408
404
  - spec/models/my_forum/emoticon_spec.rb