forest_liana 1.5.14 → 1.5.15

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: d465cac650830fd8f71903a65b822f4e3734bccf
4
- data.tar.gz: be8b133ba5dd8a046b701f95588e77a351f2704f
3
+ metadata.gz: 6eec3956d85afc9b46ed0697de7a7a9039c3d807
4
+ data.tar.gz: 473b55820c4e679027c17d2ebdfd815d16aed7fe
5
5
  SHA512:
6
- metadata.gz: 001764f65008472fd615b6fb395916db7eb7a39c0b81140cb4bdf0774ede763fb540751834d74d4ee39d6ae1822549eb568065f02110da74ff0eded4ce341041
7
- data.tar.gz: 46e2d9c7f17cbfa2ed9ecf46661ac107a7a09ab8bae2f00be40f8ec071225f9adb7d5cc889273971443db0a0977fce0aaf710f548583b43d6d69e531bbf9abd5
6
+ metadata.gz: 08acb56896bdef9cf219f257557ff4d49e5145b785d539791bd3f37c85537be86d9284d63618b7cc6eb023825140b0d69be597b1b0c37ad05c17d96c9fa8a41d
7
+ data.tar.gz: 81a4c96ce9796ae5346ffc9a5b23fdda55088381b022401cd440c0fb00449e9f6bc6a60235266c6aaf075eccbc5ea6bf5ee28a922d81b7ce0d94a13af2b544de
@@ -0,0 +1,21 @@
1
+ module ForestLiana
2
+ class DeviseController < ForestLiana::ApplicationController
3
+ def change_password
4
+ resource = SchemaUtils.find_model_from_table_name(
5
+ params.dig('data', 'attributes', 'collection_name'))
6
+
7
+ user = resource.find(params.dig('data', 'attributes', 'ids').first)
8
+ user.password = params.dig('data', 'attributes', 'values', 'New password')
9
+ user.save
10
+
11
+ if user.valid?
12
+ head :no_content
13
+ else
14
+ render status: 400, json: {
15
+ error: user.errors.try(:messages).try(:[], :password)
16
+ }
17
+ end
18
+ end
19
+ end
20
+ end
21
+
@@ -16,7 +16,6 @@ module ForestLiana
16
16
  extract_paperclip
17
17
  extract_carrierwave
18
18
  extract_acts_as_taggable
19
- extract_devise
20
19
 
21
20
  @attributes
22
21
  end
@@ -114,17 +113,6 @@ module ForestLiana
114
113
  end
115
114
  end
116
115
 
117
- def extract_devise
118
- return if @params['data']['attributes'].blank?
119
- return unless has_devise?
120
-
121
- if @params['data']['attributes']['password'] == '**********'
122
- @params['data']['attributes'].delete('password')
123
- else
124
- @attributes['password'] = @params['data']['attributes']['password']
125
- end
126
- end
127
-
128
116
  def paperclip_handler?(attr)
129
117
  begin
130
118
  Paperclip.io_adapters.handler_for(attr)
@@ -165,9 +153,5 @@ module ForestLiana
165
153
  @resource.respond_to?(:acts_as_taggable) &&
166
154
  @resource.acts_as_taggable.respond_to?(:to_a)
167
155
  end
168
-
169
- def has_devise?
170
- @resource.respond_to?(:devise_modules?)
171
- end
172
156
  end
173
157
  end
@@ -203,13 +203,6 @@ module ForestLiana
203
203
  end
204
204
  end
205
205
 
206
- # NOTICE: Format Devise attributes
207
- if active_record_class.respond_to?(:devise_modules?)
208
- serializer.attribute('password') do |x|
209
- '**********'
210
- end
211
- end
212
-
213
206
  SchemaUtils.associations(active_record_class).each do |a|
214
207
  begin
215
208
  if SchemaUtils.model_included?(a.klass)
@@ -28,10 +28,14 @@ module ForestLiana
28
28
 
29
29
  # NOTICE: Add Devise fields
30
30
  if @model.respond_to?(:devise_modules?)
31
- collection.fields << {
32
- field: 'password',
33
- type: 'String'
34
- }
31
+ collection.actions << ForestLiana::Model::Action.new({
32
+ id: "#{collection.name}.Change password",
33
+ name: "Change password",
34
+ fields: [{
35
+ field: 'New password',
36
+ type: 'String'
37
+ }]
38
+ })
35
39
 
36
40
  collection.fields.delete_if do |f|
37
41
  ['encrypted_password'].include?(f[:field])
data/config/routes.rb CHANGED
@@ -37,4 +37,7 @@ ForestLiana::Engine.routes.draw do
37
37
  # Intercom Integration
38
38
  get ':collection/:id/intercom_conversations' => 'intercom#user_conversations'
39
39
  get ':collection/:id/intercom_attributes' => 'intercom#attributes'
40
+
41
+ # Devise support
42
+ post '/actions/change-password' => 'devise#change_password'
40
43
  end
@@ -1,3 +1,3 @@
1
1
  module ForestLiana
2
- VERSION = "1.5.14"
2
+ VERSION = "1.5.15"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: forest_liana
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.14
4
+ version: 1.5.15
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sandro Munda
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-03-16 00:00:00.000000000 Z
11
+ date: 2017-03-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -139,6 +139,7 @@ files:
139
139
  - app/controllers/forest_liana/apimaps_controller.rb
140
140
  - app/controllers/forest_liana/application_controller.rb
141
141
  - app/controllers/forest_liana/associations_controller.rb
142
+ - app/controllers/forest_liana/devise_controller.rb
142
143
  - app/controllers/forest_liana/intercom_controller.rb
143
144
  - app/controllers/forest_liana/resources_controller.rb
144
145
  - app/controllers/forest_liana/router.rb