klastera 1.1.5 → 1.1.6

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
  SHA256:
3
- metadata.gz: 3d4f51a31ad550a707ac854779af0d6335062752af2bf79eeb41e23eefc0ddce
4
- data.tar.gz: 4abd8e21893258c0dd037d7596168a9266247441be74a751c0d6ee8ae2231796
3
+ metadata.gz: 878d34d9ec3f16b43e8ae1a84c4b773086606477f2b86db4052fd92eea525337
4
+ data.tar.gz: 338c177eaa872b07fa293ae69ec2989956a27c6feb66353a691506d9d6f2050b
5
5
  SHA512:
6
- metadata.gz: 29c527c10bbb047607183891488a773655ff8d394ca28961e9745dd067cf77f0a8aa6012f096d334c3209a70e4adb1359b0623b4f3a28dd3d9dca08594328783
7
- data.tar.gz: d55827e7deaa63de06c32a27a0ece3df1217d8eb4a553e1cdedee6b0efd882d33c77e9bcc9a574e89f0c7c7ae4ba4c7380c1ac74e3db79eef5f7892b4c6d62b4
6
+ metadata.gz: 1600809f0477ef856f83546cb04a28bd9b3e39bb139df8544e8a4c9006d9542540e0590921dbfc06c9159f8bcdfae93e4ef92bdf1341f0f173c823b958f575ff
7
+ data.tar.gz: 6098336be0ed5ae4aeb3de2ef873809d9f3ff06e57cd3dfa8f1dd971c9eecf2fd7dc1bb7be214e2d905a9027a97eb7ba6fe520064a1c6b993a653192c4f5afa4
@@ -7,7 +7,6 @@ module Klastera::Concerns::ClusterUser
7
7
  belongs_to :user
8
8
  belongs_to :cluster
9
9
 
10
- validates :user_id, presence: true
11
10
  validates :cluster_id, presence: true
12
11
 
13
12
  scope :of, -> (user,organization) {
@@ -14,8 +14,6 @@ module Klastera::Concerns::User
14
14
  validates :cluster_role, presence: true, if: proc{ self.organization.is_in_cluster_mode? }
15
15
  validates :cluster_role, inclusion: { in: CLUSTER_ROLES , message: I18n.t('klastera.clusters.wrong_option') }, if: proc{ cluster_role.present? }
16
16
  validate :at_least_one_role, if: proc{ self.use_cluster? && self.try(:need_cluster_assignation?) }
17
- before_destroy do |record|
18
- end
19
17
 
20
18
  def use_cluster?; self.cluster_role.present?; end
21
19
 
@@ -35,6 +33,24 @@ module Klastera::Concerns::User
35
33
  self.organization.is_in_cluster_mode? && ( self.is_a_cluster_admin? || self.is_a_cluster_root? )
36
34
  end
37
35
 
36
+ # We will try to create a cluster_user record whether
37
+ # the organization is using force mode (if cluster_id isn't present,
38
+ # will raise a validation error) or cluster_id is present
39
+ # (on organizations with show/use mode).
40
+ def try_to_clusterify!(role,cluster_id)
41
+ if self.try(:organization).try(:is_in_cluster_mode?)
42
+ self.cluster_role = role
43
+ if self.try(:organization).try(:required_suborganization_mode?) || cluster_id.present?
44
+ self.cluster_users_attributes = {
45
+ DateTime.now.to_i => {
46
+ cluster_id: cluster_id,
47
+ _destroy: false
48
+ }
49
+ }
50
+ end
51
+ end
52
+ end
53
+
38
54
  private
39
55
 
40
56
  def at_least_one_role
@@ -13,7 +13,7 @@
13
13
  >
14
14
  <%= fa_icon 'info-circle', class: 'btn-link' %>
15
15
  </span>
16
- <%= f.select :use_cluster_as, Cluster::MODES.map{|cm|[t("klastera.#{cm}"),cm]}, { include_blank: true }, { class: 'form-control' } %>
16
+ <%= f.select :use_cluster_as, ::Cluster::MODES.map{|cm|[t("klastera.#{cm}"),cm]}, { include_blank: true }, { class: 'form-control' } %>
17
17
  </div>
18
18
 
19
19
  <script type="text/javascript">
@@ -1,3 +1,3 @@
1
1
  module Klastera
2
- VERSION = "1.1.5"
2
+ VERSION = "1.1.6"
3
3
  end
data/lib/klastera.rb CHANGED
@@ -29,7 +29,6 @@ module Klastera
29
29
  scope_klass = scope_klass.where(organization_id: organization)
30
30
 
31
31
  session_clusters(user,organization) do |clusters|
32
- clusters = clusters.reject{|c|c.id.blank?}
33
32
  if organization.required_suborganization_mode?
34
33
  scope_klass = scope_klass.where("#{scope.table_name}.cluster_id IN (?)",clusters)
35
34
  elsif organization.optional_mode? && user.is_a_cluster_user?
@@ -61,7 +60,10 @@ module Klastera
61
60
  ##
62
61
  def session_clusters(user,organization)
63
62
  clusters = organization.is_in_cluster_mode? ? ::ClusterUser.get_clusters_from(user,organization) : []
64
- yield(clusters) if block_given?
63
+ if block_given?
64
+ clusters = clusters.reject{|c|c.id.blank?}
65
+ yield(clusters)
66
+ end
65
67
  clusters
66
68
  end
67
69
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: klastera
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.5
4
+ version: 1.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gino Barahona
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-09 00:00:00.000000000 Z
11
+ date: 2020-04-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails