From 02d3d2b3fdae45c84f076cb936a871a18883da81 Mon Sep 17 00:00:00 2001 From: Rubisel Prieto Dupeyron Date: Sat, 19 Dec 2020 07:39:21 -0500 Subject: [PATCH] Import campaign firts version --- .gitignore | 4 +- Gemfile | 4 + Gemfile.lock | 13 +++- .../entities/campaigns_controller.rb | 39 ++++++++++ app/models/entities/campaign.rb | 20 +++++ app/models/polymorphic/importer.rb | 30 +++++++ app/views/campaigns/_import.html.haml | 35 +++++++++ app/views/campaigns/_list_title_bar.html.haml | 14 ++++ app/views/campaigns/import.js.haml | 6 ++ app/views/campaigns/import_upload.js.haml | 5 ++ app/views/campaigns/index.html.haml | 5 +- config/initializers/paperclip.rb | 7 ++ config/routes.rb | 3 + db/migrate/20201217030615_create_importers.rb | 18 +++++ db/schema.rb | 73 +++++++++++------- lib/fat_free_crm.rb | 1 + lib/fat_free_crm/import_handle.rb | 40 ++++++++++ lib/tasks/ffcrm/import.rake | 63 +++++++++++++++ .../images/calendar_date_select/calendar.gif | Bin vendor/assets/images/chosen-sprite.png | Bin .../jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png | Bin .../jquery-ui/ui-bg_flat_0_eeeeee_40x100.png | Bin .../ui-bg_flat_100_ffffff_40x100.png | Bin .../jquery-ui/ui-bg_flat_25_3875d7_40x100.png | Bin .../jquery-ui/ui-bg_flat_55_ffffff_40x100.png | Bin .../jquery-ui/ui-bg_flat_65_3875d7_40x100.png | Bin .../jquery-ui/ui-bg_flat_75_ffffff_40x100.png | Bin .../ui-bg_highlight-soft_50_dddddd_1x100.png | Bin .../jquery-ui/ui-icons_0073ea_256x240.png | Bin .../jquery-ui/ui-icons_466bb1_256x240.png | Bin .../jquery-ui/ui-icons_ff0084_256x240.png | Bin vendor/assets/javascripts/jquery.disable.js | 0 .../javascripts/jquery_timeago/index.js | 0 .../jquery_timeago/jquery.timeago.cz.js | 0 .../jquery_timeago/jquery.timeago.de.js | 0 .../jquery_timeago/jquery.timeago.en-GB.js | 0 .../jquery_timeago/jquery.timeago.en-US.js | 0 .../jquery_timeago/jquery.timeago.es-CL.js | 0 .../jquery_timeago/jquery.timeago.es.js | 0 .../jquery_timeago/jquery.timeago.fr-CA.js | 0 .../jquery_timeago/jquery.timeago.fr.js | 0 .../jquery_timeago/jquery.timeago.it.js | 0 .../jquery_timeago/jquery.timeago.ja.js | 0 .../jquery_timeago/jquery.timeago.js | 0 .../jquery_timeago/jquery.timeago.nl.js | 0 .../jquery_timeago/jquery.timeago.pl.js | 0 .../jquery_timeago/jquery.timeago.pt-BR.js | 0 .../jquery_timeago/jquery.timeago.ru.js | 0 .../jquery_timeago/jquery.timeago.sv-SE.js | 0 .../jquery_timeago/jquery.timeago.th.js | 0 .../jquery_timeago/jquery.timeago.zh-CN.js | 0 .../jquery-ui-timepicker-addon.js | 0 .../jquery-ui-timepicker-af.js | 0 .../jquery-ui-timepicker-ca.js | 0 .../jquery-ui-timepicker-cz.js | 0 .../jquery-ui-timepicker-de.js | 0 .../jquery-ui-timepicker-el.js | 0 .../jquery-ui-timepicker-es-CL.js | 0 .../jquery-ui-timepicker-es.js | 0 .../jquery-ui-timepicker-et.js | 0 .../jquery-ui-timepicker-fi.js | 0 .../jquery-ui-timepicker-fr-CA.js | 0 .../jquery-ui-timepicker-fr.js | 0 .../jquery-ui-timepicker-gl.js | 0 .../jquery-ui-timepicker-he.js | 0 .../jquery-ui-timepicker-hu.js | 0 .../jquery-ui-timepicker-id.js | 0 .../jquery-ui-timepicker-it.js | 0 .../jquery-ui-timepicker-ja.js | 0 .../jquery-ui-timepicker-ko.js | 0 .../jquery-ui-timepicker-lt.js | 0 .../jquery-ui-timepicker-nl.js | 0 .../jquery-ui-timepicker-no.js | 0 .../jquery-ui-timepicker-pl.js | 0 .../jquery-ui-timepicker-pt-BR.js | 0 .../jquery-ui-timepicker-pt.js | 0 .../jquery-ui-timepicker-ro.js | 0 .../jquery-ui-timepicker-ru.js | 0 .../jquery-ui-timepicker-sk.js | 0 .../jquery-ui-timepicker-sv-SE.js | 0 .../jquery-ui-timepicker-th.js | 0 .../jquery-ui-timepicker-tr.js | 0 .../jquery-ui-timepicker-vi.js | 0 .../jquery-ui-timepicker-zh-CN.js | 0 .../jquery-ui-timepicker-zh-TW.js | 0 .../jquery.ui.datepicker-cz.js | 0 .../jquery.ui.datepicker-de.js | 0 .../jquery.ui.datepicker-en-GB.js | 0 .../jquery.ui.datepicker-es-CL.js | 0 .../jquery.ui.datepicker-es.js | 0 .../jquery.ui.datepicker-fr-CA.js | 0 .../jquery.ui.datepicker-fr.js | 0 .../jquery.ui.datepicker-it.js | 0 .../jquery.ui.datepicker-ja.js | 0 .../jquery.ui.datepicker-nl.js | 0 .../jquery.ui.datepicker-pl.js | 0 .../jquery.ui.datepicker-pt-BR.js | 0 .../jquery.ui.datepicker-pt.js | 0 .../jquery.ui.datepicker-ru.js | 0 .../jquery.ui.datepicker-sv-SE.js | 0 .../jquery.ui.datepicker-th.js | 0 .../jquery.ui.datepicker-zh-CN.js | 0 .../javascripts/lib/select-parser.coffee | 0 vendor/assets/javascripts/rating.js | 0 .../javascripts/textarea_autocomplete.js | 0 .../assets/stylesheets/jquery-ui.custom.scss | 0 vendor/assets/stylesheets/modalbox.css | 0 vendor/gems/globby-0.1.2/LICENSE.txt | 0 vendor/gems/globby-0.1.2/README.md | 0 vendor/gems/globby-0.1.2/Rakefile | 0 vendor/gems/globby-0.1.2/lib/globby.rb | 0 vendor/gems/globby-0.1.2/lib/globby/glob.rb | 0 .../gems/globby-0.1.2/lib/globby/globject.rb | 0 vendor/gems/globby-0.1.2/lib/globby/result.rb | 0 .../gems/globby-0.1.2/spec/gitignore_spec.rb | 0 vendor/gems/globby-0.1.2/spec/globby_spec.rb | 0 vendor/gems/ransack_ui-1.3.4/.gitignore | 0 vendor/gems/ransack_ui-1.3.4/Gemfile | 0 vendor/gems/ransack_ui-1.3.4/LICENSE.txt | 0 vendor/gems/ransack_ui-1.3.4/README.md | 0 vendor/gems/ransack_ui-1.3.4/Rakefile | 0 .../app/assets/images/ransack_ui/calendar.png | Bin .../app/assets/images/ransack_ui/delete.png | Bin .../javascripts/ransack/predicates.js.coffee | 0 .../button_group_select.js.coffee | 0 .../ransack_ui_bootstrap/index.js.coffee | 0 .../javascripts/ransack_ui_jquery/index.js | 0 .../search_form.js.coffee.erb | 0 .../ransack_ui_bootstrap/index.css | 0 .../ransack_ui_bootstrap/search.css.scss | 0 .../views/ransack_ui/_sort_fields.html.erb | 0 .../ransack_ui-1.3.4/config/locales/en.yml | 0 .../gems/ransack_ui-1.3.4/lib/ransack_ui.rb | 0 .../lib/ransack_ui/adapters/active_record.rb | 0 .../ransack_ui/adapters/active_record/base.rb | 0 .../lib/ransack_ui/controller_helpers.rb | 0 .../lib/ransack_ui/rails/engine.rb | 0 .../adapters/active_record/base.rb | 0 .../ransack_overrides/configuration.rb | 0 .../ransack_ui/ransack_overrides/context.rb | 0 .../ransack_overrides/helpers/form_builder.rb | 0 .../ransack_overrides/nodes/attribute.rb | 0 .../ransack_overrides/nodes/condition.rb | 0 .../ransack_overrides/nodes/grouping.rb | 0 .../lib/ransack_ui/version.rb | 0 .../lib/ransack_ui/view_helpers.rb | 0 .../gems/ransack_ui-1.3.4/ransack_ui.gemspec | 0 147 files changed, 347 insertions(+), 33 deletions(-) create mode 100644 app/models/polymorphic/importer.rb create mode 100644 app/views/campaigns/_import.html.haml create mode 100644 app/views/campaigns/_list_title_bar.html.haml create mode 100644 app/views/campaigns/import.js.haml create mode 100644 app/views/campaigns/import_upload.js.haml create mode 100644 config/initializers/paperclip.rb create mode 100644 db/migrate/20201217030615_create_importers.rb create mode 100644 lib/fat_free_crm/import_handle.rb create mode 100644 lib/tasks/ffcrm/import.rake mode change 100644 => 100755 vendor/assets/images/calendar_date_select/calendar.gif mode change 100644 => 100755 vendor/assets/images/chosen-sprite.png mode change 100644 => 100755 vendor/assets/images/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png mode change 100644 => 100755 vendor/assets/images/jquery-ui/ui-bg_flat_0_eeeeee_40x100.png mode change 100644 => 100755 vendor/assets/images/jquery-ui/ui-bg_flat_100_ffffff_40x100.png mode change 100644 => 100755 vendor/assets/images/jquery-ui/ui-bg_flat_25_3875d7_40x100.png mode change 100644 => 100755 vendor/assets/images/jquery-ui/ui-bg_flat_55_ffffff_40x100.png mode change 100644 => 100755 vendor/assets/images/jquery-ui/ui-bg_flat_65_3875d7_40x100.png mode change 100644 => 100755 vendor/assets/images/jquery-ui/ui-bg_flat_75_ffffff_40x100.png mode change 100644 => 100755 vendor/assets/images/jquery-ui/ui-bg_highlight-soft_50_dddddd_1x100.png mode change 100644 => 100755 vendor/assets/images/jquery-ui/ui-icons_0073ea_256x240.png mode change 100644 => 100755 vendor/assets/images/jquery-ui/ui-icons_466bb1_256x240.png mode change 100644 => 100755 vendor/assets/images/jquery-ui/ui-icons_ff0084_256x240.png mode change 100644 => 100755 vendor/assets/javascripts/jquery.disable.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_timeago/index.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_timeago/jquery.timeago.cz.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_timeago/jquery.timeago.de.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_timeago/jquery.timeago.en-GB.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_timeago/jquery.timeago.en-US.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_timeago/jquery.timeago.es-CL.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_timeago/jquery.timeago.es.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_timeago/jquery.timeago.fr-CA.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_timeago/jquery.timeago.fr.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_timeago/jquery.timeago.it.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_timeago/jquery.timeago.ja.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_timeago/jquery.timeago.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_timeago/jquery.timeago.nl.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_timeago/jquery.timeago.pl.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_timeago/jquery.timeago.pt-BR.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_timeago/jquery.timeago.ru.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_timeago/jquery.timeago.sv-SE.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_timeago/jquery.timeago.th.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_timeago/jquery.timeago.zh-CN.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-addon.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-af.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ca.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-cz.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-de.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-el.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-es-CL.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-es.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-et.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-fi.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-fr-CA.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-fr.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-gl.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-he.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-hu.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-id.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-it.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ja.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ko.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-lt.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-nl.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-no.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-pl.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-pt-BR.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-pt.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ro.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ru.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-sk.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-sv-SE.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-th.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-tr.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-vi.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-zh-CN.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-zh-TW.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-cz.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-de.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-en-GB.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-es-CL.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-es.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-fr-CA.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-fr.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-it.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-ja.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-nl.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-pl.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-pt-BR.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-pt.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-ru.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-sv-SE.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-th.js mode change 100644 => 100755 vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-zh-CN.js mode change 100644 => 100755 vendor/assets/javascripts/lib/select-parser.coffee mode change 100644 => 100755 vendor/assets/javascripts/rating.js mode change 100644 => 100755 vendor/assets/javascripts/textarea_autocomplete.js mode change 100644 => 100755 vendor/assets/stylesheets/jquery-ui.custom.scss mode change 100644 => 100755 vendor/assets/stylesheets/modalbox.css mode change 100644 => 100755 vendor/gems/globby-0.1.2/LICENSE.txt mode change 100644 => 100755 vendor/gems/globby-0.1.2/README.md mode change 100644 => 100755 vendor/gems/globby-0.1.2/Rakefile mode change 100644 => 100755 vendor/gems/globby-0.1.2/lib/globby.rb mode change 100644 => 100755 vendor/gems/globby-0.1.2/lib/globby/glob.rb mode change 100644 => 100755 vendor/gems/globby-0.1.2/lib/globby/globject.rb mode change 100644 => 100755 vendor/gems/globby-0.1.2/lib/globby/result.rb mode change 100644 => 100755 vendor/gems/globby-0.1.2/spec/gitignore_spec.rb mode change 100644 => 100755 vendor/gems/globby-0.1.2/spec/globby_spec.rb mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/.gitignore mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/Gemfile mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/LICENSE.txt mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/README.md mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/Rakefile mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/app/assets/images/ransack_ui/calendar.png mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/app/assets/images/ransack_ui/delete.png mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/app/assets/javascripts/ransack/predicates.js.coffee mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/app/assets/javascripts/ransack_ui_bootstrap/button_group_select.js.coffee mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/app/assets/javascripts/ransack_ui_bootstrap/index.js.coffee mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/app/assets/javascripts/ransack_ui_jquery/index.js mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/app/assets/javascripts/ransack_ui_jquery/search_form.js.coffee.erb mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/app/assets/stylesheets/ransack_ui_bootstrap/index.css mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/app/assets/stylesheets/ransack_ui_bootstrap/search.css.scss mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/app/views/ransack_ui/_sort_fields.html.erb mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/config/locales/en.yml mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/lib/ransack_ui.rb mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/adapters/active_record.rb mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/adapters/active_record/base.rb mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/controller_helpers.rb mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/rails/engine.rb mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/ransack_overrides/adapters/active_record/base.rb mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/ransack_overrides/configuration.rb mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/ransack_overrides/context.rb mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/ransack_overrides/helpers/form_builder.rb mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/ransack_overrides/nodes/attribute.rb mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/ransack_overrides/nodes/condition.rb mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/ransack_overrides/nodes/grouping.rb mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/version.rb mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/view_helpers.rb mode change 100644 => 100755 vendor/gems/ransack_ui-1.3.4/ransack_ui.gemspec diff --git a/.gitignore b/.gitignore index bb4eec0e2f..422fa5e2ca 100644 --- a/.gitignore +++ b/.gitignore @@ -21,6 +21,7 @@ Gemfile.ci.lock public/avatars/**/* public/assets +public/importers/ tmp Design @@ -39,4 +40,5 @@ Design .vagrant docker-compose.override.yml - +.bash_history +.local/ diff --git a/Gemfile b/Gemfile index 457c5f2b4d..d2e4040e13 100644 --- a/Gemfile +++ b/Gemfile @@ -101,3 +101,7 @@ gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw jruby] gem 'activejob', '~> 5.2.0' gem 'ransack_ui', path: 'vendor/gems/ransack_ui-1.3.4' # Vendored until our fix is merged and released gem 'spreadsheet' + +gem "roo", "~> 2.8" + +gem "roo-xls", "~> 1.2" diff --git a/Gemfile.lock b/Gemfile.lock index 694ee4e76d..c71acde36c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -176,6 +176,7 @@ GEM jquery-ui-rails (6.0.1) railties (>= 3.2.16) libv8 (3.16.14.19) + libv8 (3.16.14.19-x86_64-linux) listen (3.2.1) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) @@ -302,6 +303,13 @@ GEM railties (>= 4.2.0, < 6.0) responds_to_parent (2.0.0) actionpack (>= 3.2.22, < 6.0) + roo (2.8.3) + nokogiri (~> 1) + rubyzip (>= 1.3.0, < 3.0.0) + roo-xls (1.2.0) + nokogiri + roo (>= 2.0.0, < 3) + spreadsheet (> 0.9.0) rspec (3.9.0) rspec-core (~> 3.9.0) rspec-expectations (~> 3.9.0) @@ -406,6 +414,7 @@ GEM PLATFORMS ruby + x86_64-linux DEPENDENCIES activejob (~> 5.2.0) @@ -465,6 +474,8 @@ DEPENDENCIES rb-inotify responders (~> 2.0) responds_to_parent + roo (~> 2.8) + roo-xls (~> 1.2) rspec-activemodel-mocks rspec-rails rubocop (~> 0.76.0) @@ -486,4 +497,4 @@ DEPENDENCIES zeus BUNDLED WITH - 2.1.4 + 2.2.2 diff --git a/app/controllers/entities/campaigns_controller.rb b/app/controllers/entities/campaigns_controller.rb index b09cd138af..9a9c76334c 100644 --- a/app/controllers/entities/campaigns_controller.rb +++ b/app/controllers/entities/campaigns_controller.rb @@ -5,6 +5,7 @@ # Fat Free CRM is freely distributable under the terms of MIT license. # See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php #------------------------------------------------------------------------------ + class CampaignsController < EntitiesController before_action :get_data_for_sidebar, only: :index @@ -160,6 +161,37 @@ def filter end end + # get /campaigns/import AJAX + #---------------------------------------------------------------------------- + def import + @importer = Importer.new + respond_with(@importer) + end + + # patch /campaigns/import AJAX + #---------------------------------------------------------------------------- + def import_upload + @error = false + @result = { + items: [], + errors: [] + } + + if params[:importer] + @importer = Importer.create(import_params) + @importer.entity_type = 'campaign' + if @importer.valid? + @importer.save + @result = FatFreeCRM::ImportHandle.process(@importer) + else + puts @importer.errors.full_messages + @result[:errors].push(@importer.errors.full_messages) + @error = true + end + end + respond_with(@error,@result) + end + private #---------------------------------------------------------------------------- @@ -204,4 +236,11 @@ def get_data_for_sidebar end @campaign_status_total[:other] += @campaign_status_total[:all] end + + def import_params + return {} unless params[:importer] + + params[:importer] + .permit(:attachment) + end end diff --git a/app/models/entities/campaign.rb b/app/models/entities/campaign.rb index 460a29c238..96c959f912 100644 --- a/app/models/entities/campaign.rb +++ b/app/models/entities/campaign.rb @@ -98,6 +98,26 @@ def discard!(attachment) end end + # Save Campaign from row in xls + def self.import_from_xls(row,headers) + campaign = Campaign.new + campaign.name = row[headers['Name']] + campaign.access = row[headers['Access']] + campaign.status = row[headers['Status']] + campaign.budget =row[headers['Budget']] + campaign.target_leads =row[headers['target leads']] + campaign.target_conversion =row[headers['Target conversion']] + campaign.leads_count =row[headers['Number of leads']] + campaign.opportunities_count =row[headers['Total Opportunities']] + campaign.revenue =row[headers['target revenue']] + campaign.starts_on =row[headers['start date']] + campaign.ends_on =row[headers['end date']] + campaign.objectives =row[headers['Objectives']] + campaign.background_info =row[headers['Background']] + campaign.save + campaign + end + private # Make sure end date > start date. diff --git a/app/models/polymorphic/importer.rb b/app/models/polymorphic/importer.rb new file mode 100644 index 0000000000..579dd0483f --- /dev/null +++ b/app/models/polymorphic/importer.rb @@ -0,0 +1,30 @@ +# == Schema Information +# +# Table name: importers +# +# id :integer not null, primary key +# entity_type :string +# attachment_file_size :integer +# attachment_file_name :string(255) +# attachment_content_type :string(255) +# status :string(255) +# created_at :datetime +# updated_at :datetime +# + +class Importer < ActiveRecord::Base + attr_accessor :status, :entity_type + + has_attached_file :attachment, :path => ":rails_root/public/importers/:id/:filename" + + # validates_attachment :attachment, presence: true, + # content_type: { content_type: ['image/jpeg', 'image/jpg', 'image/png', 'image/gif'] } + + validates_attachment_content_type :attachment, + :content_type => %w(text/xml application/xml application/vnd.ms-excel application/vnd.openxmlformats-officedocument.spreadsheetml.sheet application/x-ole-storage), + :message => 'Only EXCEL files are allowed.' + validates_attachment_file_name :attachment, matches: [/\.xls/, /\.xlsx?$/] + + + ActiveSupport.run_load_hooks(:fat_free_crm_importer, self) +end diff --git a/app/views/campaigns/_import.html.haml b/app/views/campaigns/_import.html.haml new file mode 100644 index 0000000000..8689ca2ea2 --- /dev/null +++ b/app/views/campaigns/_import.html.haml @@ -0,0 +1,35 @@ += form_for(@importer, url: import_upload_campaign_path(format: "js"), method: "patch", html: { multipart: true, target: "uploading", onsubmit: "$('#import_submit').disabled = true"}) do |f| + = link_to_close new_campaign_path + -# todo + -#= error_messages_for :avatar, object: @user.avatar, object_name: t('avatar') + %p + %small 'Descripcion aqui' + + %div 'File': + = fields_for(Importer) do |a| + %div= a.file_field :attachment + + .buttonbar + = f.submit t(:upload_picture), id: "import_submit" + #{t :or} + = link_to_cancel new_campaign_path + +-#= simple_form_for(@campaign, html: one_submit_only, remote: true) do |f| +-# = link_to_close new_campaign_path +-# = f.hidden_field :user_id +-# +-# = f.error_messages object_name: t('campaign') +-# +-# .section +-# %table +-# %tr +-# %td(colspan="5") +-# .label.top.req 'File': +-# = f.file_field :file, autofocus: true, style: "width:500px" +-# +-# = hook(:entity_form, self, {f: f, entity: @campaign}) +-# +-# .buttonbar +-# = f.submit 'Import campaign' +-# #{t :or} +-# = link_to_cancel new_campaign_path \ No newline at end of file diff --git a/app/views/campaigns/_list_title_bar.html.haml b/app/views/campaigns/_list_title_bar.html.haml new file mode 100644 index 0000000000..04860525d9 --- /dev/null +++ b/app/views/campaigns/_list_title_bar.html.haml @@ -0,0 +1,14 @@ +- model_name = controller_name.singularize +- model_klass = model_name.camelcase.constantize + +.title_tools + #buttons + = view_buttons + .create_asset + = link_to_inline("create_#{model_name}".to_sym, send("new_#{model_name}_path"), text: t("create_#{model_name}".to_sym)) + .import_asset + = link_to_inline("import_#{model_name}".to_sym, send("import_#{model_name}_path"), text: t("import_#{model_name}".to_sym)) + +.title + %span{id: "create_#{model_name}_title"} #{t controller_name.to_sym} + = image_tag("loading.gif", size: :thumb, id: "loading", style: "display: none;") diff --git a/app/views/campaigns/import.js.haml b/app/views/campaigns/import.js.haml new file mode 100644 index 0000000000..b380bc4ab6 --- /dev/null +++ b/app/views/campaigns/import.js.haml @@ -0,0 +1,6 @@ +- import_id = "campaign_import" + +crm.flick('empty', 'toggle'); +crm.flip_form('#{import_id}'); +$('##{import_id}').html('#{ j render(partial: "import") }'); +crm.set_title('#{import_id}', '#{ j t(import_id) }'); diff --git a/app/views/campaigns/import_upload.js.haml b/app/views/campaigns/import_upload.js.haml new file mode 100644 index 0000000000..705a07dadb --- /dev/null +++ b/app/views/campaigns/import_upload.js.haml @@ -0,0 +1,5 @@ +- if not @error + $('#campaign_import').html('#{ j render(partial: "import") }'); +- else + $('#campaign_import').html('#{ j render(partial: "import") }'); + $('#campaign_import').effect("shake", { duration:250, distance: 6 }); diff --git a/app/views/campaigns/index.html.haml b/app/views/campaigns/index.html.haml index 9f1c71384a..533b43f27d 100644 --- a/app/views/campaigns/index.html.haml +++ b/app/views/campaigns/index.html.haml @@ -1,8 +1,11 @@ = styles_for :campaign -= render 'entities/title_bar' += render 'list_title_bar' .remote#create_campaign{ hidden } +.remote#campaign_import{ hidden } + +%iframe#uploading{ name: "uploading", style: "width:100px; height:10px; border:5px" } = render 'search' diff --git a/config/initializers/paperclip.rb b/config/initializers/paperclip.rb new file mode 100644 index 0000000000..b85e39ae1a --- /dev/null +++ b/config/initializers/paperclip.rb @@ -0,0 +1,7 @@ +module Paperclip + class MediaTypeSpoofDetector + def spoofed? + false + end + end +end \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb index 1efaac95b3..37f8485217 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -209,4 +209,7 @@ resources :settings, only: :index resources :plugins, only: :index end + + get 'campaigns/import',to: 'campaigns#import', as: :import_campaign + match 'campaigns/import-upload',to: 'campaigns#import_upload', as: :import_upload_campaign, via: %i[put patch] end diff --git a/db/migrate/20201217030615_create_importers.rb b/db/migrate/20201217030615_create_importers.rb new file mode 100644 index 0000000000..c9630dfbea --- /dev/null +++ b/db/migrate/20201217030615_create_importers.rb @@ -0,0 +1,18 @@ +# frozen_string_literal: true + +class CreateImporters < ActiveRecord::Migration[4.2] + def self.up + create_table :importers do |t| + t.integer :attachment_file_size # Uploaded file size + t.string :attachment_file_name # Uploaded full file name + t.string :attachment_content_type # MIME content type + t.string :entity_type # led, campaign + t.string :status # new, success, error + t.timestamps + end + end + + def self.down + drop_table :importers + end +end diff --git a/db/schema.rb b/db/schema.rb index a11a897df8..d73e59de48 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,9 +10,12 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema.define(version: 2020_11_03_150431) do +ActiveRecord::Schema.define(version: 2020_12_17_030615) do - create_table "account_contacts", force: :cascade do |t| + # These are extensions that must be enabled in order to support this database + enable_extension "plpgsql" + + create_table "account_contacts", id: :serial, force: :cascade do |t| t.integer "account_id" t.integer "contact_id" t.datetime "deleted_at" @@ -21,7 +24,7 @@ t.index ["account_id", "contact_id"], name: "index_account_contacts_on_account_id_and_contact_id" end - create_table "account_opportunities", force: :cascade do |t| + create_table "account_opportunities", id: :serial, force: :cascade do |t| t.integer "account_id" t.integer "opportunity_id" t.datetime "deleted_at" @@ -30,7 +33,7 @@ t.index ["account_id", "opportunity_id"], name: "index_account_opportunities_on_account_id_and_opportunity_id" end - create_table "accounts", force: :cascade do |t| + create_table "accounts", id: :serial, force: :cascade do |t| t.integer "user_id" t.integer "assigned_to" t.string "name", limit: 64, default: "", null: false @@ -53,7 +56,7 @@ t.index ["user_id", "name", "deleted_at"], name: "index_accounts_on_user_id_and_name_and_deleted_at", unique: true end - create_table "activities", force: :cascade do |t| + create_table "activities", id: :serial, force: :cascade do |t| t.integer "user_id" t.string "subject_type" t.integer "subject_id" @@ -66,7 +69,7 @@ t.index ["user_id"], name: "index_activities_on_user_id" end - create_table "addresses", force: :cascade do |t| + create_table "addresses", id: :serial, force: :cascade do |t| t.string "street1" t.string "street2" t.string "city", limit: 64 @@ -83,7 +86,7 @@ t.index ["addressable_id", "addressable_type"], name: "index_addresses_on_addressable_id_and_addressable_type" end - create_table "avatars", force: :cascade do |t| + create_table "avatars", id: :serial, force: :cascade do |t| t.integer "user_id" t.string "entity_type" t.integer "entity_id" @@ -94,7 +97,7 @@ t.datetime "updated_at" end - create_table "campaigns", force: :cascade do |t| + create_table "campaigns", id: :serial, force: :cascade do |t| t.integer "user_id" t.integer "assigned_to" t.string "name", limit: 64, default: "", null: false @@ -119,7 +122,7 @@ t.index ["user_id", "name", "deleted_at"], name: "index_campaigns_on_user_id_and_name_and_deleted_at", unique: true end - create_table "comments", force: :cascade do |t| + create_table "comments", id: :serial, force: :cascade do |t| t.integer "user_id" t.string "commentable_type" t.integer "commentable_id" @@ -131,7 +134,7 @@ t.string "state", limit: 16, default: "Expanded", null: false end - create_table "contact_opportunities", force: :cascade do |t| + create_table "contact_opportunities", id: :serial, force: :cascade do |t| t.integer "contact_id" t.integer "opportunity_id" t.string "role", limit: 32 @@ -141,7 +144,7 @@ t.index ["contact_id", "opportunity_id"], name: "index_contact_opportunities_on_contact_id_and_opportunity_id" end - create_table "contacts", force: :cascade do |t| + create_table "contacts", id: :serial, force: :cascade do |t| t.integer "user_id" t.integer "lead_id" t.integer "assigned_to" @@ -173,7 +176,7 @@ t.index ["user_id", "last_name", "deleted_at"], name: "id_last_name_deleted", unique: true end - create_table "emails", force: :cascade do |t| + create_table "emails", id: :serial, force: :cascade do |t| t.string "imap_message_id", null: false t.integer "user_id" t.string "mediator_type" @@ -194,7 +197,7 @@ t.index ["mediator_id", "mediator_type"], name: "index_emails_on_mediator_id_and_mediator_type" end - create_table "field_groups", force: :cascade do |t| + create_table "field_groups", id: :serial, force: :cascade do |t| t.string "name", limit: 64 t.string "label", limit: 128 t.integer "position" @@ -205,7 +208,7 @@ t.string "klass_name", limit: 32 end - create_table "fields", force: :cascade do |t| + create_table "fields", id: :serial, force: :cascade do |t| t.string "type" t.integer "field_group_id" t.integer "position" @@ -217,17 +220,17 @@ t.text "collection" t.boolean "disabled" t.boolean "required" - t.integer "maxlength", limit: 4 + t.integer "maxlength" t.datetime "created_at" t.datetime "updated_at" t.integer "pair_id" t.text "settings" - t.integer "minlength", limit: 4, default: 0 + t.integer "minlength", default: 0 t.index ["field_group_id"], name: "index_fields_on_field_group_id" t.index ["name"], name: "index_fields_on_name" end - create_table "groups", force: :cascade do |t| + create_table "groups", id: :serial, force: :cascade do |t| t.string "name" t.datetime "created_at" t.datetime "updated_at" @@ -241,14 +244,24 @@ t.index ["user_id"], name: "index_groups_users_on_user_id" end - create_table "imported_files", force: :cascade do |t| + create_table "imported_files", id: :serial, force: :cascade do |t| t.string "filename", limit: 64, default: "", null: false t.string "md5sum", limit: 32, default: "", null: false t.datetime "created_at" t.datetime "updated_at" end - create_table "leads", force: :cascade do |t| + create_table "importers", id: :serial, force: :cascade do |t| + t.integer "attachment_file_size" + t.string "attachment_file_name" + t.string "attachment_content_type" + t.string "entity_type" + t.string "status" + t.datetime "created_at" + t.datetime "updated_at" + end + + create_table "leads", id: :serial, force: :cascade do |t| t.integer "user_id" t.integer "campaign_id" t.integer "assigned_to" @@ -280,7 +293,7 @@ t.index ["user_id", "last_name", "deleted_at"], name: "index_leads_on_user_id_and_last_name_and_deleted_at", unique: true end - create_table "lists", force: :cascade do |t| + create_table "lists", id: :serial, force: :cascade do |t| t.string "name" t.text "url" t.datetime "created_at" @@ -289,7 +302,7 @@ t.index ["user_id"], name: "index_lists_on_user_id" end - create_table "opportunities", force: :cascade do |t| + create_table "opportunities", id: :serial, force: :cascade do |t| t.integer "user_id" t.integer "campaign_id" t.integer "assigned_to" @@ -310,7 +323,7 @@ t.index ["user_id", "name", "deleted_at"], name: "id_name_deleted", unique: true end - create_table "permissions", force: :cascade do |t| + create_table "permissions", id: :serial, force: :cascade do |t| t.integer "user_id" t.string "asset_type" t.integer "asset_id" @@ -322,7 +335,7 @@ t.index ["user_id"], name: "index_permissions_on_user_id" end - create_table "preferences", force: :cascade do |t| + create_table "preferences", id: :serial, force: :cascade do |t| t.integer "user_id" t.string "name", limit: 32, default: "", null: false t.text "value" @@ -331,7 +344,7 @@ t.index ["user_id", "name"], name: "index_preferences_on_user_id_and_name" end - create_table "sessions", force: :cascade do |t| + create_table "sessions", id: :serial, force: :cascade do |t| t.string "session_id", null: false t.text "data" t.datetime "created_at" @@ -340,7 +353,7 @@ t.index ["updated_at"], name: "index_sessions_on_updated_at" end - create_table "settings", force: :cascade do |t| + create_table "settings", id: :serial, force: :cascade do |t| t.string "name", limit: 32, default: "", null: false t.text "value" t.datetime "created_at" @@ -348,7 +361,7 @@ t.index ["name"], name: "index_settings_on_name" end - create_table "taggings", force: :cascade do |t| + create_table "taggings", id: :serial, force: :cascade do |t| t.integer "tag_id" t.integer "taggable_id" t.integer "tagger_id" @@ -360,13 +373,13 @@ t.index ["taggable_id", "taggable_type", "context"], name: "index_taggings_on_taggable_id_and_taggable_type_and_context" end - create_table "tags", force: :cascade do |t| + create_table "tags", id: :serial, force: :cascade do |t| t.string "name" t.integer "taggings_count", default: 0 t.index ["name"], name: "index_tags_on_name", unique: true end - create_table "tasks", force: :cascade do |t| + create_table "tasks", id: :serial, force: :cascade do |t| t.integer "user_id" t.integer "assigned_to" t.integer "completed_by" @@ -387,7 +400,7 @@ t.index ["user_id", "name", "deleted_at"], name: "index_tasks_on_user_id_and_name_and_deleted_at", unique: true end - create_table "users", force: :cascade do |t| + create_table "users", id: :serial, force: :cascade do |t| t.string "username", limit: 32, default: "", null: false t.string "email", limit: 254, default: "", null: false t.string "first_name", limit: 32 @@ -430,7 +443,7 @@ t.index ["username", "deleted_at"], name: "index_users_on_username_and_deleted_at", unique: true end - create_table "versions", force: :cascade do |t| + create_table "versions", id: :serial, force: :cascade do |t| t.string "item_type", null: false t.integer "item_id", null: false t.string "event", limit: 512, null: false diff --git a/lib/fat_free_crm.rb b/lib/fat_free_crm.rb index 741b011274..0e74ebe027 100644 --- a/lib/fat_free_crm.rb +++ b/lib/fat_free_crm.rb @@ -52,6 +52,7 @@ def application? require "fat_free_crm/tabs" require "fat_free_crm/callback" require "fat_free_crm/view_factory" +require "fat_free_crm/import_handle" require "activemodel-serializers-xml" require "country_select" diff --git a/lib/fat_free_crm/import_handle.rb b/lib/fat_free_crm/import_handle.rb new file mode 100644 index 0000000000..8ab68bf24a --- /dev/null +++ b/lib/fat_free_crm/import_handle.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true + +# Copyright (c) 2008-2013 Michael Dvorkin and contributors. +# +# Fat Free CRM is freely distributable under the terms of MIT license. +# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php +#------------------------------------------------------------------------------ +require 'roo' + +module FatFreeCRM + class ImportHandle + class << self + def process(importer) + result = { + items: [], + errors: [] + } + xlsx = Roo::Spreadsheet.open(importer.attachment.path) + + xlsx.each_with_pagename do |name, sheet| + headers = Hash.new + sheet.row(1).each_with_index { |header, i| + headers[header] = i + } + ((sheet.first_row + 1)..sheet.last_row).each do |row| + campaign = Campaign.import_from_xls(sheet.row(row), headers) + result[:items].push(campaign) + if campaign.errors.count + result[:errors].push(campaign.errors.full_messages) + end + end + end + + result + end + end + end +end + + diff --git a/lib/tasks/ffcrm/import.rake b/lib/tasks/ffcrm/import.rake new file mode 100644 index 0000000000..3681cf3e2b --- /dev/null +++ b/lib/tasks/ffcrm/import.rake @@ -0,0 +1,63 @@ +# frozen_string_literal: true + +# Copyright (c) 2008-2013 Michael Dvorkin and contributors. +# +# Fat Free CRM is freely distributable under the terms of MIT license. +# See MIT-LICENSE file or http://www.opensource.org/licenses/mit-license.php +#------------------------------------------------------------------------------ +namespace :ffcrm do + namespace :import do + desc "Import files..." + task process: :environment do + require 'roo' + + importers = Importer.all + importers.each do |importer| + require 'roo' + + xlsx = Roo::Spreadsheet.open(importer.attachment.path, extension: :xls) + + xlsx.each_with_pagename do |name, sheet| + headers = Hash.new + sheet.row(1).each_with_index {|header,i| + headers[header] = i + } + + ((sheet.first_row + 1)..sheet.last_row).each do |row| + campaign = Campaign.new + campaign.name = sheet.row(row)[headers['Name']] + campaign.access = sheet.row(row)[headers['Access']] + campaign.status = sheet.row(row)[headers['Status']] + campaign.budget =sheet.row(row)[headers['Budget']] + campaign.target_leads =sheet.row(row)[headers['target leads']] + campaign.target_conversion =sheet.row(row)[headers['Target conversion']] + campaign.leads_count =sheet.row(row)[headers['Number of leads']] + campaign.opportunities_count =sheet.row(row)[headers['Total Opportunities']] + campaign.revenue =sheet.row(row)[headers['target revenue']] + campaign.starts_on =sheet.row(row)[headers['start date']] + campaign.ends_on =sheet.row(row)[headers['end date']] + campaign.objectives =sheet.row(row)[headers['Objectives']] + campaign.background_info =sheet.row(row)[headers['Background']] + if campaign.save + puts 'Saved' + else + puts campaign.errors.full_messages + end + + + # headers.each do |header, i | + # value = sheet.row(row)[i] + # end + end + + # sheet.each_row(offset: 1) do |row| # skip first row + # puts row + # end + end + + + puts + end + end + end +end diff --git a/vendor/assets/images/calendar_date_select/calendar.gif b/vendor/assets/images/calendar_date_select/calendar.gif old mode 100644 new mode 100755 diff --git a/vendor/assets/images/chosen-sprite.png b/vendor/assets/images/chosen-sprite.png old mode 100644 new mode 100755 diff --git a/vendor/assets/images/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png b/vendor/assets/images/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png old mode 100644 new mode 100755 diff --git a/vendor/assets/images/jquery-ui/ui-bg_flat_0_eeeeee_40x100.png b/vendor/assets/images/jquery-ui/ui-bg_flat_0_eeeeee_40x100.png old mode 100644 new mode 100755 diff --git a/vendor/assets/images/jquery-ui/ui-bg_flat_100_ffffff_40x100.png b/vendor/assets/images/jquery-ui/ui-bg_flat_100_ffffff_40x100.png old mode 100644 new mode 100755 diff --git a/vendor/assets/images/jquery-ui/ui-bg_flat_25_3875d7_40x100.png b/vendor/assets/images/jquery-ui/ui-bg_flat_25_3875d7_40x100.png old mode 100644 new mode 100755 diff --git a/vendor/assets/images/jquery-ui/ui-bg_flat_55_ffffff_40x100.png b/vendor/assets/images/jquery-ui/ui-bg_flat_55_ffffff_40x100.png old mode 100644 new mode 100755 diff --git a/vendor/assets/images/jquery-ui/ui-bg_flat_65_3875d7_40x100.png b/vendor/assets/images/jquery-ui/ui-bg_flat_65_3875d7_40x100.png old mode 100644 new mode 100755 diff --git a/vendor/assets/images/jquery-ui/ui-bg_flat_75_ffffff_40x100.png b/vendor/assets/images/jquery-ui/ui-bg_flat_75_ffffff_40x100.png old mode 100644 new mode 100755 diff --git a/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_50_dddddd_1x100.png b/vendor/assets/images/jquery-ui/ui-bg_highlight-soft_50_dddddd_1x100.png old mode 100644 new mode 100755 diff --git a/vendor/assets/images/jquery-ui/ui-icons_0073ea_256x240.png b/vendor/assets/images/jquery-ui/ui-icons_0073ea_256x240.png old mode 100644 new mode 100755 diff --git a/vendor/assets/images/jquery-ui/ui-icons_466bb1_256x240.png b/vendor/assets/images/jquery-ui/ui-icons_466bb1_256x240.png old mode 100644 new mode 100755 diff --git a/vendor/assets/images/jquery-ui/ui-icons_ff0084_256x240.png b/vendor/assets/images/jquery-ui/ui-icons_ff0084_256x240.png old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery.disable.js b/vendor/assets/javascripts/jquery.disable.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_timeago/index.js b/vendor/assets/javascripts/jquery_timeago/index.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_timeago/jquery.timeago.cz.js b/vendor/assets/javascripts/jquery_timeago/jquery.timeago.cz.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_timeago/jquery.timeago.de.js b/vendor/assets/javascripts/jquery_timeago/jquery.timeago.de.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_timeago/jquery.timeago.en-GB.js b/vendor/assets/javascripts/jquery_timeago/jquery.timeago.en-GB.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_timeago/jquery.timeago.en-US.js b/vendor/assets/javascripts/jquery_timeago/jquery.timeago.en-US.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_timeago/jquery.timeago.es-CL.js b/vendor/assets/javascripts/jquery_timeago/jquery.timeago.es-CL.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_timeago/jquery.timeago.es.js b/vendor/assets/javascripts/jquery_timeago/jquery.timeago.es.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_timeago/jquery.timeago.fr-CA.js b/vendor/assets/javascripts/jquery_timeago/jquery.timeago.fr-CA.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_timeago/jquery.timeago.fr.js b/vendor/assets/javascripts/jquery_timeago/jquery.timeago.fr.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_timeago/jquery.timeago.it.js b/vendor/assets/javascripts/jquery_timeago/jquery.timeago.it.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_timeago/jquery.timeago.ja.js b/vendor/assets/javascripts/jquery_timeago/jquery.timeago.ja.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_timeago/jquery.timeago.js b/vendor/assets/javascripts/jquery_timeago/jquery.timeago.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_timeago/jquery.timeago.nl.js b/vendor/assets/javascripts/jquery_timeago/jquery.timeago.nl.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_timeago/jquery.timeago.pl.js b/vendor/assets/javascripts/jquery_timeago/jquery.timeago.pl.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_timeago/jquery.timeago.pt-BR.js b/vendor/assets/javascripts/jquery_timeago/jquery.timeago.pt-BR.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_timeago/jquery.timeago.ru.js b/vendor/assets/javascripts/jquery_timeago/jquery.timeago.ru.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_timeago/jquery.timeago.sv-SE.js b/vendor/assets/javascripts/jquery_timeago/jquery.timeago.sv-SE.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_timeago/jquery.timeago.th.js b/vendor/assets/javascripts/jquery_timeago/jquery.timeago.th.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_timeago/jquery.timeago.zh-CN.js b/vendor/assets/javascripts/jquery_timeago/jquery.timeago.zh-CN.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-addon.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-addon.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-af.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-af.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ca.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ca.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-cz.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-cz.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-de.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-de.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-el.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-el.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-es-CL.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-es-CL.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-es.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-es.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-et.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-et.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-fi.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-fi.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-fr-CA.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-fr-CA.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-fr.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-fr.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-gl.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-gl.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-he.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-he.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-hu.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-hu.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-id.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-id.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-it.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-it.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ja.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ja.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ko.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ko.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-lt.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-lt.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-nl.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-nl.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-no.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-no.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-pl.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-pl.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-pt-BR.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-pt-BR.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-pt.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-pt.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ro.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ro.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ru.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-ru.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-sk.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-sk.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-sv-SE.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-sv-SE.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-th.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-th.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-tr.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-tr.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-vi.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-vi.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-zh-CN.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-zh-CN.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-zh-TW.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery-ui-timepicker-zh-TW.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-cz.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-cz.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-de.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-de.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-en-GB.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-en-GB.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-es-CL.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-es-CL.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-es.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-es.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-fr-CA.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-fr-CA.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-fr.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-fr.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-it.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-it.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-ja.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-ja.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-nl.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-nl.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-pl.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-pl.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-pt-BR.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-pt-BR.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-pt.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-pt.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-ru.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-ru.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-sv-SE.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-sv-SE.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-th.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-th.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-zh-CN.js b/vendor/assets/javascripts/jquery_ui_datepicker/jquery.ui.datepicker-zh-CN.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/lib/select-parser.coffee b/vendor/assets/javascripts/lib/select-parser.coffee old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/rating.js b/vendor/assets/javascripts/rating.js old mode 100644 new mode 100755 diff --git a/vendor/assets/javascripts/textarea_autocomplete.js b/vendor/assets/javascripts/textarea_autocomplete.js old mode 100644 new mode 100755 diff --git a/vendor/assets/stylesheets/jquery-ui.custom.scss b/vendor/assets/stylesheets/jquery-ui.custom.scss old mode 100644 new mode 100755 diff --git a/vendor/assets/stylesheets/modalbox.css b/vendor/assets/stylesheets/modalbox.css old mode 100644 new mode 100755 diff --git a/vendor/gems/globby-0.1.2/LICENSE.txt b/vendor/gems/globby-0.1.2/LICENSE.txt old mode 100644 new mode 100755 diff --git a/vendor/gems/globby-0.1.2/README.md b/vendor/gems/globby-0.1.2/README.md old mode 100644 new mode 100755 diff --git a/vendor/gems/globby-0.1.2/Rakefile b/vendor/gems/globby-0.1.2/Rakefile old mode 100644 new mode 100755 diff --git a/vendor/gems/globby-0.1.2/lib/globby.rb b/vendor/gems/globby-0.1.2/lib/globby.rb old mode 100644 new mode 100755 diff --git a/vendor/gems/globby-0.1.2/lib/globby/glob.rb b/vendor/gems/globby-0.1.2/lib/globby/glob.rb old mode 100644 new mode 100755 diff --git a/vendor/gems/globby-0.1.2/lib/globby/globject.rb b/vendor/gems/globby-0.1.2/lib/globby/globject.rb old mode 100644 new mode 100755 diff --git a/vendor/gems/globby-0.1.2/lib/globby/result.rb b/vendor/gems/globby-0.1.2/lib/globby/result.rb old mode 100644 new mode 100755 diff --git a/vendor/gems/globby-0.1.2/spec/gitignore_spec.rb b/vendor/gems/globby-0.1.2/spec/gitignore_spec.rb old mode 100644 new mode 100755 diff --git a/vendor/gems/globby-0.1.2/spec/globby_spec.rb b/vendor/gems/globby-0.1.2/spec/globby_spec.rb old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/.gitignore b/vendor/gems/ransack_ui-1.3.4/.gitignore old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/Gemfile b/vendor/gems/ransack_ui-1.3.4/Gemfile old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/LICENSE.txt b/vendor/gems/ransack_ui-1.3.4/LICENSE.txt old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/README.md b/vendor/gems/ransack_ui-1.3.4/README.md old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/Rakefile b/vendor/gems/ransack_ui-1.3.4/Rakefile old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/app/assets/images/ransack_ui/calendar.png b/vendor/gems/ransack_ui-1.3.4/app/assets/images/ransack_ui/calendar.png old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/app/assets/images/ransack_ui/delete.png b/vendor/gems/ransack_ui-1.3.4/app/assets/images/ransack_ui/delete.png old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/app/assets/javascripts/ransack/predicates.js.coffee b/vendor/gems/ransack_ui-1.3.4/app/assets/javascripts/ransack/predicates.js.coffee old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/app/assets/javascripts/ransack_ui_bootstrap/button_group_select.js.coffee b/vendor/gems/ransack_ui-1.3.4/app/assets/javascripts/ransack_ui_bootstrap/button_group_select.js.coffee old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/app/assets/javascripts/ransack_ui_bootstrap/index.js.coffee b/vendor/gems/ransack_ui-1.3.4/app/assets/javascripts/ransack_ui_bootstrap/index.js.coffee old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/app/assets/javascripts/ransack_ui_jquery/index.js b/vendor/gems/ransack_ui-1.3.4/app/assets/javascripts/ransack_ui_jquery/index.js old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/app/assets/javascripts/ransack_ui_jquery/search_form.js.coffee.erb b/vendor/gems/ransack_ui-1.3.4/app/assets/javascripts/ransack_ui_jquery/search_form.js.coffee.erb old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/app/assets/stylesheets/ransack_ui_bootstrap/index.css b/vendor/gems/ransack_ui-1.3.4/app/assets/stylesheets/ransack_ui_bootstrap/index.css old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/app/assets/stylesheets/ransack_ui_bootstrap/search.css.scss b/vendor/gems/ransack_ui-1.3.4/app/assets/stylesheets/ransack_ui_bootstrap/search.css.scss old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/app/views/ransack_ui/_sort_fields.html.erb b/vendor/gems/ransack_ui-1.3.4/app/views/ransack_ui/_sort_fields.html.erb old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/config/locales/en.yml b/vendor/gems/ransack_ui-1.3.4/config/locales/en.yml old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui.rb b/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui.rb old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/adapters/active_record.rb b/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/adapters/active_record.rb old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/adapters/active_record/base.rb b/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/adapters/active_record/base.rb old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/controller_helpers.rb b/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/controller_helpers.rb old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/rails/engine.rb b/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/rails/engine.rb old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/ransack_overrides/adapters/active_record/base.rb b/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/ransack_overrides/adapters/active_record/base.rb old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/ransack_overrides/configuration.rb b/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/ransack_overrides/configuration.rb old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/ransack_overrides/context.rb b/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/ransack_overrides/context.rb old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/ransack_overrides/helpers/form_builder.rb b/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/ransack_overrides/helpers/form_builder.rb old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/ransack_overrides/nodes/attribute.rb b/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/ransack_overrides/nodes/attribute.rb old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/ransack_overrides/nodes/condition.rb b/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/ransack_overrides/nodes/condition.rb old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/ransack_overrides/nodes/grouping.rb b/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/ransack_overrides/nodes/grouping.rb old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/version.rb b/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/version.rb old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/view_helpers.rb b/vendor/gems/ransack_ui-1.3.4/lib/ransack_ui/view_helpers.rb old mode 100644 new mode 100755 diff --git a/vendor/gems/ransack_ui-1.3.4/ransack_ui.gemspec b/vendor/gems/ransack_ui-1.3.4/ransack_ui.gemspec old mode 100644 new mode 100755