integration_pal 0.1.3 → 0.1.4

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: 057d3d1f623ec6a6a396c15c336a5ac820dbacba
4
- data.tar.gz: 5872559eb6642a98f9474744f2e1b0eca697fddd
3
+ metadata.gz: bfbfcca9a652c0832d296463732c575fda9c8348
4
+ data.tar.gz: a6d1460f68931dbdadee4e125fcfc9c246d42d2e
5
5
  SHA512:
6
- metadata.gz: 7b96132564133e039cabcefabd7999fc873435928362bf2dc5b65fd0c065427d3e1b0d2d4f3730be4082a040d264f1237a9a63fabeb353df6b342b0ba2ca5674
7
- data.tar.gz: 2c518f10f519f3d1c6086c117e5e4dce7425f771566db84bc22b8929866c886844c1d199791e689570cbe433ab5ad71f84dff8cf228a53c52c92f0fb8c033d81
6
+ metadata.gz: e28e45c019820d871f79e579da88fa1c812712488b2f55cb527c78678ec85817822c70929f349deefc7c68a4c35e606ce3969c0f5104b3bbc14f7195e24f7aaf
7
+ data.tar.gz: 8bd163df2013969c62cc1e9bebf4f5a309d9b7afa564dce60f85bd6cd754c6fec0f7154e9653983f2916f43e7d5ea72b8d7f87d2a3afee293a25a85d7e2341e4
@@ -10,4 +10,6 @@
10
10
  // Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
11
11
  // about supported directives.
12
12
  //
13
+ //= require jquery
14
+ //= require jquery_ujs
13
15
  //= require_tree .
@@ -0,0 +1,33 @@
1
+ class WorkerForm
2
+ constructor: ->
3
+ $('#new_setting_button').on 'click', (event) ->
4
+ event.preventDefault()
5
+ key = $('#new_setting_key').val()
6
+ value = $('#new_setting_value').val()
7
+ return if key.length < 1 || value.length < 1
8
+ formElement = """
9
+ <div id="setting_#{key}">
10
+ <label>#{key}</label>
11
+ <div class='row'>
12
+ <div class="col-sm-10">
13
+ <input class='form-control' name="worker[settings][#{key}]" type="text" value="#{value}" />
14
+ </div>
15
+ <div class='col-sm-2'>
16
+ <button class='remove_setting btn btn-danger' data-key="#{key}">Remove</button>
17
+ </div>
18
+ </div>
19
+ </div>
20
+ """
21
+ $('#worker_settings').append(formElement)
22
+
23
+ $(document).on 'click', '.remove_setting', (event) ->
24
+ event.preventDefault()
25
+ key = $(event.target).data('key')
26
+ name = "worker[settings][#{key}]"
27
+ $("input[name='#{name}']").remove()
28
+ $("#setting_#{key}").hide()
29
+
30
+ $ ->
31
+ new WorkerForm() if $('#worker_form').length > 0
32
+
33
+
@@ -25,6 +25,7 @@ module IntegrationPal
25
25
  # POST /workers
26
26
  def create
27
27
  @worker = Worker.new(worker_params)
28
+ @worker.settings = params[:worker][:settings] || {}
28
29
 
29
30
  if @worker.save
30
31
  redirect_to @worker, notice: 'Worker was successfully created.'
@@ -35,6 +36,7 @@ module IntegrationPal
35
36
 
36
37
  # PATCH/PUT /workers/1
37
38
  def update
39
+ @worker.settings = params[:worker][:settings] || {}
38
40
  if @worker.update(worker_params)
39
41
  redirect_to @worker, notice: 'Worker was successfully updated.'
40
42
  else
@@ -56,7 +58,10 @@ module IntegrationPal
56
58
 
57
59
  # Only allow a trusted parameter "white list" through.
58
60
  def worker_params
59
- params.require(:worker).permit(:name, :access_id, :secret_key, :job_type, settings: params[:worker][:settings].keys)
61
+ params[:worker] ||= {}
62
+ params[:worker][:settings] ||= {}
63
+ params[:worker][:settings].permit!
64
+ params.require(:worker).permit(:name, :access_id, :secret_key, :job_type, :settings, settings: params[:worker][:settings].keys)
60
65
  end
61
66
  end
62
67
  end
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -5,7 +5,7 @@ module IntegrationPal
5
5
  attr_encrypted :settings, key: ENV['ENCRYPTION_KEY'], salt: ENV['SALT_KEY'], marshal: true
6
6
 
7
7
  validates :name, presence: true
8
- validates :access_id, presence: true
8
+ validates :access_id, presence: true, uniqueness: true
9
9
  validates :secret_key, presence: true
10
10
  validates :job_type, presence: true
11
11
 
@@ -16,7 +16,7 @@ module IntegrationPal
16
16
  ApiAuth.generate_secret_key
17
17
  end
18
18
 
19
- after_initialize do |user|
19
+ after_initialize do |worker|
20
20
  self.settings ||= {}
21
21
  self.secret_key ||= ApiAuth.generate_secret_key
22
22
  end
@@ -1,4 +1,4 @@
1
- <%= form_with(model: worker, local: true) do |form| %>
1
+ <%= form_with(model: worker, local: true, id: 'worker_form') do |form| %>
2
2
  <% if worker.errors.any? %>
3
3
  <div id="error_explanation">
4
4
  <h2><%= pluralize(worker.errors.count, "error") %> prohibited this worker from being saved:</h2>
@@ -31,17 +31,38 @@
31
31
  <%= form.select :job_type, JOB_TYPES, {}, class: 'form-control' %>
32
32
  </div>
33
33
 
