kuppayam 0.1.5dev3 → 0.1.5dev4

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: 720f3df15058d1f58ce859da896830db4edb5bae
4
- data.tar.gz: e7c419fbcfb00e4d2a35f049c98207444f3a14fd
3
+ metadata.gz: 85f6707e4fd3e6cc5fb402e489820c8a9251be63
4
+ data.tar.gz: 789034cf9ba14f8aba6513cd9707bb026c4277b7
5
5
  SHA512:
6
- metadata.gz: ac2e13b0a6f4089d878bea0db754a3b75bd4669d0ebe354c535ef208b834dce3324c7b8200374168012ce534a45fe68232d38414235c181a6f95d99454c47a54
7
- data.tar.gz: f751ad4e00be06cd46346c89517831f2daf56b9725f6aa2b4cf7a04a2634ad61967037926800865f8d6b4e4dfd7f0885e60de04153e2174809fe9bb6fc67ce68
6
+ metadata.gz: 4095f94e3bd48b0b18dcf010b71681ef4139c47daceb8fffe4dae6ac8feeb804c25bac4a5dbbdb87f0ef0912477ac0160b72dd54ba57ccfd2735b445d28ec958
7
+ data.tar.gz: 55417a161f925d62f0a1ec61d8705af7b830b71c2522bcbc06560d83ea11d4605bdee227b1bdef78e89e99c18bf5648f713c51fd1277395cc2d84c5071c9b1ff
@@ -12,6 +12,7 @@
12
12
  //
13
13
  //= require kuppayam/utilities.js
14
14
  //= require bootstrap.min.js
15
+ //= require moment.min.js
15
16
  //= require TweenMax.min.js
16
17
  //= require resizeable.js
17
18
  //= require joinable.js
@@ -21,5 +22,7 @@
21
22
  //= require wysihtml5/lib/js/wysihtml5-0.3.0.js
22
23
  //= require wysihtml5/src/bootstrap-wysihtml5.js
23
24
  //= require toastr/toastr.min.js
25
+ //= require daterangepicker/daterangepicker.js
26
+ //= require multiselect/js/jquery.multi-select.js
24
27
 
25
28
 
@@ -20,4 +20,5 @@
20
20
  *= require kuppayam/handycss.css
21
21
  *= require kuppayam/custom.css
22
22
  *= require wysihtml5/src/bootstrap-wysihtml5.css
23
+ *= require multiselect/css/multi-select.css
23
24
  */
@@ -3,7 +3,6 @@ module FilterHelper
3
3
 
4
4
  def configure_filters
5
5
  configure_filter_settings
6
- configure_filter_ui_settings
7
6
  configure_filter_param_mapping
8
7
  end
9
8
 
@@ -98,6 +97,8 @@ module FilterHelper
98
97
  options = rpf[:options] || {}
99
98
  parse_reference_filter_from_params(rpf[:filter_name], rpf[:filter_class], options)
100
99
  end if filter_settings.has_key?(:reference_filters)
100
+
101
+ configure_filter_ui_settings
101
102
  end
102
103
 
103
104
  # Use this method to create a filter if the value is in a variable
@@ -329,10 +330,15 @@ module FilterHelper
329
330
  end
330
331
  selected_text = filter_options[:select_label] unless selected_text
331
332
 
332
- # Clone the existing filters firs
333
+ # Clone the existing filters first
333
334
  # remove the filters which are to be removed and add which are to be added
334
335
  # Also remove the filter which is currently selected
335
- temp_filters = filter_options[:current_filters].clone
336
+
337
+ unless filter_options[:current_filters].blank?
338
+ temp_filters = {}
339
+ else
340
+ temp_filters = filter_options[:current_filters].clone
341
+ end
336
342
  temp_filters.merge!(filter_options[:filters_to_add])
337
343
  temp_filters.reject!{|k,v| filter_options[:filters_to_remove].include?(k)}
338
344
  temp_filters.reject!{|k,v| k == filter_name.to_sym }
