inline_forms 5.1.0 → 5.1.1

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: 52f4a06037437f39577e650e97424ad15c3eeda2
4
- data.tar.gz: 14c177bf9e3c0049e357aa71bac9118c3bffd308
3
+ metadata.gz: 508d19cb75c838a6c031cda1af55fd3d5c4dc164
4
+ data.tar.gz: 7f0b89f9d09ab310576781a3c76fed0849092508
5
5
  SHA512:
6
- metadata.gz: 3abe277abf781d80902b92eaa0a3a88457de1f6605b15c6f9c4abc0856b50986ad6b0f207896c0188fd26f05b1d1c6427156005e4f181080f03e9f3d714993df
7
- data.tar.gz: 915e21c01f8916b26270c89556dbed943838be92c476a26c9a97e785f264dda037289adc0243fb4d34a1f1a6237ad6d09c47583b9f3503189e056166ad4d3df2
6
+ metadata.gz: 9d84b37c2928f2a3a3aa7430adb571f9034020c5b63b7bcb010b60e705277aeb6989087aef7634a8e147e7fd0408814f62899eed190350aab6ad1593eda62e34
7
+ data.tar.gz: 9cdf6fd442d5994e0c6ff8c611fe62ac88751ad209f1ca9fd1fcaae8336a903c7cda6ee71b0a7587866d79ee95a48463809567a7f217a9d23dcfa1fc20eebc33
@@ -8,18 +8,16 @@ module VersionsConcern
8
8
  def list_versions
9
9
  @update_span = params[:update]
10
10
  @object = referenced_object
11
- respond_to do |format|
12
- format.html { } unless @Klass.not_accessible_through_html?
13
- format.js { render :versions_list }
14
- end
15
- end
16
-
17
- def close_versions_list
18
- @update_span = params[:update]
19
- @object = referenced_object
20
- respond_to do |format|
21
- format.html { } unless @Klass.not_accessible_through_html?
22
- format.js { render :versions }
11
+ close = params[:close] || false
12
+ if close
13
+ respond_to do |format|
14
+ format.js { render :versions }
15
+ end
16
+ else
17
+ respond_to do |format|
18
+ format.html { } unless @Klass.not_accessible_through_html?
19
+ format.js { render :versions_list }
20
+ end
23
21
  end
24
22
  end
25
23
  end
@@ -0,0 +1,28 @@
1
+ # -*- encoding : utf-8 -*-
2
+ InlineForms::SPECIAL_COLUMN_TYPES[:audio_field]=:string
3
+
4
+ def audio_field_show(object, attribute)
5
+ o = object.send(attribute)
6
+ msg = "<i class='fi-pencil' title='Edit #{attribute.to_s}'></i>".html_safe
7
+ if o.send(:present?)
8
+ if o.respond_to? :palm
9
+ audio_html = audio_tag(o.send(:palm).send(:url), autoplay: false, controls: true)
10
+ else
11
+ audio_html = audio_tag(o.send(:url), autoplay: false, controls: true)
12
+ end
13
+ end
14
+ link_to_edit = link_to_inline_edit object, attribute, msg
15
+ if cancan_disabled? || ( can? :update, object, attribute )
16
+ "#{audio_html} #{link_to_edit}".html_safe
17
+ else
18
+ audio_html.html_safe
19
+ end
20
+ end
21
+
22
+ def audio_field_edit(object, attribute)
23
+ file_field_tag attribute, class: 'input_text_field'
24
+ end
25
+
26
+ def audio_field_update(object, attribute)
27
+ object.send(attribute.to_s + '=', params[attribute.to_sym])
28
+ end
@@ -99,7 +99,7 @@ module InlineFormsHelper
99
99
  :class => html_class,
100
100
  :title => t('inline_forms.view.list_versions')
101
101
  )
102
- if current_user.role? :superadmin
102
+ if can? :list_versions, object.class.name.pluralize.underscore.to_sym
103
103
  raw out
104
104
  end
105
105
  end
@@ -107,9 +107,10 @@ module InlineFormsHelper
107
107
  # close versions list link
108
108
  def close_versions_list_link(object, update_span, html_class = 'button close_button' )
109
109
  link_to "<i class='fi-x'></i>".html_safe,
