thecore_ui_commons 2.1.4 → 2.1.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/config/thecore_ui_commons_manifest.js +0 -2
- data/app/assets/images/android-chrome-192x192.png +0 -0
- data/app/assets/images/android-chrome-512x512.png +0 -0
- data/app/assets/images/apple-touch-icon.png +0 -0
- data/app/assets/images/favicon-16x16.png +0 -0
- data/app/assets/images/favicon-32x32.png +0 -0
- data/app/assets/images/favicon.ico +0 -0
- data/app/assets/images/logo.png +0 -0
- data/app/assets/images/mstile-150x150.png +0 -0
- data/app/assets/images/safari-pinned-tab.svg +1042 -0
- data/app/assets/images/up-arrow.png +0 -0
- data/app/assets/javascripts/browserconfig.xml +9 -0
- data/app/assets/javascripts/ie.js +19 -0
- data/app/assets/javascripts/manifest.json +20 -0
- data/app/assets/javascripts/pages.coffee +3 -0
- data/app/assets/javascripts/thecore_ui_commons/thecore.js +8 -0
- data/app/assets/javascripts/timer.js +135 -0
- data/app/assets/stylesheets/thecore_ui_commons/actiontext.scss +19 -20
- data/app/assets/stylesheets/thecore_ui_commons/thecore.scss +18 -0
- data/app/controllers/application_controller.rb +2 -0
- data/app/views/contact_mailer/contact_message.html.erb +5 -0
- data/app/views/devise/confirmations/new.html.erb +16 -0
- data/app/views/devise/mailer/confirmation_instructions.html.erb +5 -0
- data/app/views/devise/mailer/password_change.html.erb +5 -0
- data/app/views/devise/mailer/reset_password_instructions.html.erb +8 -0
- data/app/views/devise/mailer/unlock_instructions.html.erb +7 -0
- data/app/views/devise/menu/_login_items.html.erb +7 -0
- data/app/views/devise/passwords/edit.html.erb +25 -0
- data/app/views/devise/passwords/new.html.erb +18 -0
- data/app/views/devise/registrations/edit.html.erb +45 -0
- data/app/views/devise/registrations/new.html.erb +29 -0
- data/app/views/devise/sessions/new.html.erb +28 -0
- data/app/views/devise/shared/_links.html.erb +25 -0
- data/app/views/devise/unlocks/new.html.erb +16 -0
- data/app/views/kaminari/_first_page.html.erb +3 -0
- data/app/views/kaminari/_gap.html.erb +3 -0
- data/app/views/kaminari/_last_page.html.erb +3 -0
- data/app/views/kaminari/_next_page.html.erb +3 -0
- data/app/views/kaminari/_page.html.erb +9 -0
- data/app/views/kaminari/_paginator.html.erb +15 -0
- data/app/views/kaminari/_prev_page.html.erb +3 -0
- data/app/views/layouts/_footer.html.erb +3 -0
- data/app/views/layouts/_messages.html.erb +9 -0
- data/app/views/layouts/_navigation.html.erb +20 -0
- data/app/views/layouts/_navigation_links.html.erb +7 -0
- data/app/views/layouts/mailer.html.erb +6 -0
- data/app/views/layouts/mailer.text.erb +1 -0
- data/app/views/layouts/thecore.html.erb +45 -0
- data/config/initializers/charts_helper.rb +45 -0
- data/config/initializers/thecore_ui_commons_application_config.rb +47 -0
- data/config/initializers/thecore_ui_commons_helper.rb +22 -0
- data/config/locales/en.ra_settings.yml +4 -0
- data/config/locales/en.simple_form.yml +31 -0
- data/config/locales/en.yml +44 -0
- data/config/locales/it.ra_settings.yml +4 -0
- data/config/locales/it.simple_form.yml +31 -0
- data/config/locales/it.yml +44 -0
- data/db/migrate/20200515070620_add_username_to_user.rb +53 -0
- data/db/migrate/20200515132932_add_rememberable_to_user.rb +5 -0
- data/lib/concerns/thecore_ui_commons_user.rb +29 -0
- data/lib/thecore_ui_commons.rb +10 -3
- data/lib/thecore_ui_commons/version.rb +1 -1
- metadata +91 -7
- data/config/initializers/thecore_ui_commons_action_text.rb +0 -1
- data/db/migrate/20190920115550_create_action_text_tables.action_text.rb +0 -14
@@ -0,0 +1,44 @@
|
|
1
|
+
it:
|
2
|
+
current_user: Utente corrente
|
3
|
+
hello: "Ciao Mondo"
|
4
|
+
dashboard: "Pannello di controllo"
|
5
|
+
contact: "Aiutaci a Migliorare"
|
6
|
+
manage: "Gestione"
|
7
|
+
sign_out: "Uscita"
|
8
|
+
advanced: Impostazioni
|
9
|
+
main_records: Anagrafiche
|
10
|
+
errors:
|
11
|
+
messages:
|
12
|
+
invalid: contiene caratteri invalidi
|
13
|
+
tiered_times:
|
14
|
+
dd:
|
15
|
+
zero: "0 Giorni"
|
16
|
+
one: "%{count} Giorno"
|
17
|
+
other: "%{count} Giorni"
|
18
|
+
hh:
|
19
|
+
zero: "0 Ore"
|
20
|
+
one: "%{count} Ora"
|
21
|
+
other: "%{count} Ore"
|
22
|
+
mm:
|
23
|
+
zero: "0 Minuti"
|
24
|
+
one: "%{count} Minuto"
|
25
|
+
other: "%{count} Minuti"
|
26
|
+
ss:
|
27
|
+
zero: "0 Secondi"
|
28
|
+
one: "%{count} Secondo"
|
29
|
+
other: "%{count} Secondi"
|
30
|
+
admin:
|
31
|
+
links:
|
32
|
+
label: Collegamenti
|
33
|
+
tools:
|
34
|
+
label: "Strumenti"
|
35
|
+
settings:
|
36
|
+
label: Impostazioni
|
37
|
+
advanced: Avanzate
|
38
|
+
registries: Anagrafiche
|
39
|
+
operations: Operatività
|
40
|
+
actions:
|
41
|
+
charts:
|
42
|
+
menu: Analisi
|
43
|
+
title: Grafici
|
44
|
+
breadcrumb: Grafici
|
@@ -0,0 +1,53 @@
|
|
1
|
+
class AddUsernameToUser < ActiveRecord::Migration[6.0]
|
2
|
+
class User < ApplicationRecord
|
3
|
+
# Include default devise modules. Others available are:
|
4
|
+
# :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
|
5
|
+
devise :database_authenticatable, :trackable, :validatable
|
6
|
+
# TODO: If it works, these must be added to another gem one which deal
|
7
|
+
# more with sessions
|
8
|
+
# devise :database_authenticatable
|
9
|
+
# devise :rememberable
|
10
|
+
# devise :trackable
|
11
|
+
# devise :validatable
|
12
|
+
# devise :timeoutable, timeout_in: 30.minutes
|
13
|
+
# REFERENCES
|
14
|
+
has_many :role_users, dependent: :destroy, inverse_of: :user
|
15
|
+
has_many :roles, through: :role_users, inverse_of: :users
|
16
|
+
# VALIDATIONS
|
17
|
+
validates :email, uniqueness: { case_sensitive: false }, presence: true, format: { with: /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i }
|
18
|
+
validates :password, presence: true, on: :create
|
19
|
+
validates :password_confirmation, presence: true, on: :create
|
20
|
+
validate :check_password_and_confirmation_equal
|
21
|
+
validates_each :admin do |record, attr, value|
|
22
|
+
# Don't want admin == false if the current user is the only admin
|
23
|
+
record.errors.add(attr, I18n.t("validation.errors.cannot_unadmin_last_admin")) if record.admin_changed? && record.admin_was == true && User.where(admin: true).count == 1
|
24
|
+
end
|
25
|
+
|
26
|
+
def display_name
|
27
|
+
email
|
28
|
+
end
|
29
|
+
|
30
|
+
def has_role? role
|
31
|
+
roles.include? role
|
32
|
+
end
|
33
|
+
|
34
|
+
protected
|
35
|
+
|
36
|
+
def check_password_and_confirmation_equal
|
37
|
+
errors.add(:password, I18n.t("validation.errors.password_and_confirm_must_be_the_same")) unless password == password_confirmation
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
def change
|
42
|
+
add_column :users, :username, :string
|
43
|
+
add_index :users, :username
|
44
|
+
|
45
|
+
puts "Computing username for existing emails"
|
46
|
+
User.reset_column_information
|
47
|
+
User.all.each do |u|
|
48
|
+
puts "User: #{u.email} into #{u.email.split("@").first}"
|
49
|
+
u.username = u.email.split("@").first
|
50
|
+
u.save!
|
51
|
+
end
|
52
|
+
end
|
53
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'active_support/concern'
|
2
|
+
|
3
|
+
module ThecoreUiCommonsUser
|
4
|
+
extend ActiveSupport::Concern
|
5
|
+
|
6
|
+
included do
|
7
|
+
devise :database_authenticatable, :trackable, :validatable, :rememberable, :timeoutable, timeout_in: 30.minutes, authentication_keys: [:login]
|
8
|
+
validates :username, uniqueness: { case_sensitive: false }, presence: true, length: { in: 4..15 }
|
9
|
+
validates_format_of :username, with: /\A[a-zA-Z0-9]*\z/, on: :create, message: "can only contain letters and digits"
|
10
|
+
|
11
|
+
attr_writer :login
|
12
|
+
|
13
|
+
def login
|
14
|
+
@login || self.username || self.email
|
15
|
+
end
|
16
|
+
# Use login
|
17
|
+
def self.find_first_by_auth_conditions(warden_conditions)
|
18
|
+
conditions = warden_conditions.dup
|
19
|
+
if login = conditions.delete(:login)
|
20
|
+
where(conditions.to_h).where(["lower(username) = :value OR lower(email) = :value", { :value => login.downcase }]).first
|
21
|
+
elsif conditions.has_key?(:username) || conditions.has_key?(:email)
|
22
|
+
# Case insensitive login
|
23
|
+
conditions[:email].downcase! if conditions[:email]
|
24
|
+
conditions[:username].downcase! if conditions[:username]
|
25
|
+
where(conditions.to_h).first
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
data/lib/thecore_ui_commons.rb
CHANGED
@@ -1,8 +1,15 @@
|
|
1
|
-
require
|
2
|
-
|
3
|
-
require 'thecore_backend_commons'
|
1
|
+
require 'thecore_background_jobs' # This brings backend commons also.
|
4
2
|
# Rails
|
5
3
|
require 'serviceworker-rails'
|
4
|
+
require "groupdate"
|
5
|
+
require "apexcharts"
|
6
|
+
|
7
|
+
require 'concerns/thecore_ui_commons_user'
|
8
|
+
|
9
|
+
# require 'helpers/thecore_ui_commons_helper'
|
10
|
+
# require 'helpers/charts_helper'
|
11
|
+
|
12
|
+
require "thecore_ui_commons/engine"
|
6
13
|
|
7
14
|
module ThecoreUiCommons
|
8
15
|
# Your code goes here...
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: thecore_ui_commons
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.1.
|
4
|
+
version: 2.1.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gabriele Tassoni
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-05-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: thecore_background_jobs
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '2.
|
19
|
+
version: '2.0'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: '2.
|
26
|
+
version: '2.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: serviceworker-rails
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -38,6 +38,34 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0.5'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: groupdate
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '5.0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '5.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: apexcharts
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0.1'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0.1'
|
41
69
|
description: Engine to serve configurations and rails module useful for all the UIs.
|
42
70
|
email:
|
43
71
|
- gabriele.tassoni@gmail.com
|
@@ -49,11 +77,67 @@ files:
|
|
49
77
|
- README.md
|
50
78
|
- Rakefile
|
51
79
|
- app/assets/config/thecore_ui_commons_manifest.js
|
80
|
+
- app/assets/images/android-chrome-192x192.png
|
81
|
+
- app/assets/images/android-chrome-512x512.png
|
82
|
+
- app/assets/images/apple-touch-icon.png
|
83
|
+
- app/assets/images/favicon-16x16.png
|
84
|
+
- app/assets/images/favicon-32x32.png
|
85
|
+
- app/assets/images/favicon.ico
|
86
|
+
- app/assets/images/logo.png
|
87
|
+
- app/assets/images/mstile-150x150.png
|
88
|
+
- app/assets/images/safari-pinned-tab.svg
|
89
|
+
- app/assets/images/up-arrow.png
|
90
|
+
- app/assets/javascripts/browserconfig.xml
|
91
|
+
- app/assets/javascripts/ie.js
|
92
|
+
- app/assets/javascripts/manifest.json
|
93
|
+
- app/assets/javascripts/pages.coffee
|
94
|
+
- app/assets/javascripts/thecore_ui_commons/thecore.js
|
95
|
+
- app/assets/javascripts/timer.js
|
52
96
|
- app/assets/stylesheets/thecore_ui_commons/actiontext.scss
|
97
|
+
- app/assets/stylesheets/thecore_ui_commons/thecore.scss
|
98
|
+
- app/controllers/application_controller.rb
|
53
99
|
- app/views/active_storage/blobs/_blob.html.erb
|
54
|
-
-
|
100
|
+
- app/views/contact_mailer/contact_message.html.erb
|
101
|
+
- app/views/devise/confirmations/new.html.erb
|
102
|
+
- app/views/devise/mailer/confirmation_instructions.html.erb
|
103
|
+
- app/views/devise/mailer/password_change.html.erb
|
104
|
+
- app/views/devise/mailer/reset_password_instructions.html.erb
|
105
|
+
- app/views/devise/mailer/unlock_instructions.html.erb
|
106
|
+
- app/views/devise/menu/_login_items.html.erb
|
107
|
+
- app/views/devise/passwords/edit.html.erb
|
108
|
+
- app/views/devise/passwords/new.html.erb
|
109
|
+
- app/views/devise/registrations/edit.html.erb
|
110
|
+
- app/views/devise/registrations/new.html.erb
|
111
|
+
- app/views/devise/sessions/new.html.erb
|
112
|
+
- app/views/devise/shared/_links.html.erb
|
113
|
+
- app/views/devise/unlocks/new.html.erb
|
114
|
+
- app/views/kaminari/_first_page.html.erb
|
115
|
+
- app/views/kaminari/_gap.html.erb
|
116
|
+
- app/views/kaminari/_last_page.html.erb
|
117
|
+
- app/views/kaminari/_next_page.html.erb
|
118
|
+
- app/views/kaminari/_page.html.erb
|
119
|
+
- app/views/kaminari/_paginator.html.erb
|
120
|
+
- app/views/kaminari/_prev_page.html.erb
|
121
|
+
- app/views/layouts/_footer.html.erb
|
122
|
+
- app/views/layouts/_messages.html.erb
|
123
|
+
- app/views/layouts/_navigation.html.erb
|
124
|
+
- app/views/layouts/_navigation_links.html.erb
|
125
|
+
- app/views/layouts/mailer.html.erb
|
126
|
+
- app/views/layouts/mailer.text.erb
|
127
|
+
- app/views/layouts/thecore.html.erb
|
128
|
+
- config/initializers/charts_helper.rb
|
129
|
+
- config/initializers/thecore_ui_commons_application_config.rb
|
130
|
+
- config/initializers/thecore_ui_commons_helper.rb
|
131
|
+
- config/locales/en.ra_settings.yml
|
132
|
+
- config/locales/en.simple_form.yml
|
133
|
+
- config/locales/en.yml
|
134
|
+
- config/locales/it.ra_settings.yml
|
135
|
+
- config/locales/it.simple_form.yml
|
136
|
+
- config/locales/it.yml
|
55
137
|
- config/routes.rb
|
56
|
-
- db/migrate/
|
138
|
+
- db/migrate/20200515070620_add_username_to_user.rb
|
139
|
+
- db/migrate/20200515132932_add_rememberable_to_user.rb
|
140
|
+
- lib/concerns/thecore_ui_commons_user.rb
|
57
141
|
- lib/tasks/thecore_ui_commons_tasks.rake
|
58
142
|
- lib/thecore_ui_commons.rb
|
59
143
|
- lib/thecore_ui_commons/engine.rb
|
@@ -1 +0,0 @@
|
|
1
|
-
Rails.application.config.assets.precompile += %w( thecore_ui_commons/index.js thecore_ui_commons/index.css )
|
@@ -1,14 +0,0 @@
|
|
1
|
-
# This migration comes from action_text (originally 20180528164100)
|
2
|
-
class CreateActionTextTables < ActiveRecord::Migration[6.0]
|
3
|
-
def change
|
4
|
-
create_table :action_text_rich_texts do |t|
|
5
|
-
t.string :name, null: false
|
6
|
-
t.text :body, size: :long
|
7
|
-
t.references :record, null: false, polymorphic: true, index: false
|
8
|
-
|
9
|
-
t.timestamps
|
10
|
-
|
11
|
-
t.index [ :record_type, :record_id, :name ], name: "index_action_text_rich_texts_uniqueness", unique: true
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|