@@ -145,7 +145,7 @@ module ResourceHelper
145
145
  item_name: default_item_name,
146
146
  class: default_class,
147
147
  layout: :table,
148
- show_modal_after_update: true,
148
+ show_modal_after_create: true,
149
149
  show_modal_after_update: true,
150
150
  view_path: "/kuppayam/workflows/peacock",
151
151
  js_view_path: "/kuppayam/workflows/peacock"
@@ -2,8 +2,7 @@ module Kuppayam
2
2
  class ApplicationRecord < ActiveRecord::Base
3
3
  self.abstract_class = true
4
4
 
5
- require 'kuppayam/importer.rb'
6
5
  extend Kuppayam::Importer
7
- extend KuppayamValidators
6
+ extend Kuppayam::Validators
8
7
  end
9
8
  end
@@ -0,0 +1,11 @@
1
+ <div class="row" id="div_kuppayam_report_filters">
2
+ <div class="col-md-12">
3
+ <% @filter_ui_settings.each do |filter_name, options| %>
4
+ <% if options[:object_filter] == true %>
5
+ <%= report_object_filter(filter_name, options) %>
6
+ <% else %>
7
+ <%= report_filter(filter_name, options) %>
8
+ <% end %>
9
+ <% end %>
10
+ </div>
11
+ </div>
@@ -0,0 +1,29 @@
1
+ <div class="mb-20" style="font-size:16px; color: darkred; text-align: left;">Selected Filters</div>
2
+
3
+ <div class="table-responsive table-scrollable">
4
+ <table class="table table-striped table-condensed table-bordered">
5
+ <tbody>
6
+ <tr>
7
+ <% @filters.each do |name, value| %>
8
+ <th style="text-align: left;"><%= name.to_s.titleize %></th>
9
+ <% end %>
10
+ </tr>
11
+ <tr>
12
+ <% @filters.each do |name, value| %>
13
+ <%
14
+ display = case value
15
+ when ActiveRecord::Base
16
+ value.display_name
17
+ when "null", nil
18
+ "IS NULL"
19
+ else
20
+ value.to_s.titleize
21
+ end
22
+ #display = value.is_a?(ActiveRecord::Base) ? value.display_name : value.to_s
23
+ %>
24
+ <td style="text-align: left;"><%= display %></td>
25
+ <% end %>
26
+ </tr>
27
+ </tbody>
28
+ </table>
29
+ </div>
@@ -0,0 +1,78 @@
1
+ module Kuppayam
2
+ module Validators
3
+
4
+ def generate_validation_options(attribute, options)
5
+ {a: 1}
6
+ reg_exp = /\A[a-zA-Z1-9\-\ \(\)\.+]*\z/i
7
+ options.reverse_merge!(
8
+ presence: true,
9
+ min_length: 3,
10
+ max_length: 256,
11
+ format: reg_exp,
12
+ uniqueness: false,
13
+ mandatory: false
14
+ )
15
+
16
+ if options.has_key?(:condition_method) && !options[:condition_method].blank?
17
+ condition_proc = proc {|obj| obj.send(options[:condition_method])}
18
+ elsif options.has_key?(:mandatory) && options[:mandatory] == false
19
+ condition_proc = proc {|obj| !obj.send(attribute).blank?}
20
+ else
21
+ condition_proc = nil
22
+ end
23
+
24
+ voptions = {
25
+ presence: options[:presence],
26
+ length: { minimum: options[:min_length], maximum: options[:max_length]},
27
+ format: {:with => options[:format]}
28
+ }
29
+ voptions.merge!(uniqueness: options[:uniqueness]) if options[:uniqueness]
30
+ voptions.merge!(if: condition_proc) if condition_proc
31
+
32
+ voptions
33
+ end
34
+
35
+ def validate_string(attribute, **options)
36
+ voptions = generate_validation_options(attribute, options)
37
+ validates attribute, **voptions
38
+ end
39
+
40
+ def validate_username(attribute, **options)
41
+ reg_exp = /\A[a-zA-Z0-9\_\.]*\z/
42
+ options.merge!(mandatory: true, min_length: 3, max_length: 128, format: reg_exp, :uniqueness => {:case_sensitive => false})
43
+ voptions = generate_validation_options(attribute, options)
44
+ validates attribute, **voptions
45
+ end
46
+
47
+ def validate_email(attribute, **options)
48
+ 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
49
+ options.merge!(mandatory: true, format: reg_exp, :uniqueness => {:case_sensitive => false})
50
+ voptions = generate_validation_options(attribute, options)
51
+ validates attribute, **voptions
52
+ end
53
+
54
+ # format can be either :us or :indian
55
+ def validate_phone(attribute, **options)
56
+ options.reverse_merge!(phone_format: :india)
57
+ if options[:phone_format] == :us
58
+ reg_exp = /\A[0-9]{3}[-][0-9]{3}[-][0-9]{4}\z/
59
+ length = 12
60
+ else
61
+ reg_exp = /\A[0-9]{10}\z/
62
+ length = 10
63
+ end
64
+ options.merge!(format: reg_exp, min_length: length, max_length: length)
65
+ options.reverse_merge!(numericality: true, mandatory: true, uniqueness: true)
66
+ voptions = generate_validation_options(attribute, options)
67
+ validates attribute, **voptions
68
+ end
69
+
70
+ def validate_password(attribute, **options)
71
+ reg_exp = /\A(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9!@$#&*_\.,;:])/
72
+ options.merge!(mandatory: true, format: reg_exp, min_length: 7, max_length: 256)
73
+ voptions = generate_validation_options(attribute, options)
74
+ validates attribute, **voptions
75
+ end
76
+
77
+ end
78
+ end
@@ -1,3 +1,3 @@
1
1
  module Kuppayam
2
- VERSION = '0.1.5dev3'
2
+ VERSION = '0.1.5dev4'
3
3
  end
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.5dev3
4
+ version: 0.1.5dev4
5
5
  platform: ruby
6
6
  authors:
7
7
  - kpvarma
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-04-07 00:00:00.000000000 Z
11
+ date: 2017-04-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -351,6 +351,8 @@ files:
351
351
  - app/views/kuppayam/documents/edit.js.erb
352
352
  - app/views/kuppayam/documents/new.js.erb
353
353
  - app/views/kuppayam/documents/update.html.erb
354
+ - app/views/kuppayam/filters/_display_dropdown_filters.html.erb
355
+ - app/views/kuppayam/filters/_display_filters.html.erb
354
356
  - app/views/kuppayam/http_status/404.html.erb
355
357
  - app/views/kuppayam/images/_action_buttons.html.erb
356
358
  - app/views/kuppayam/images/_crop_form.html.erb
@@ -407,8 +409,9 @@ files:
407
409
  - app/views/layouts/kuppayam/layout_horizontal_menu.html.erb
408
410
  - app/views/layouts/kuppayam/print_a4.html.erb
409
411
  - config/initializers/config_center.rb
412
+ - config/initializers/importer.rb
410
413
  - config/initializers/inflections.rb
411
- - config/initializers/kuppayam_validators.rb
414
+ - config/initializers/validators.rb
412
415
  - config/locales/kuppayam/general.yml
413
416
  - config/routes.rb
414
417
  - db/migrate/20170000000000_create_images.rb
@@ -419,7 +422,6 @@ files:
419
422
  - lib/kuppayam/action_view/modal_helper.rb
420
423
  - lib/kuppayam/action_view/theme_helper.rb
421
424
  - lib/kuppayam/engine.rb
422
- - lib/kuppayam/extras/kuppayam/importer.rb
423
425
  - lib/kuppayam/version.rb
424
426
  - lib/tasks/kuppayam_tasks.rake
425
427
  - vendor/assets/fonts/elusive/css/animation.css
@@ -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