egov_utils 0.1.33 → 0.1.35

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 92bef22b1b9870d23546ffde2cbc855dcf9a2083bdded39287c53ac1ca6e5f28
4
- data.tar.gz: 391f6a6683c73af654d7a867babdec02f2a50dd15cc8ab8b6588b3a2aea13850
3
+ metadata.gz: 9c4dbda3371757f34c4093f2e58f05ba21c6750c567d27962577f6002aa894b6
4
+ data.tar.gz: a43a27f761857247f2b001225dc2a8222a47e317d870fef7ace360ec0e3b682f
5
5
  SHA512:
6
- metadata.gz: bab9b672003e4840fef011bb0d6ce21774eb3947b26ecea6d05e0cb37565182d18df484f10c61bf10da31eb99b643a95facaa2c0e425910527384e24c5ea322a
7
- data.tar.gz: dd329791d3ee7df5cde3a81cc1e4b1e42dfe040855ef4ed1b4fc690b47171d13c4089b28de64d02b0c6112dec0af49b9191154c5b4cfdc65ec1fdd8f413fedff
6
+ metadata.gz: 68e8a489421ebaca129737565cc70f0c0f2a5c4a03bbc8a6b62c623f1ad425acf2e553127aaf03e90f81a320a055ce6499b71936d7207fa3a213108f19643f0a
7
+ data.tar.gz: 57b1603c7b2f9e99a91deb4da0faa5f9d10c5e3a84d05b473221488d5267884530251dcf526b4d9cbca9a0c446a717856c6d12b8f5a357be3e961c119993aeec
@@ -17,16 +17,30 @@ window.eGovUtilities =
17
17
  close: 'fa fa-close'
18
18
  }
19
19
 