110
- send('close_versions_list_' + @object.class.to_s.underscore + "_path",
110
+ send('list_versions_' + @object.class.to_s.underscore + "_path",
111
111
  object,
112
- :update => update_span
112
+ :update => update_span,
113
+ :close => true
113
114
  ),
114
115
  :remote => true,
115
116
  :class => html_class,
@@ -206,6 +207,10 @@ module InlineFormsHelper
206
207
  values
207
208
  end
208
209
 
210
+ def version_modified_by id
211
+ user = User.find_by_id id
212
+ user.nil? ? 'Unknown' : user.name
213
+ end
209
214
 
210
215
  end
211
216
 
@@ -115,7 +115,7 @@
115
115
  <% end %>
116
116
  <% end %>
117
117
  <% end %>
118
- <% if current_user.role? :superadmin %>
118
+ <% if can? :list_versions, @object.class.name.pluralize.underscore.to_sym %>
119
119
  <% css_class_id = "#{@object.class.name.underscore}_#{@object.id}_versions" -%>
120
120
  <div id="<%= css_class_id -%>">
121
121
  <%= render 'versions' %>
@@ -45,7 +45,7 @@
45
45
  <%= version.event -%>
46
46
  </div>
47
47
  <div class="small-2 column">
48
- <%= version.whodunnit.nil? ? 'nil' : version.author.name -%>
48
+ <%= version_modified_by version.whodunnit -%>
49
49
  </div>
50
50
  <div class="small-8 column">
51
51
  <% if version.changeset.empty? %>
@@ -7,6 +7,7 @@
7
7
  <%= t('inline_forms.general.application_title') %> v<%= InlineForms::VERSION %>
8
8
  </title>
9
9
  <%= stylesheet_link_tag "inline_forms/devise" %>
10
+ <%= stylesheet_link_tag "inline_forms_devise" %>
10
11
  <%= csrf_meta_tags %>
11
12
  </head>
12
13
 
@@ -6,7 +6,7 @@ add_source 'https://rubygems.org'
6
6
 
7
7
  gem 'cancancan', '~> 2.0'
8
8
  gem 'carrierwave'
9
- gem 'ckeditor'
9
+ gem 'ckeditor', github: 'galetahub/ckeditor'
10
10
  gem 'coffee-rails'
11
11
  gem 'compass-rails'
12
12
  gem 'devise'
@@ -21,12 +21,12 @@ gem 'mini_magick'
21
21
  gem 'mysql2'
22
22
  gem 'paper_trail'
23
23
  gem 'rails-i18n'
24
- gem 'rails', '~> 5.0.6'
24
+ gem 'rails', '~> 5.1.4'
25
25
  gem 'rake'
26
26
  gem 'remotipart', '~> 1.0'
27
27
  gem 'rvm'
28
28
  gem 'sass-rails'
29
- gem 'tabs_on_rails', git: 'https://github.com/acesuares/tabs_on_rails.git', :branch => 'update_remote'
29
+ gem 'tabs_on_rails'
30
30
  gem 'therubyracer'
31
31
  gem 'uglifier'
32
32
  gem 'figaro'
@@ -95,7 +95,6 @@ devise_for :users, :path_prefix => 'auth'
95
95
  resources :users do
96
96
  post 'revert', :on => :member
97
97
  get 'list_versions', :on => :member
98
- get 'close_versions_list', :on => :member
99
98
  end
100
99
  ROUTE
101
100
 
@@ -106,7 +105,7 @@ create_file "db/migrate/" +
106
105
  Time.now.utc.strftime("%Y%m%d%H%M%S") +
107
106
  "_" +
108
107
  "devise_create_users.rb", <<-DEVISE_MIGRATION.strip_heredoc
109
- class DeviseCreateUsers < ActiveRecord::Migration
108
+ class DeviseCreateUsers < ActiveRecord::Migration[5.0]
110
109
 
111
110
  def change
112
111
  create_table(:users) do |t|
@@ -254,7 +253,7 @@ create_file "db/migrate/" +
254
253
  Time.now.utc.strftime("%Y%m%d%H%M%S") +
255
254
  "_" +
256
255
  "inline_forms_create_join_table_user_role.rb", <<-ROLES_MIGRATION.strip_heredoc
257
- class InlineFormsCreateJoinTableUserRole < ActiveRecord::Migration
256
+ class InlineFormsCreateJoinTableUserRole < ActiveRecord::Migration[5.0]
258
257
  def self.up
259
258
  create_table :roles_users, :id => false, :force => true do |t|
260
259
  t.integer :role_id
@@ -274,17 +273,8 @@ append_to_file "db/seeds.rb", "Role.create({ id: 1, name: 'superadmin', descript
274
273
  say "- Installaing ZURB Foundation..."
275
274
  generate "foundation:install", "-f"
276
275
 
277
- say "- Copy images..."
278
- %w(glass_plate.gif).each do |image|
279
- copy_file File.join(GENERATOR_PATH, 'lib/generators/assets/images' , image), File.join('app/assets/images' , image)
280
- end
281
-
282
- say "- Copy javascripts..."
283
- remove_file 'app/assets/javascripts/application.js'
284
- %w(application.js inline_forms.js).each do |javascript|
285
- copy_file File.join(GENERATOR_PATH, 'lib/generators/assets/javascripts' , javascript), File.join('app/assets/javascripts' , javascript)
286
- end
287
-
276
+ say "- Copy inline_forms_devise file for custom styles..."
277
+ copy_file File.join(GENERATOR_PATH, 'lib/generators/assets/stylesheets/inline_forms_devise.css'), 'app/assets/stylesheets/inline_forms_devise.css'
288
278
 
289
279
  say "- Add human_attribute_name in app/models/application_record.rb"
290
280
  remove_file 'app/models/application_record.rb' # the one that 'rails new' created
@@ -301,10 +291,7 @@ say "- Set languages for ckeditor to ['en', 'nl'] in config/initializers/ckedito
301
291
  insert_into_file "config/initializers/ckeditor.rb", " config.assets_languages = ['en', 'nl']\n", :after => "config.assets_languages = ['en', 'uk']\n"
302
292
 
303
293
  say "- Paper_trail install..."
304
- generate "paper_trail:install" # TODO One day, we need some management tools so we can actually SEE the versions, restore them etc.
305
-
306
- say "- Import migrations from engines"
307
- run "bundle exec rails railties:install:migrations" # This is needed to add changeset field to the paper_trail versions table
294
+ generate "paper_trail:install --with-changes"
308
295
 
309
296
  # Create Translations
310
297
  say "- Generate models and tables and views for translations..." # TODO Translations need to be done in inline_forms, and then generate a yml file, perhaps
@@ -317,7 +304,7 @@ create_file "db/migrate/" +
317
304
  Time.now.utc.strftime("%Y%m%d%H%M%S") +
318
305
  "_" +
319
306
  "inline_forms_create_view_for_translations.rb", <<-VIEW_MIGRATION.strip_heredoc
320
- class InlineFormsCreateViewForTranslations < ActiveRecord::Migration
307
+ class InlineFormsCreateViewForTranslations < ActiveRecord::Migration[5.0]
321
308
  def self.up
322
309
  execute 'CREATE VIEW translations
323
310
  AS
@@ -496,7 +483,7 @@ remove_file 'spec/models/user_spec.rb'
496
483
 
497
484
  # precompile devise.css
498
485
  say "- Precompile devise.css in environments/production.rb... (Since Rails 5 in config/initializers/assets.rb !)"
499
- append_file "config/initializers/assets.rb", " Rails.application.config.assets.precompile += %w( devise.css )\n"
486
+ append_file "config/initializers/assets.rb", " Rails.application.config.assets.precompile += %w( inline_forms_devise.css )\n"
500
487
 
501
488
  # devise mailer stuff
502
489
  say "- Injecting devise mailer stuff in environments/production.rb..."
@@ -0,0 +1 @@
1
+ /* Put here your custom styles for inline_forms devise views */
@@ -111,7 +111,8 @@ module InlineForms
111
111
  ## :drop_down, :references and :belongs_to all end up with the column_type :belongs_to
112
112
  @belongs_to << ' belongs_to :' + attribute.name + "\n"
113
113
  end
114
- if attribute.type == :image_field # upload images via carrierwave
114
+ # upload images or audio files via carrierwave
115
+ case attribute.type when :image_field, :audio_field then
115
116
  @carrierwave_mounters << ' mount_uploader :' + attribute.name + ', ' + "#{attribute.name}_uploader".camelcase + "\n"
116
117
  end
117
118
  if attribute.type == :has_many ||
@@ -173,7 +174,6 @@ module InlineForms
173
174
  resources :#{resource_name} do
174
175
  post 'revert', :on => :member
175
176
  get 'list_versions', :on => :member
176
- get 'close_versions_list', :on => :member
177
177
  end
178
178
  ROUTE
179
179
  end
@@ -138,14 +138,6 @@ module InlineForms
138
138
  # Declare as a Rails::Engine, see http://www.ruby-forum.com/topic/211017#927932
139
139
  class Engine < Rails::Engine
140
140
 
141
- initializer :append_migrations do |app|
142
- unless app.root.to_s.match(root.to_s)
143
- config.paths["db/migrate"].expanded.each do |path|
144
- app.config.paths["db/migrate"] << path
145
- end
146
- end
147
- end
148
-
149
141
  initializer "inline_forms.assets.precompile" do |app|
150
142
  app.config.assets.precompile += %w( inline_forms/inline_forms.scss
151
143
  inline_forms/devise.css
@@ -1,4 +1,4 @@
1
1
  # -*- encoding : utf-8 -*-
2
2
  module InlineForms
3
- VERSION = "5.1.0"
3
+ VERSION = "5.1.1"
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: inline_forms
3
3
  version: !ruby/object:Gem::Version
4
- version: 5.1.0
4
+ version: 5.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ace Suares
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2018-02-06 00:00:00.000000000 Z
13
+ date: 2018-02-12 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rvm
@@ -167,6 +167,7 @@ files:
167
167
  - app/controllers/geo_code_curacao_controller.rb
168
168
  - app/controllers/inline_forms_application_controller.rb
169
169
  - app/controllers/inline_forms_controller.rb
170
+ - app/helpers/form_elements/audio_field.rb
170
171
  - app/helpers/form_elements/check_box.rb
171
172
  - app/helpers/form_elements/check_list.rb
172
173
  - app/helpers/form_elements/chicas_dropdown_with_family_members.rb
@@ -255,18 +256,10 @@ files:
255
256
  - bin/inline_forms
256
257
  - bin/inline_forms_app_template.rb
257
258
  - bin/inline_forms_installer_core.rb
258
- - config/initializers/paper_trail.rb
259
- - db/migrate/20180116154757_add_object_changes_to_versions.rb
260
259
  - inline_forms.gemspec
261
- - lib/app/controllers/concerns/versions_concern.rb
262
- - lib/app/views/devise/sessions/_flash.html.erb
263
- - lib/app/views/devise/sessions/_top-bar.html.erb
264
- - lib/app/views/inline_forms/_versions.html.erb
265
- - lib/app/views/inline_forms/_versions_list.html.erb
266
- - lib/app/views/inline_forms/versions.js.erb
267
- - lib/app/views/inline_forms/versions_list.js.erb
268
260
  - lib/generators/USAGE
269
261
  - lib/generators/assets/stylesheets/inline_forms.scss
262
+ - lib/generators/assets/stylesheets/inline_forms_devise.css
270
263
  - lib/generators/inline_forms_generator.rb
271
264
  - lib/generators/templates/_inline_forms_tabs.html.erb
272
265
  - lib/generators/templates/abstract_mysql2_adapter.rb
@@ -1,7 +0,0 @@
1
- PaperTrail.config.track_associations = false
2
-
3
- PaperTrail::Version.class_eval do
4
- def author
5
- User.find(whodunnit) if whodunnit
6
- end
7
- end
@@ -1,5 +0,0 @@
1
- class AddObjectChangesToVersions < ActiveRecord::Migration[5.0]
2
- def change
3
- add_column :versions, :object_changes, :text
4
- end
5
- end
@@ -1,25 +0,0 @@
1
- module VersionsConcern
2
- extend ActiveSupport::Concern
3
-
4
- included do
5
- before_action :set_paper_trail_whodunnit
6
- end
7
-
8
- def list_versions
9
- @update_span = params[:update]
10
- @object = referenced_object
11
- respond_to do |format|
12
- format.html { } unless @Klass.not_accessible_through_html?
13
- format.js { render :versions_list }
14
- end
15
- end
16
-
17
- def close_versions_list
18
- @update_span = params[:update]
19
- @object = referenced_object
20
- respond_to do |format|
21
- format.html { } unless @Klass.not_accessible_through_html?
22
- format.js { render :versions }
23
- end
24
- end
25
- end
@@ -1,7 +0,0 @@
1
- <% if !flash.empty? %>
2
- <div id='inline_forms_devise_flash_div' class='row'>
3
- <% flash.each do |name, msg| %>
4
- <%= content_tag :div, msg, :id => "flash_#{name}", :class => 'devise flash' %>
5
- <% end %>
6
- </div>
7
- <% end %>
@@ -1,12 +0,0 @@
1
- <div class='contain-to-grid'>
2
- <nav id='inline_forms_devise_top_nav_bar' class='top-bar' data-topbar>
3
- <ul class='title-area'>
4
- <li class='name'>
5
- <h1><a href='/'><%= t('inline_forms.devise.title_for_devise') %> <%= InlineForms::VERSION %></a></h1>
6
- </li>
7
- <li class='toggle-topbar menu-icon'>
8
- <a href='#'><span></span></a>
9
- </li>
10
- </ul>
11
- </nav>
12
- </div>
@@ -1,14 +0,0 @@
1
- <% css_class_id = "#{@object.class.name.underscore}_#{@object.id}_versions" -%>
2
- <div class="row form_element_header associated_auto_header callout">
3
- <div class='medium-11 large-11 column' >
4
- <%= "Versions (#{@object.versions.length})" %>
5
- </div>
6
- <div class='medium-1 large-1 column'>
7
- <%= link_to_versions_list(
8
- 'list_versions_' + @object.class.to_s.underscore + "_path",
9
- @object,
10
- css_class_id
11
- )
12
- %>
13
- </div>
14
- </div>
@@ -1,75 +0,0 @@
1
- <% path_to_object = @object.class.to_s.underscore + '_path' %>
2
- <% css_class_id = "#{@object.class.name.underscore}_#{@object.id}_versions" -%>
3
- <div class="row form_element_header associated_auto_header callout">
4
- <div class='medium-11 large-11 column' >
5
- <%= "Versions (#{@object.versions.length})" %>
6
- </div>
7
- <div class='medium-1 large-1 column'>
8
- <%= close_versions_list_link(
9
- @object,
10
- css_class_id
11
- )
12
- %>
13
- </div>
14
- </div>
15
- <div class="row <%= cycle('odd', 'even') %>">
16
- <div class='small-12 column'>
17
- <div class="small-1 column">
18
- &nbsp;
19
- </div>
20
- <div class="small-1 column">
21
- <strong>Event</strong>
22
- </div>
23
- <div class="small-2 column">
24
- <strong>Done by</strong>
25
- </div>
26
- <div class="small-8 column">
27
- <strong>Changeset</strong>
28
- </div>
29
- </div>
30
- </div>
31
- <div class="row <%= cycle('odd', 'even') %>">
32
- <% @object.versions.reverse.each do | version | %>
33
- <div class='small-12 column'>
34
- <div class="small-1 column">
35
- <%= link_to t('inline_forms.view.restore'),
36
- send('revert_' + @object.class.to_s.underscore + "_path",
37
- version,
38
- :update => "#{@object.class.name.underscore}_#{@object.id}"
39
- ),
40
- :remote => true,
41
- :method => :post
42
- %>
43
- </div>
44
- <div class="small-1 column">
45
- <%= version.event -%>
46
- </div>
47
- <div class="small-2 column">
48
- <%= version.whodunnit.nil? ? 'nil' : version.author.name -%>
49
- </div>
50
- <div class="small-8 column">
51
- <% if version.changeset.empty? %>
52
- <em>empty</em>
53
- <% else %>
54
- <% version.changeset.each do |attribute, value| %>
55
- <% next if attribute == 'updated_at' %>
56
- <table>
57
- <tr>
58
- <th colspan="2" class="text-center"><%= attribute %></th>
59
- <th></th>
60
- </tr>
61
- <tr>
62
- <td>old value</td>
63
- <td>new value</td>
64
- </tr>
65
- <tr>
66
- <td><%= value[0] %></td>
67
- <td><%= value[1] %></td>
68
- </tr>
69
- </table>
70
- <% end %>
71
- <% end %>
72
- </div>
73
- </div>
74
- <% end %>
75
- </div>
@@ -1,4 +0,0 @@
1
- $('#<%= @update_span %>').fadeOut("slow", function() {
2
- $(this).html('<%= escape_javascript(render(:partial => 'inline_forms/versions' ))%>');
3
- $(this).fadeIn("slow");
4
- });
@@ -1 +0,0 @@
1
- $('#<%= @update_span %>').html('<%= escape_javascript(render(:partial => 'inline_forms/versions_list' ))%>')