ish_models 0.0.33.136 → 0.0.33.140
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/gallery.rb +26 -30
- data/lib/gameui/marker.rb +2 -1
- data/lib/ish/utils.rb +5 -1
- data/lib/ish_models/user_profile.rb +3 -14
- data/lib/photo.rb +7 -8
- data/lib/report.rb +3 -2
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 35a17d0129c4e975bf32ae05423340b47ed47a2ddd6a807df9aec2e525547adf
|
4
|
+
data.tar.gz: 28bcbbd16948cafa7e42ba80eefb87f85223c86c6363a798e21b0f32eb441676
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a0021a55de96d807f76330128fb49487c8bb7f571b6d586296971023d2030987226b1d7dd4e5adccba529176a6a0dfe7d5b35bea3ba93f653eeb57bd6e63e8e7
|
7
|
+
data.tar.gz: d367ce9ee126d77e7d87ee2dd7c58934256a1d546764bb4a8dbecd75717222d55d22fe7f77a7c91288423492248b7a69c5f139696cea43ff2cc2564fc5b7cb71
|
data/lib/gallery.rb
CHANGED
@@ -3,9 +3,13 @@ require 'kaminari/mongoid'
|
|
3
3
|
class Gallery
|
4
4
|
include ::Mongoid::Document
|
5
5
|
include ::Mongoid::Timestamps
|
6
|
+
include Ish::Utils
|
6
7
|
|
7
8
|
PER_PAGE = 6
|
8
9
|
|
10
|
+
field :name
|
11
|
+
validates :name, :uniqueness => true # , :allow_nil => false
|
12
|
+
|
9
13
|
field :is_public, type: Boolean, default: false
|
10
14
|
field :is_trash, type: Boolean, default: false
|
11
15
|
field :is_done, type: Boolean, default: false
|
@@ -19,51 +23,46 @@ class Gallery
|
|
19
23
|
|
20
24
|
default_scope ->{ where({ :is_public => true, :is_trash => false }).order_by({ :created_at => :desc }) }
|
21
25
|
|
22
|
-
field :x,
|
23
|
-
field :y,
|
26
|
+
field :x, :type => Float
|
27
|
+
field :y, :type => Float
|
28
|
+
field :subhead
|
29
|
+
field :descr, :as => :description
|
30
|
+
field :lang, :default => 'en'
|
31
|
+
field :issue
|
32
|
+
field :username
|
33
|
+
|
34
|
+
field :slug
|
35
|
+
index({ :slug => -1 }, { :unique => true })
|
36
|
+
validates :slug, presence: true, uniqueness: true
|
37
|
+
before_validation :set_slug, :on => :create
|
38
|
+
|
39
|
+
## @TODO: I should have a redirect service, instead of this specific thing. But only after making $50.
|
40
|
+
# embeds_many :gallery_names, :class_name => '::Ish::GalleryName'
|
41
|
+
|
24
42
|
|
25
43
|
def self.list conditions = { :is_trash => false }
|
26
44
|
out = self.unscoped.where( conditions ).order_by( :created_at => :desc )
|
27
45
|
[['', nil]] + out.map { |item| [ "#{item.created_at.strftime('%Y%m%d')} #{item.name}", item.id ] }
|
28
46
|
end
|
29
47
|
|
30
|
-
belongs_to :site,
|
31
|
-
# validates :site, :presence => true
|
32
|
-
|
48
|
+
belongs_to :site, :optional => true
|
33
49
|
belongs_to :user_profile, :optional => true, :class_name => 'IshModels::UserProfile', :inverse_of => :galleries
|
34
|
-
field :username, :type => String
|
35
|
-
has_and_belongs_to_many :shared_profiles, :class_name => 'IshModels::UserProfile', :inverse_of => :shared_galleries
|
36
|
-
|
37
|
-
field :name
|
38
|
-
validates :name, :uniqueness => true # , :allow_nil => false
|
39
50
|
|
40
|
-
|
41
|
-
|
42
|
-
def slug
|
43
|
-
galleryname
|
44
|
-
end
|
45
|
-
embeds_many :gallery_names, :class_name => '::Ish::GalleryName'
|
46
|
-
def self.find_by_slug slug
|
47
|
-
::Gallery.where( galleryname: slug ).first
|
48
|
-
end
|
49
|
-
|
50
|
-
field :subhead, :type => String
|
51
|
-
field :descr, :type => String, :as => :description
|
52
|
-
field :lang, :type => String, :default => 'en'
|
51
|
+
has_and_belongs_to_many :shared_profiles, :class_name => 'IshModels::UserProfile', :inverse_of => :shared_galleries
|
52
|
+
has_and_belongs_to_many :tags
|
53
53
|
|
54
|
+
has_many :newsitems
|
54
55
|
has_many :photos
|
55
56
|
|
56
|
-
has_and_belongs_to_many :tags
|
57
57
|
belongs_to :city, :optional => true
|
58
58
|
belongs_to :venue, :optional => true
|
59
|
+
belongs_to :newsparent, polymorphic: true, optional: true
|
59
60
|
|
60
|
-
has_many :newsitems
|
61
61
|
|
62
62
|
set_callback(:create, :before) do |doc|
|
63
63
|
if doc.user_profile && doc.user_profile.name
|
64
64
|
doc.username = doc.user_profile.name
|
65
65
|
end
|
66
|
-
doc.galleryname ||= doc.id.to_s
|
67
66
|
|
68
67
|
#
|
69
68
|
# newsitems
|
@@ -107,16 +106,13 @@ class Gallery
|
|
107
106
|
|
108
107
|
# @deprecated, use Gallery::ACTIONS
|
109
108
|
def self.actions
|
110
|
-
|
109
|
+
ACTIONS
|
111
110
|
end
|
112
111
|
ACTIONS = [ 'show_mini', 'show_long', 'show' ]
|
113
112
|
|
114
|
-
field :issue
|
115
|
-
|
116
113
|
RENDER_TITLES = 'index_titles' # view name
|
117
114
|
RENDER_THUMBS = 'index_thumbs' # view name
|
118
115
|
|
119
|
-
belongs_to :newsparent, polymorphic: true, optional: true
|
120
116
|
|
121
117
|
set_callback :update, :after do |doc|
|
122
118
|
Site.update_all updated_at: Time.now
|
data/lib/gameui/marker.rb
CHANGED
data/lib/ish/utils.rb
CHANGED
@@ -5,7 +5,11 @@ module Ish::Utils
|
|
5
5
|
|
6
6
|
def set_slug
|
7
7
|
return if slug
|
8
|
-
|
8
|
+
if name
|
9
|
+
new_slug = name.downcase.gsub(/[^a-z0-9\s]/i, '').gsub(' ', '-')
|
10
|
+
else
|
11
|
+
new_slug = '1'
|
12
|
+
end
|
9
13
|
if self.class.where( slug: new_slug ).first
|
10
14
|
loop do
|
11
15
|
if new_slug[new_slug.length-1].to_i != 0
|
@@ -16,11 +16,13 @@ class IshModels::UserProfile
|
|
16
16
|
field :fb_long_access_token
|
17
17
|
field :fb_expires_in
|
18
18
|
|
19
|
-
field :lang, :
|
19
|
+
field :lang, default: 'en'
|
20
20
|
|
21
21
|
ROLES = [ :admin, :manager, :guy ]
|
22
22
|
field :role_name, :type => Symbol
|
23
23
|
|
24
|
+
has_one :profile_photo, :class_name => 'Photo', :inverse_of => :profile_city
|
25
|
+
|
24
26
|
belongs_to :user
|
25
27
|
belongs_to :current_city, :class_name => 'City', :inverse_of => :current_users, :optional => true
|
26
28
|
belongs_to :guide_city, :class_name => 'City', :inverse_of => :guide, :optional => true
|
@@ -90,16 +92,3 @@ class IshModels::UserProfile
|
|
90
92
|
end
|
91
93
|
|
92
94
|
Profile = IshModels::UserProfile
|
93
|
-
|
94
|
-
=begin
|
95
|
-
field :about, :type => String
|
96
|
-
field :education, :type => String
|
97
|
-
field :objectives, :type => String
|
98
|
-
field :current_employment, :type => String
|
99
|
-
field :past_employment, :type => String
|
100
|
-
field :pdf_resume_path, :type => String
|
101
|
-
field :doc_resume_path, :type => String
|
102
|
-
|
103
|
-
TAGS = [ :social, :professional ]
|
104
|
-
field :tag, :type => Symbol
|
105
|
-
=end
|
data/lib/photo.rb
CHANGED
@@ -5,17 +5,16 @@ class Photo
|
|
5
5
|
include Mongoid::Timestamps
|
6
6
|
include Mongoid::Paperclip
|
7
7
|
|
8
|
-
# belongs_to :user, :inverse_of => :photos
|
9
|
-
# validates :user, :presence => true
|
10
|
-
# field :username, :type => String
|
11
|
-
|
12
8
|
has_and_belongs_to_many :viewers, :class_name => 'User', :inverse_of => :viewable_photos
|
13
9
|
|
14
10
|
belongs_to :user_profile, :class_name => 'IshModels::UserProfile', :optional => true
|
15
|
-
def user
|
16
|
-
|
17
|
-
|
18
|
-
belongs_to :
|
11
|
+
def user
|
12
|
+
user_profile
|
13
|
+
end
|
14
|
+
belongs_to :profile_city, :class_name => 'City', :inverse_of => :profile_photo, :optional => true
|
15
|
+
belongs_to :user_profile, :class_name => 'IshModels::UserProfile', :inverse_of => :profile_photo, :optional => true
|
16
|
+
belongs_to :profile_venue, :class_name => 'Venue', :inverse_of => :profile_photo, :optional => true
|
17
|
+
belongs_to :profile_event, :class_name => 'Event', :inverse_of => :profile_photo, :optional => true
|
19
18
|
|
20
19
|
belongs_to :report, :optional => true
|
21
20
|
belongs_to :venue, :optional => true
|
data/lib/report.rb
CHANGED
@@ -11,6 +11,7 @@ class Report
|
|
11
11
|
field :slug
|
12
12
|
validates :slug, :uniqueness => true, :presence => true
|
13
13
|
index({ :slug => 1 }, { :unique => true })
|
14
|
+
before_validation :set_slug, :on => :create
|
14
15
|
|
15
16
|
## Can be one of: default (nil), longscroll
|
16
17
|
field :item_type, type: String
|
@@ -18,7 +19,7 @@ class Report
|
|
18
19
|
field :descr, :type => String
|
19
20
|
|
20
21
|
field :is_trash, :type => Boolean, :default => false
|
21
|
-
index :is_trash => 1, :is_public => 1
|
22
|
+
index({ :is_trash => 1, :is_public => 1 }, { name: 'default_index' })
|
22
23
|
|
23
24
|
field :is_public, :type => Boolean, :default => true
|
24
25
|
index({ :is_public => 1 })
|
@@ -97,7 +98,7 @@ class Report
|
|
97
98
|
end
|
98
99
|
end
|
99
100
|
|
100
|
-
|
101
|
+
|
101
102
|
|
102
103
|
set_callback :update, :after do |doc|
|
103
104
|
Site.update_all updated_at: Time.now
|