34
- <% if worker.settings.present? %>
35
- <hr />
36
- <h4>Settings</h4>
37
- <hr />
38
- <div class="form-group">
39
- <% worker.settings.each do |key, value| %>
34
+ <hr />
35
+ <h4>Settings</h4>
36
+ <hr />
37
+
38
+ <div id='worker_settings' class="form-group">
39
+ <% worker.settings.each do |key, value| %>
40
+ <div id="setting_<%= key %>">
40
41
  <%= form.label key, "#{key}" %>
41
- <input class='form-control' name="worker[settings][<%= key %>]" type="text" value="<%= value %>" />
42
- <% end %>
43
- </div>
44
- <% end %>
42
+ <div class='row'>
43
+ <div class="col-sm-10">
44
+ <input class='form-control' name="worker[settings][<%= key %>]" type="text" value="<%= value %>" />
45
+ </div>
46
+ <div class='col-sm-2'>
47
+ <button class='remove_setting btn btn-danger' data-key="<%= key %>">Remove</button>
48
+ </div>
49
+ </div>
50
+ </div>
51
+ <% end %>
52
+ </div>
53
+
54
+ <br />
55
+
56
+ <div class="form-group">
57
+ <h6>Add Setting</h6>
58
+ <%= label_tag :key %>
59
+ <%= text_field_tag :key, nil, id: 'new_setting_key' %>
60
+ <%= label_tag :value %>
61
+ <%= text_field_tag :value, nil, id: 'new_setting_value' %>
62
+ <%= button_tag "Add Setting", id: 'new_setting_button' %>
63
+ </div>
64
+
65
+ <br />
45
66
 
46
67
  <div class="actions">
47
68
  <%= form.submit 'Update Worker', class: 'btn btn-primary' %>
@@ -4,6 +4,7 @@ module IntegrationPal
4
4
  require 'rack-cas'
5
5
  require 'rack-cas-rails'
6
6
  require 'attr_encrypted'
7
+ require 'jquery-rails'
7
8
 
8
9
  cattr_accessor :mounted_path
9
10
 
@@ -1,3 +1,3 @@
1
1
  module IntegrationPal
2
- VERSION = '0.1.3'
2
+ VERSION = '0.1.4'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: integration_pal
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cody Tanner
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-06-02 00:00:00.000000000 Z
11
+ date: 2017-06-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -108,6 +108,20 @@ dependencies:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
110
  version: 1.2.1
111
+ - !ruby/object:Gem::Dependency
112
+ name: jquery-rails
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 4.3.1
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 4.3.1
111
125
  - !ruby/object:Gem::Dependency
112
126
  name: pg
113
127
  requirement: !ruby/object:Gem::Requirement
@@ -191,6 +205,7 @@ files:
191
205
  - Rakefile
192
206
  - app/assets/config/integration_pal_manifest.js
193
207
  - app/assets/javascripts/integration_pal/application.js
208
+ - app/assets/javascripts/integration_pal/workers.coffee
194
209
  - app/assets/stylesheets/integration_pal/application.css
195
210
  - app/controllers/integration_pal/api/v1/jobs_controller.rb
196
211
  - app/controllers/integration_pal/api_controller.rb
@@ -200,6 +215,22 @@ files:
200
215
  - app/helpers/integration_pal/application_helper.rb
201
216
  - app/jobs/integration_pal/application_job.rb
202
217
  - app/mailers/integration_pal/application_mailer.rb
218
+ - app/models/canvas/client.rb
219
+ - app/models/canvas/models/account.rb
220
+ - app/models/canvas/models/base_model.rb
221
+ - app/models/canvas/models/course.rb
222
+ - app/models/canvas/models/enrollment.rb
223
+ - app/models/canvas/models/file.rb
224
+ - app/models/canvas/models/folder.rb
225
+ - app/models/canvas/models/group.rb
226
+ - app/models/canvas/models/group_membership.rb
227
+ - app/models/canvas/models/section.rb
228
+ - app/models/canvas/models/term.rb
229
+ - app/models/canvas/models/user.rb
230
+ - app/models/canvas/models/user_observer.rb
231
+ - app/models/canvas/models/x_list.rb
232
+ - app/models/canvas/utils/csv.rb
233
+ - app/models/canvas/utils/sis.rb
203
234
  - app/models/integration_pal/application_record.rb
204
235
  - app/models/integration_pal/job.rb
205
236
  - app/models/integration_pal/worker.rb
@@ -222,22 +253,6 @@ files:
222
253
  - db/migrate/20170524203831_create_integration_pal_workers.rb
223
254
  - db/migrate/20170525153603_create_integration_pal_jobs.rb
224
255
  - db/migrate/20170531201218_add_error_fields_to_jobs.rb
225
- - lib/canvas/client.rb
226
- - lib/canvas/models/account.rb
227
- - lib/canvas/models/base_model.rb
228
- - lib/canvas/models/course.rb
229
- - lib/canvas/models/enrollment.rb
230
- - lib/canvas/models/file.rb
231
- - lib/canvas/models/folder.rb
232
- - lib/canvas/models/group.rb
233
- - lib/canvas/models/group_membership.rb
234
- - lib/canvas/models/section.rb
235
- - lib/canvas/models/term.rb
236
- - lib/canvas/models/user.rb
237
- - lib/canvas/models/user_observer.rb
238
- - lib/canvas/models/x_list.rb
239
- - lib/canvas/utils/csv.rb
240
- - lib/canvas/utils/sis.rb
241
256
  - lib/concerns/integration_pal/base_job.rb
242
257
  - lib/generators/integration_pal/install/USAGE
243
258
  - lib/generators/integration_pal/install/install_generator.rb