kuppayam 0.1.5 → 0.1.6dev2
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 +4 -4
- data/README.md +13 -0
- data/app/assets/images/{kuppayam/favicon.png → favicon.png} +0 -0
- data/app/assets/images/{kuppayam/logo.png → logo.png} +0 -0
- data/app/assets/javascripts/kuppayam.js +3 -0
- data/app/assets/javascripts/kuppayam/utilities.js +28 -0
- data/app/assets/stylesheets/kuppayam.css +1 -0
- data/app/assets/stylesheets/kuppayam/custom.css +4 -0
- data/app/controllers/kuppayam/base_controller.rb +14 -4
- data/app/controllers/kuppayam/documents_controller.rb +24 -0
- data/app/controllers/kuppayam/images_controller.rb +41 -1
- data/app/helpers/breadcrumbs_helper.rb +1 -1
- data/app/helpers/filter_helper.rb +9 -3
- data/app/helpers/image_helper.rb +11 -3
- data/app/helpers/kuppayam_helper.rb +2 -2
- data/app/helpers/meta_tags_helper.rb +0 -4
- data/app/helpers/notification_helper.rb +6 -6
- data/app/helpers/render_helper.rb +11 -2
- data/app/helpers/resource_helper.rb +23 -9
- data/app/models/document/base.rb +13 -15
- data/app/models/document/import_data_file.rb +14 -0
- data/app/models/document/import_report_file.rb +8 -0
- data/app/models/image/base.rb +12 -14
- data/app/models/import_data.rb +19 -2
- data/app/models/kuppayam/application_record.rb +3 -0
- data/app/uploaders/document_uploader.rb +4 -4
- data/app/uploaders/image_uploader.rb +1 -1
- data/app/uploaders/import_data_uploader.rb +15 -0
- data/app/views/kuppayam/documents/create.html.erb +1 -1
- data/app/views/kuppayam/documents/edit.js.erb +1 -1
- data/app/views/kuppayam/documents/new.js.erb +1 -1
- data/app/views/kuppayam/documents/update.html.erb +1 -1
- data/app/views/kuppayam/filters/_display_dropdown_filters.html.erb +11 -0
- data/app/views/kuppayam/filters/_display_filters.html.erb +29 -0
- data/app/views/kuppayam/http_status/404.html.erb +1 -0
- data/app/views/kuppayam/images/_form.html.erb +1 -1
- data/app/views/kuppayam/images/_index.html.erb +17 -20
- data/app/views/kuppayam/images/_show.html.erb +32 -0
- data/app/views/kuppayam/images/create.html.erb +4 -4
- data/app/views/kuppayam/images/crop.html.erb +1 -1
- data/app/views/kuppayam/images/destroy.js.erb +19 -0
- data/app/views/kuppayam/images/edit.js.erb +3 -3
- data/app/views/kuppayam/images/index.html.erb +8 -1
- data/app/views/kuppayam/images/new.js.erb +1 -1
- data/app/views/kuppayam/images/update.html.erb +5 -5
- data/app/views/kuppayam/import_data/new.js.erb +1 -1
- data/app/views/kuppayam/import_data/update.html.erb +1 -1
- data/app/views/kuppayam/workflows/parrot/create.js.erb +11 -6
- data/app/views/kuppayam/workflows/parrot/edit.js.erb +1 -1
- data/app/views/kuppayam/workflows/parrot/new.js.erb +2 -2
- data/app/views/kuppayam/workflows/parrot/row.js.erb +1 -1
- data/app/views/kuppayam/workflows/parrot/update.js.erb +10 -5
- data/app/views/kuppayam/workflows/peacock/create.js.erb +12 -7
- data/app/views/kuppayam/workflows/peacock/edit.js.erb +2 -2
- data/app/views/kuppayam/workflows/peacock/new.js.erb +2 -2
- data/app/views/kuppayam/workflows/peacock/row.js.erb +1 -1
- data/app/views/kuppayam/workflows/peacock/update.js.erb +11 -6
- data/app/views/layouts/kuppayam/_footer.html.erb +1 -0
- data/app/views/layouts/kuppayam/_head.html.erb +11 -2
- data/app/views/layouts/kuppayam/_heading.html.erb +11 -2
- data/app/views/layouts/kuppayam/_horizontal_menu.html.erb +932 -0
- data/app/views/layouts/kuppayam/_sidebar.html.erb +5 -2
- data/app/views/layouts/kuppayam/admin.html.erb +63 -6
- data/app/views/layouts/kuppayam/blank.html.erb +62 -5
- data/app/views/layouts/kuppayam/document_upload.html.erb +3 -2
- data/app/views/layouts/kuppayam/image_upload.html.erb +3 -2
- data/app/views/layouts/kuppayam/layout_horizontal_menu.html.erb +116 -0
- data/app/views/layouts/kuppayam/print_a4.html.erb +32 -0
- data/app/views/layouts/kuppayam/user.html.erb +120 -0
- data/config/initializers/importer.rb +303 -0
- data/config/initializers/validators.rb +78 -0
- data/config/locales/kuppayam/general.yml +1 -0
- data/config/routes.rb +1 -1
- data/db/migrate/20170000000000_create_images.rb +1 -0
- data/db/migrate/20170000000001_create_documents.rb +2 -1
- data/db/migrate/20170000000002_create_import_data.rb +2 -2
- data/lib/kuppayam/action_view/form_helper.rb +1 -1
- data/lib/kuppayam/action_view/theme_helper.rb +8 -2
- data/lib/kuppayam/engine.rb +2 -0
- data/lib/kuppayam/version.rb +1 -1
- data/lib/tasks/template.rake +72 -0
- data/lib/tasks/test_import.rake +40 -0
- data/vendor/assets/stylesheets/custom.css +0 -0
- metadata +76 -16
- data/app/views/kuppayam/images/_action_buttons.html.erb +0 -14
- data/app/views/layouts/kuppayam/_overlays.html.erb +0 -47
- data/config/initializers/kuppayam_validators.rb +0 -76
- data/lib/tasks/kuppayam_tasks.rake +0 -4
data/lib/kuppayam/engine.rb
CHANGED
|
@@ -4,6 +4,8 @@ module Kuppayam
|
|
|
4
4
|
require 'kaminari'
|
|
5
5
|
require 'jquery-rails'
|
|
6
6
|
|
|
7
|
+
config.autoload_paths << File.expand_path("../extras", __FILE__)
|
|
8
|
+
|
|
7
9
|
initializer "kuppayam.assets.precompile" do |app|
|
|
8
10
|
app.config.assets.precompile += %w( kuppayam.js jquery_with_ujs.js kuppayam.css wysiwyg-color.css)
|
|
9
11
|
end
|
data/lib/kuppayam/version.rb
CHANGED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
require 'csv'
|
|
2
|
+
require 'open-uri'
|
|
3
|
+
require 'time'
|
|
4
|
+
|
|
5
|
+
namespace 'import' do
|
|
6
|
+
namespace 'template' do
|
|
7
|
+
|
|
8
|
+
desc "Import all data in sequence"
|
|
9
|
+
task 'all' => :environment do
|
|
10
|
+
|
|
11
|
+
import_list = ["countries", "cities"]
|
|
12
|
+
|
|
13
|
+
import_list.each do |item|
|
|
14
|
+
print "Importing #{item.titleize} \t".yellow
|
|
15
|
+
begin
|
|
16
|
+
Rake::Task["usman:import:#{item}"].invoke
|
|
17
|
+
rescue ArgumentError => e
|
|
18
|
+
puts "Loading #{item} - Failed - #{e.message}".red
|
|
19
|
+
rescue Exception => e
|
|
20
|
+
puts "Importing #{item.titleize} - Failed - #{e.message}".red
|
|
21
|
+
puts "Backtrace:\n\t#{e.backtrace.join("\n\t")}"
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
puts " "
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Import from xlsx
|
|
28
|
+
["ClassName"].each do |cls_name|
|
|
29
|
+
name = cls_name.underscore.pluralize
|
|
30
|
+
desc "Import #{cls_name.pluralize}"
|
|
31
|
+
task name => :environment do
|
|
32
|
+
verbose = true
|
|
33
|
+
verbose = false if ["false", "f","0","no","n"].include?(ENV["verbose"].to_s.downcase.strip)
|
|
34
|
+
path = Kuppayam::Engine.root.join('db', 'master_data', "#{cls_name.constantize.table_name}.xlsx")
|
|
35
|
+
cls_name.constantize.import_data(path, verbose)
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
# Import from CSV
|
|
40
|
+
["ClassName"].each do |cls_name|
|
|
41
|
+
name = cls_name.underscore.pluralize
|
|
42
|
+
desc "Import #{cls_name.pluralize}"
|
|
43
|
+
task name => :environment do
|
|
44
|
+
verbose = true
|
|
45
|
+
verbose = false if ["false", "f","0","no","n"].include?(ENV["verbose"].to_s.downcase.strip)
|
|
46
|
+
path = Kuppayam::Engine.root.join('db', 'master_data', "#{cls_name.constantize.table_name}.csv")
|
|
47
|
+
cls_name.constantize.import_data(path, verbose)
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# Import from SQL file
|
|
52
|
+
["Country", "City"].each do |cls_name|
|
|
53
|
+
name = cls_name.underscore.pluralize
|
|
54
|
+
desc "Import #{cls_name.pluralize}"
|
|
55
|
+
task name => :environment do
|
|
56
|
+
path = Kuppayam::Engine.root.join('db', 'master_data', "#{cls_name.constantize.table_name}.sql")
|
|
57
|
+
begin
|
|
58
|
+
system "bundle exec rails db < #{path.to_s}"
|
|
59
|
+
puts "Imported #{cls_name.pluralize} SQL file successfully".green
|
|
60
|
+
puts "Saved #{cls_name.constantize.count} rows".green
|
|
61
|
+
rescue ArgumentError => e
|
|
62
|
+
puts "Loading #{item} - Failed - #{e.message}".red
|
|
63
|
+
rescue Exception => e
|
|
64
|
+
puts "Importing #{item.titleize} - Failed - #{e.message}".red
|
|
65
|
+
puts "Backtrace:\n\t#{e.backtrace.join("\n\t")}"
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
end
|
|
71
|
+
end
|
|
72
|
+
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
require 'csv'
|
|
2
|
+
require 'open-uri'
|
|
3
|
+
require 'time'
|
|
4
|
+
|
|
5
|
+
namespace 'import' do
|
|
6
|
+
namespace 'test' do
|
|
7
|
+
namespace 'csv' do
|
|
8
|
+
|
|
9
|
+
# Import from a small CSV file (single)
|
|
10
|
+
desc "Importing a single CSV file (less than 5000 rows)"
|
|
11
|
+
task 'single_file' => :environment do
|
|
12
|
+
verbose = true
|
|
13
|
+
verbose = false if ["false", "f","0","no","n"].include?(ENV["verbose"].to_s.downcase.strip)
|
|
14
|
+
path = Kuppayam::Engine.root.join('db', 'test_data', "single_file", "master.csv")
|
|
15
|
+
Region.destroy_all
|
|
16
|
+
Region.import_data_file(path, true, verbose)
|
|
17
|
+
puts "Importing Completed".green if verbose
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
# Import from a bunch of split CSV files of same format (typically large CSV gets split into rows of 5000 or 10000)
|
|
21
|
+
desc "Importing a bunch of split CSV file"
|
|
22
|
+
task 'split_files' => :environment do
|
|
23
|
+
verbose = true
|
|
24
|
+
verbose = false if ["false", "f","0","no","n"].include?(ENV["verbose"].to_s.downcase.strip)
|
|
25
|
+
path = Kuppayam::Engine.root.join('db', 'test_data', "split_files")
|
|
26
|
+
Region.destroy_all
|
|
27
|
+
Region.import_data_recursively(path, true, verbose)
|
|
28
|
+
puts "Importing Completed".green if verbose
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
namespace 'xlsx' do
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
namespace 'sql' do
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
File without changes
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: kuppayam
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.6dev2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- kpvarma
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2017-
|
|
11
|
+
date: 2017-08-19 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rails
|
|
@@ -84,6 +84,54 @@ dependencies:
|
|
|
84
84
|
- - "~>"
|
|
85
85
|
- !ruby/object:Gem::Version
|
|
86
86
|
version: 0.0.5
|
|
87
|
+
- !ruby/object:Gem::Dependency
|
|
88
|
+
name: filesize
|
|
89
|
+
requirement: !ruby/object:Gem::Requirement
|
|
90
|
+
requirements:
|
|
91
|
+
- - "~>"
|
|
92
|
+
- !ruby/object:Gem::Version
|
|
93
|
+
version: 0.1.1
|
|
94
|
+
type: :runtime
|
|
95
|
+
prerelease: false
|
|
96
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
97
|
+
requirements:
|
|
98
|
+
- - "~>"
|
|
99
|
+
- !ruby/object:Gem::Version
|
|
100
|
+
version: 0.1.1
|
|
101
|
+
- !ruby/object:Gem::Dependency
|
|
102
|
+
name: iconv
|
|
103
|
+
requirement: !ruby/object:Gem::Requirement
|
|
104
|
+
requirements:
|
|
105
|
+
- - "~>"
|
|
106
|
+
- !ruby/object:Gem::Version
|
|
107
|
+
version: '1.0'
|
|
108
|
+
type: :runtime
|
|
109
|
+
prerelease: false
|
|
110
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
111
|
+
requirements:
|
|
112
|
+
- - "~>"
|
|
113
|
+
- !ruby/object:Gem::Version
|
|
114
|
+
version: '1.0'
|
|
115
|
+
- !ruby/object:Gem::Dependency
|
|
116
|
+
name: colorize
|
|
117
|
+
requirement: !ruby/object:Gem::Requirement
|
|
118
|
+
requirements:
|
|
119
|
+
- - "~>"
|
|
120
|
+
- !ruby/object:Gem::Version
|
|
121
|
+
version: 0.8.1
|
|
122
|
+
- - ">="
|
|
123
|
+
- !ruby/object:Gem::Version
|
|
124
|
+
version: 0.8.0
|
|
125
|
+
type: :development
|
|
126
|
+
prerelease: false
|
|
127
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
128
|
+
requirements:
|
|
129
|
+
- - "~>"
|
|
130
|
+
- !ruby/object:Gem::Version
|
|
131
|
+
version: 0.8.1
|
|
132
|
+
- - ">="
|
|
133
|
+
- !ruby/object:Gem::Version
|
|
134
|
+
version: 0.8.0
|
|
87
135
|
- !ruby/object:Gem::Dependency
|
|
88
136
|
name: pry
|
|
89
137
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -218,20 +266,20 @@ dependencies:
|
|
|
218
266
|
requirements:
|
|
219
267
|
- - "~>"
|
|
220
268
|
- !ruby/object:Gem::Version
|
|
221
|
-
version: 1.
|
|
269
|
+
version: 1.6.0
|
|
222
270
|
- - ">="
|
|
223
271
|
- !ruby/object:Gem::Version
|
|
224
|
-
version: 1.
|
|
272
|
+
version: 1.4.1
|
|
225
273
|
type: :development
|
|
226
274
|
prerelease: false
|
|
227
275
|
version_requirements: !ruby/object:Gem::Requirement
|
|
228
276
|
requirements:
|
|
229
277
|
- - "~>"
|
|
230
278
|
- !ruby/object:Gem::Version
|
|
231
|
-
version: 1.
|
|
279
|
+
version: 1.6.0
|
|
232
280
|
- - ">="
|
|
233
281
|
- !ruby/object:Gem::Version
|
|
234
|
-
version: 1.
|
|
282
|
+
version: 1.4.1
|
|
235
283
|
- !ruby/object:Gem::Dependency
|
|
236
284
|
name: shoulda-matchers
|
|
237
285
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -279,12 +327,12 @@ files:
|
|
|
279
327
|
- app/assets/fonts/meteocons.svg
|
|
280
328
|
- app/assets/fonts/meteocons.ttf
|
|
281
329
|
- app/assets/fonts/meteocons.woff
|
|
330
|
+
- app/assets/images/favicon.png
|
|
282
331
|
- app/assets/images/kuppayam/defaults/default-large.png
|
|
283
332
|
- app/assets/images/kuppayam/defaults/default-small.png
|
|
284
333
|
- app/assets/images/kuppayam/defaults/user-large.png
|
|
285
334
|
- app/assets/images/kuppayam/defaults/user-small.png
|
|
286
|
-
- app/assets/images/
|
|
287
|
-
- app/assets/images/kuppayam/logo.png
|
|
335
|
+
- app/assets/images/logo.png
|
|
288
336
|
- app/assets/javascripts/jquery_with_ujs.js
|
|
289
337
|
- app/assets/javascripts/kuppayam.js
|
|
290
338
|
- app/assets/javascripts/kuppayam/utilities.js
|
|
@@ -310,11 +358,14 @@ files:
|
|
|
310
358
|
- app/helpers/render_helper.rb
|
|
311
359
|
- app/helpers/resource_helper.rb
|
|
312
360
|
- app/models/document/base.rb
|
|
361
|
+
- app/models/document/import_data_file.rb
|
|
362
|
+
- app/models/document/import_report_file.rb
|
|
313
363
|
- app/models/image/base.rb
|
|
314
364
|
- app/models/import_data.rb
|
|
315
365
|
- app/models/kuppayam/application_record.rb
|
|
316
366
|
- app/uploaders/document_uploader.rb
|
|
317
367
|
- app/uploaders/image_uploader.rb
|
|
368
|
+
- app/uploaders/import_data_uploader.rb
|
|
318
369
|
- app/views/kaminari/_first_page.html.erb
|
|
319
370
|
- app/views/kaminari/_gap.html.erb
|
|
320
371
|
- app/views/kaminari/_last_page.html.erb
|
|
@@ -331,15 +382,19 @@ files:
|
|
|
331
382
|
- app/views/kuppayam/documents/edit.js.erb
|
|
332
383
|
- app/views/kuppayam/documents/new.js.erb
|
|
333
384
|
- app/views/kuppayam/documents/update.html.erb
|
|
334
|
-
- app/views/kuppayam/
|
|
385
|
+
- app/views/kuppayam/filters/_display_dropdown_filters.html.erb
|
|
386
|
+
- app/views/kuppayam/filters/_display_filters.html.erb
|
|
387
|
+
- app/views/kuppayam/http_status/404.html.erb
|
|
335
388
|
- app/views/kuppayam/images/_crop_form.html.erb
|
|
336
389
|
- app/views/kuppayam/images/_form.html.erb
|
|
337
390
|
- app/views/kuppayam/images/_index.html.erb
|
|
338
391
|
- app/views/kuppayam/images/_new.html.erb
|
|
339
392
|
- app/views/kuppayam/images/_photos.html.erb
|
|
340
393
|
- app/views/kuppayam/images/_row.html.erb
|
|
394
|
+
- app/views/kuppayam/images/_show.html.erb
|
|
341
395
|
- app/views/kuppayam/images/create.html.erb
|
|
342
396
|
- app/views/kuppayam/images/crop.html.erb
|
|
397
|
+
- app/views/kuppayam/images/destroy.js.erb
|
|
343
398
|
- app/views/kuppayam/images/edit.js.erb
|
|
344
399
|
- app/views/kuppayam/images/index.html.erb
|
|
345
400
|
- app/views/kuppayam/images/new.js.erb
|
|
@@ -374,8 +429,8 @@ files:
|
|
|
374
429
|
- app/views/layouts/kuppayam/_head.html.erb
|
|
375
430
|
- app/views/layouts/kuppayam/_header.html.erb
|
|
376
431
|
- app/views/layouts/kuppayam/_heading.html.erb
|
|
432
|
+
- app/views/layouts/kuppayam/_horizontal_menu.html.erb
|
|
377
433
|
- app/views/layouts/kuppayam/_navbar.html.erb
|
|
378
|
-
- app/views/layouts/kuppayam/_overlays.html.erb
|
|
379
434
|
- app/views/layouts/kuppayam/_settings_pane.html.erb
|
|
380
435
|
- app/views/layouts/kuppayam/_sidebar.html.erb
|
|
381
436
|
- app/views/layouts/kuppayam/_sidebar_old.html.erb
|
|
@@ -383,9 +438,13 @@ files:
|
|
|
383
438
|
- app/views/layouts/kuppayam/blank.html.erb
|
|
384
439
|
- app/views/layouts/kuppayam/document_upload.html.erb
|
|
385
440
|
- app/views/layouts/kuppayam/image_upload.html.erb
|
|
441
|
+
- app/views/layouts/kuppayam/layout_horizontal_menu.html.erb
|
|
442
|
+
- app/views/layouts/kuppayam/print_a4.html.erb
|
|
443
|
+
- app/views/layouts/kuppayam/user.html.erb
|
|
386
444
|
- config/initializers/config_center.rb
|
|
445
|
+
- config/initializers/importer.rb
|
|
387
446
|
- config/initializers/inflections.rb
|
|
388
|
-
- config/initializers/
|
|
447
|
+
- config/initializers/validators.rb
|
|
389
448
|
- config/locales/kuppayam/general.yml
|
|
390
449
|
- config/routes.rb
|
|
391
450
|
- db/migrate/20170000000000_create_images.rb
|
|
@@ -397,7 +456,8 @@ files:
|
|
|
397
456
|
- lib/kuppayam/action_view/theme_helper.rb
|
|
398
457
|
- lib/kuppayam/engine.rb
|
|
399
458
|
- lib/kuppayam/version.rb
|
|
400
|
-
- lib/tasks/
|
|
459
|
+
- lib/tasks/template.rake
|
|
460
|
+
- lib/tasks/test_import.rake
|
|
401
461
|
- vendor/assets/fonts/elusive/css/animation.css
|
|
402
462
|
- vendor/assets/fonts/elusive/css/elusive-codes.css
|
|
403
463
|
- vendor/assets/fonts/elusive/css/elusive-embedded.css
|
|
@@ -1389,6 +1449,7 @@ files:
|
|
|
1389
1449
|
- vendor/assets/javascripts/xenon-toggles.js
|
|
1390
1450
|
- vendor/assets/javascripts/xenon-widgets.js
|
|
1391
1451
|
- vendor/assets/stylesheets/bootstrap.css
|
|
1452
|
+
- vendor/assets/stylesheets/custom.css
|
|
1392
1453
|
- vendor/assets/stylesheets/handycss.css
|
|
1393
1454
|
- vendor/assets/stylesheets/handycss.css.map
|
|
1394
1455
|
- vendor/assets/stylesheets/other/wysihtml5-color.css
|
|
@@ -1412,14 +1473,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
1412
1473
|
version: '0'
|
|
1413
1474
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1414
1475
|
requirements:
|
|
1415
|
-
- - "
|
|
1476
|
+
- - ">"
|
|
1416
1477
|
- !ruby/object:Gem::Version
|
|
1417
|
-
version:
|
|
1478
|
+
version: 1.3.1
|
|
1418
1479
|
requirements: []
|
|
1419
1480
|
rubyforge_project:
|
|
1420
|
-
rubygems_version: 2.
|
|
1481
|
+
rubygems_version: 2.6.11
|
|
1421
1482
|
signing_key:
|
|
1422
1483
|
specification_version: 4
|
|
1423
1484
|
summary: Kuppayam is a basic UI to starter kit
|
|
1424
1485
|
test_files: []
|
|
1425
|
-
has_rdoc:
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
<div id="div_modal_generic" class="modal" style="z-index: 1056;">
|
|
2
|
-
<div class="modal-dialog">
|
|
3
|
-
<div class="modal-content">
|
|
4
|
-
<div class="modal-header">
|
|
5
|
-
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
6
|
-
<h3 class="modal-title">Modal title</h3>
|
|
7
|
-
</div>
|
|
8
|
-
<div class="modal-body-main"></div>
|
|
9
|
-
</div><!-- /.modal-content -->
|
|
10
|
-
</div><!-- /.modal-dialog -->
|
|
11
|
-
</div><!-- /.modal -->
|
|
12
|
-
|
|
13
|
-
<div id="div_modal_large" class="modal">
|
|
14
|
-
<div class="modal-dialog modal-lg" style="width: 96%">
|
|
15
|
-
<div class="modal-content">
|
|
16
|
-
<div class="modal-header">
|
|
17
|
-
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
18
|
-
<h3 class="modal-title">Modal title</h3>
|
|
19
|
-
</div>
|
|
20
|
-
<div class="modal-body-main"></div>
|
|
21
|
-
</div><!-- /.modal-content -->
|
|
22
|
-
</div><!-- /.modal-dialog -->
|
|
23
|
-
</div><!-- /.modal -->
|
|
24
|
-
|
|
25
|
-
<div id="div_modal_message" class="modal fade">
|
|
26
|
-
<div class="modal-dialog">
|
|
27
|
-
<div class="modal-content">
|
|
28
|
-
<div class="modal-header">
|
|
29
|
-
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
|
|
30
|
-
<h3 class="modal-title">Modal title</h3>
|
|
31
|
-
</div>
|
|
32
|
-
<div class="modal-body">
|
|
33
|
-
<p>One fine body…</p>
|
|
34
|
-
</div>
|
|
35
|
-
<div class="modal-footer">
|
|
36
|
-
<button type="button" class="btn btn-primary" data-dismiss="modal">Close</button>
|
|
37
|
-
</div>
|
|
38
|
-
</div><!-- /.modal-content -->
|
|
39
|
-
</div><!-- /.modal-dialog -->
|
|
40
|
-
</div><!-- /.modal -->
|
|
41
|
-
|
|
42
|
-
<script type="text/javascript">
|
|
43
|
-
$('.modal').on('shown.bs.modal', function(e){
|
|
44
|
-
$(this).modal('handleUpdate'); //Update backdrop on modal show
|
|
45
|
-
$(this).scrollTop(0); //reset modal to top position
|
|
46
|
-
});
|
|
47
|
-
</script>
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
module KuppayamValidators
|
|
2
|
-
|
|
3
|
-
def generate_validation_options(attribute, options)
|
|
4
|
-
{a: 1}
|
|
5
|
-
reg_exp = /\A[a-zA-Z1-9\-\ \(\)\.+]*\z/i
|
|
6
|
-
options.reverse_merge!(
|
|
7
|
-
presence: true,
|
|
8
|
-
min_length: 3,
|
|
9
|
-
max_length: 256,
|
|
10
|
-
format: reg_exp,
|
|
11
|
-
uniqueness: false,
|
|
12
|
-
mandatory: false
|
|
13
|
-
)
|
|
14
|
-
|
|
15
|
-
if options.has_key?(:condition_method) && !options[:condition_method].blank?
|
|
16
|
-
condition_proc = proc {|obj| obj.send(options[:condition_method])}
|
|
17
|
-
elsif options.has_key?(:mandatory) && options[:mandatory] == false
|
|
18
|
-
condition_proc = proc {|obj| !obj.send(attribute).blank?}
|
|
19
|
-
else
|
|
20
|
-
condition_proc = nil
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
voptions = {
|
|
24
|
-
presence: options[:presence],
|
|
25
|
-
length: { minimum: options[:min_length], maximum: options[:max_length]},
|
|
26
|
-
format: {:with => options[:format]}
|
|
27
|
-
}
|
|
28
|
-
voptions.merge!(uniqueness: options[:uniqueness]) if options[:uniqueness]
|
|
29
|
-
voptions.merge!(if: condition_proc) if condition_proc
|
|
30
|
-
|
|
31
|
-
voptions
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def validate_string(attribute, **options)
|
|
35
|
-
voptions = generate_validation_options(attribute, options)
|
|
36
|
-
validates attribute, **voptions
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
def validate_username(attribute, **options)
|
|
40
|
-
reg_exp = /\A[a-zA-Z0-9\_\.]*\z/
|
|
41
|
-
options.merge!(mandatory: true, min_length: 3, max_length: 128, format: reg_exp, :uniqueness => {:case_sensitive => false})
|
|
42
|
-
voptions = generate_validation_options(attribute, options)
|
|
43
|
-
validates attribute, **voptions
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
def validate_email(attribute, **options)
|
|
47
|
-
reg_exp = /\A(|(([A-Za-z0-9]+_+)|([A-Za-z0-9]+\-+)|([A-Za-z0-9]+\.+)|([A-Za-z0-9]+\++))*[A-Za-z0-9]+@((\w+\-+)|(\w+\.))*\w{1,63}\.[a-zA-Z]{2,6})\z/i
|
|
48
|
-
options.merge!(mandatory: true, format: reg_exp, :uniqueness => {:case_sensitive => false})
|
|
49
|
-
voptions = generate_validation_options(attribute, options)
|
|
50
|
-
validates attribute, **voptions
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
# format can be either :us or :indian
|
|
54
|
-
def validate_phone(attribute, **options)
|
|
55
|
-
options.reverse_merge!(phone_format: :india)
|
|
56
|
-
if options[:phone_format] == :us
|
|
57
|
-
reg_exp = /\A[0-9]{3}[-][0-9]{3}[-][0-9]{4}\z/
|
|
58
|
-
length = 12
|
|
59
|
-
else
|
|
60
|
-
reg_exp = /\A[0-9]{10}\z/
|
|
61
|
-
length = 10
|
|
62
|
-
end
|
|
63
|
-
options.merge!(format: reg_exp, min_length: length, max_length: length)
|
|
64
|
-
options.reverse_merge!(numericality: true, mandatory: true, uniqueness: true)
|
|
65
|
-
voptions = generate_validation_options(attribute, options)
|
|
66
|
-
validates attribute, **voptions
|
|
67
|
-
end
|
|
68
|
-
|
|
69
|
-
def validate_password(attribute, **options)
|
|
70
|
-
reg_exp = /\A(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9!@$#&*_\.,;:])/
|
|
71
|
-
options.merge!(mandatory: true, format: reg_exp, min_length: 7, max_length: 256)
|
|
72
|
-
voptions = generate_validation_options(attribute, options)
|
|
73
|
-
validates attribute, **voptions
|
|
74
|
-
end
|
|
75
|
-
|
|
76
|
-
end
|