20
+ $(document).on 'change', '.custom-file-input:file', ()->
21
+ $input = $(this)
22
+ numFiles = if this.files then this.files.length else 1
23
+ label = $input.val().replace(/\\/g, '/').replace(/.*\//, '')
24
+ $input.trigger('fileselect', [numFiles, label])
25
+ $input.parent().find('.custom-file-control').text(label);
26
+
20
27
 
21
28
  initPage: ($container)->
22
29
  $container ||= $(document)
23
30
  eGovUtilities.initDatepickers($container)
24
31
  eGovUtilities.initSelect2($container)
32
+ eGovUtilities.initFileFields($container)
25
33
 
26
34
  clearBeforeCache: ($container)->
27
35
  $container ||= $(document)
28
36
  eGovUtilities.destroySelect2($container)
29
37
 
38
+ initFileFields: ($container)->
39
+ $('.custom-file-input:file').each ()->
40
+ $input = $(this)
41
+ label = $input.val().replace(/\\/g, '/').replace(/.*\//, '')
42
+ $input.parent().find('.custom-file-control').text(label);
43
+
30
44
  initDatepickers: ($container)->
31
45
  $container ||= $(document)
32
46
  if !Modernizr.inputtypes.date
@@ -21,8 +21,13 @@ module EgovUtils
21
21
  @user.mail ||= @user.login
22
22
  respond_to do |format|
23
23
  if @user.save
24
- UserMailer.confirmation_email(@user).deliver_later if EgovUtils::Settings.allow_register? && !current_user.logged?
25
- format.html{ redirect_to main_app.root_path, notice: t('activerecord.successful.messages.created', model: User.model_name.human) }
24
+ if EgovUtils::Settings.allow_register? && !current_user.logged?
25
+ UserMailer.confirmation_email(@user).deliver_later
26
+ flash[:notice] = t('notice_signeup_with_mail')
27
+ else
28
+ flash[:notice] = t('activerecord.successful.messages.created', model: User.model_name.human)
29
+ end
30
+ format.html{ redirect_to main_app.root_path }
26
31
  format.json{ render json: @user, status: :created }
27
32
  else
28
33
  format.html{ render 'new' }
@@ -47,6 +52,7 @@ module EgovUtils
47
52
  render_404 and return unless @user || @user.active? || @user.updated_at < (Time.now - 24.hours)
48
53
  @user.update(active: true)
49
54
  logged_user = @user
55
+ flash[:notice] = t('success_user_confirm')
50
56
  redirect_to('/')
51
57
  end
52
58
 
@@ -1,6 +1,6 @@
1
1
  - flash.each do |name, msg|
2
2
  - if msg.is_a?(String)
3
- %div{:class => "alert alert-#{name.to_s == 'notice' ? "info" : (name.to_s == 'error' ? "alert" : name.to_s)} alert-dismissible fade show", "role" => "alert"}
3
+ %div{:class => "alert alert-#{name.to_s == 'notice' ? "info" : (name.to_s == 'error' ? "danger" : name.to_s)} alert-dismissible fade show", "role" => "alert"}
4
4
  %button.close{'type' => 'button', 'data-dismiss' => 'alert'}
5
5
  %span{'aria-hidden' => 'true'}= raw '&times;'
6
6
  = msg
@@ -21,6 +21,8 @@ cs:
21
21
  notice_account_pending: Váš účet čeká na schválení/ověření
22
22
  notice_account_locked: Váš účet byl uzamčen správcem aplikace
23
23
  notice_logout: Byl/a jste úspěšně odhlášen/a
24
+ notice_signeup_with_mail: Registrace proběhla úspěšně, byl Vám odeslán potvrovací e-mail, prosím zkontrolujte svou poštu.
25
+ success_user_confirm: Váše e-mailová adresa byla potvrzena. Nyní se již můžete přihlásit.
24
26
 
25
27
  label_approve: Schválit
26
28
  label_new: Nový
@@ -40,13 +42,13 @@ cs:
40
42
 
41
43
 
42
44
  models: &my_models
43
- egov_utils::user:
45
+ egov_utils/user:
44
46
  one: Uživatel
45
- others: Uživatelé
46
- egov_utils::group:
47
+ other: Uživatelé
48
+ egov_utils/group:
47
49
  one: Skupina
48
- others: Skupiny
49
- egov_utils::address:
50
+ other: Skupiny
51
+ egov_utils/address:
50
52
  one: Adresa
51
53
  other: Adresy
52
54
 
@@ -0,0 +1,49 @@
1
+ module BootstrapForm
2
+ module CheckBoxPatch
3
+
4
+ # TODO: post to upstream
5
+ def check_box(name, options = {}, checked_value = "1", unchecked_value = "0", &block)
6
+ options = options.symbolize_keys!
7
+ check_box_options = options.except(:label, :label_class, :wrapper_class, :help, :inline)
8
+
9
+ label_classes = [options[:label_class], 'form-check-label']
10
+ unless options.delete(:skip_required)
11
+ label_classes << "required" if required_attribute?(object, name)
12
+ end
13
+ options[:label_class] = label_classes.compact.join(' ')
14
+
15
+
16
+ check_box_options[:class] = ['form-check-input', check_box_options[:class]].compact.join(' ')
17
+
18
+
19
+ html = check_box_without_bootstrap(name, check_box_options, checked_value, unchecked_value)
20
+ label_content = block_given? ? capture(&block) : options[:label]
21
+ html.concat(' ').concat(label_content || (object && object.class.human_attribute_name(name)) || name.to_s.humanize)
22
+
23
+ label_name = name
24
+ # label's `for` attribute needs to match checkbox tag's id,
25
+ # IE sanitized value, IE
26
+ # https://github.com/rails/rails/blob/c57e7239a8b82957bcb07534cb7c1a3dcef71864/actionview/lib/action_view/helpers/tags/base.rb#L116-L118
27
+ if options[:multiple]
28
+ label_name =
29
+ "#{name}_#{checked_value.to_s.gsub(/\s/, "_").gsub(/[^-\w]/, "").downcase}"
30
+ end
31
+
32
+ disabled_class = " disabled" if options[:disabled]
33
+ label_class = options[:label_class]
34
+
35
+ if options[:inline]
36
+ label_class = " #{label_class}" if label_class
37
+ label(label_name, html, class: "checkbox-inline#{disabled_class}#{label_class}")
38
+ else
39
+ wrapper_class = ['form-checkbox', options[:wrapper_class]]
40
+ wrapper_class << error_class if has_error?(name)
41
+ wrapper_class = wrapper_class.compact.join(' ')
42
+ content_tag(:div, class: "#{wrapper_class}#{disabled_class}") do
43
+ label(label_name, html, class: label_class).concat(generate_help(name, options[:help]))
44
+ end
45
+ end
46
+ end
47
+
48
+ end
49
+ end
@@ -6,7 +6,7 @@ module BootstrapForm
6
6
  args << options
7
7
  form_group_builder(name, options.reverse_merge(control_class: nil)) do
8
8
  html = file_field_without_bootstrap(name, options.merge(class: 'custom-file-input')) + " " + content_tag('span', '', class: ['custom-file-control', options[:class]].compact.join(' '))
9
- label('', html, class: "custom-file form-control")
9
+ label(name, html, class: "custom-file form-control")
10
10
  end
11
11
  end
12
12
 
@@ -82,10 +82,9 @@ module EgovUtils
82
82
  require 'bootstrap_form'
83
83
 
84
84
  require 'bootstrap_form/helpers/bootstrap4'
85
-
85
+ # TODO: should be included in Helper, to support every submit tag
86
86
  BootstrapForm::FormBuilder.__send__(:prepend, BootstrapForm::Helpers::Bootstrap4)
87
-
88
-
87
+
89
88
  require 'bootstrap_form/datetimepicker'
90
89
  require 'bootstrap_form/fileuid'
91
90
  require 'bootstrap_form/select2'
@@ -99,6 +98,9 @@ module EgovUtils
99
98
  BootstrapForm::FormBuilder.__send__(:prepend, BootstrapForm::Select2)
100
99
  BootstrapForm::FormBuilder.__send__(:prepend, BootstrapForm::CustomFileField)
101
100
 
101
+ require 'bootstrap_form/check_box_patch'
102
+ BootstrapForm::FormBuilder.__send__(:prepend, BootstrapForm::CheckBoxPatch)
103
+
102
104
  require 'egov_utils/helpers/tags/datetime_field_patch'
103
105
  ActionView::Helpers::Tags::DatetimeField.prepend(EgovUtils::Helpers::Tags::DatetimeFieldPatch)
104
106
 
@@ -0,0 +1,9 @@
1
+ module EgovUtils
2
+ class AdminConstraint
3
+ def matches?(request)
4
+ return false unless request.session[:user_id]
5
+ user = EgovUtils::User.find request.session[:user_id]
6
+ user && user.admin?
7
+ end
8
+ end
9
+ end
@@ -1,3 +1,3 @@
1
1
  module EgovUtils
2
- VERSION = '0.1.33'
2
+ VERSION = '0.1.35'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: egov_utils
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.33
4
+ version: 0.1.35
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ondřej Ezr
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-20 00:00:00.000000000 Z
11
+ date: 2017-12-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -429,6 +429,7 @@ files:
429
429
  - db/migrate/20171103141234_add_birth_place_and_residence_to_people.rb
430
430
  - db/migrate/20171109172909_add_external_uid_to_groups.rb
431
431
  - db/migrate/20171115142450_add_confirmation_code_to_users.rb
432
+ - lib/bootstrap_form/check_box_patch.rb
432
433
  - lib/bootstrap_form/custom_file_field.rb
433
434
  - lib/bootstrap_form/datetimepicker.rb
434
435
  - lib/bootstrap_form/fileuid.rb
@@ -442,6 +443,7 @@ files:
442
443
  - lib/egov_utils/helpers/form_helper.rb
443
444
  - lib/egov_utils/helpers/tags/datetime_field_patch.rb
444
445
  - lib/egov_utils/helpers/tags/fileuid_field.rb
446
+ - lib/egov_utils/routes/admin_constraint.rb
445
447
  - lib/egov_utils/settings.rb
446
448
  - lib/egov_utils/test_utils/controller_helpers.rb
447
449
  - lib/egov_utils/user_utils/application_controller_patch.rb