active_leonardo 0.5.3 → 0.6.0

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
  SHA1:
3
- metadata.gz: af5a9f428c13fad1b3b5834ea3455a1e185f11cc
4
- data.tar.gz: 694fe1559d3c9ff411b33701d236e53884146888
3
+ metadata.gz: 924be1159c792661c533104531258bcce052eccb
4
+ data.tar.gz: ad82164a253e59ee74fd4954c8471ff4ea8ef939
5
5
  SHA512:
6
- metadata.gz: 62195a823c1cb596e352b27a342f7999f1051addb521baeca3c3383bef677e70aec28e95fe3ca5dc8107da1a627117b4b2e2f687a4548cfdf271037dac3831b7
7
- data.tar.gz: 0e49db82ebf5aee548b828ddc2998fe6e31e45d925094db389b96d340515d574e3a8d6ce588a25abd4b2c9488108a4e5b073192d88d108f4284346a9d413ade8
6
+ metadata.gz: 788c1e2692f15764bbfbc5184f298317ead94b198b7b3fd2b905e8cf454ad14daf067c6c44b354e6c47fa1720053d48dfabb2d1172762212fc4e5a9621e88c54
7
+ data.tar.gz: d8f411423017feef36ab87759f169899e32fc475614c3169cdab0648f82b187ce31009624a10d8cfab1fd27dfd5ee00110336719257c60b72214f83c340de23c
data/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ 0.6.0 [☰](https://github.com/marcomd/Active_Leonardo/compare/v0.5.3...v0.6.0) February 9th, 2016
2
+ ------------------------------
3
+ * Rails 5 ready
4
+ * Now leosca generator prepares the activeadmin dsl for index, show, filters and form
5
+ * New user name method inside the model to show a name from email
6
+ * Updated italian devise message to align with version 3.5 of devise
7
+
1
8
  0.5.3 [☰](https://github.com/marcomd/Active_Leonardo/compare/v0.5.2...v0.5.3) November 9th, 2015
2
9
  ------------------------------
3
10
  * Removed a bug that occurs during the destroy
data/README.md CHANGED
@@ -9,7 +9,7 @@ It generates the layout, the style, the internationalization and it helps you to
9
9
 
10
10
  ## Compatibility
11
11
 
12
- This version has been tested on Rails `3.2` to `4.2` and Ruby `1.9.3` to `2.1.7` on Windows OS and Linux
12
+ This version has been tested on Rails `3.2` to `5.0.beta2` and Ruby `1.9.3` to `2.2.3` on Windows OS and Linux
13
13
 
14
14
 
15
15
  Click on Travis badge for more details.
data/active_template.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  #########################################################
2
- # 2015 Marco Mastrodonato(c)
3
- # This is a Rails 4.x template to use with activeleonardo gem
2
+ # 2016 Marco Mastrodonato(c)
3
+ # This is a Rails 5.x template to use with activeleonardo gem
4
4
  # https://rubygems.org/gems/active_leonardo
5
5
  # https://github.com/marcomd/Active_Leonardo
6
6
  #
@@ -49,7 +49,8 @@ if use_git
49
49
  EOS
50
50
  end
51
51
 
52
- gem 'activeadmin', git: 'https://github.com/activeadmin/activeadmin.git'
52
+ #gem 'activeadmin', git: 'https://github.com/activeadmin/activeadmin.git'
53
+ gem 'activeadmin', git: 'https://github.com/activeadmin/activeadmin', branch: 'rails-5-rspec'
53
54
 
54
55
  if test_mode
55
56
  gem "active_leonardo", path: "../../."
@@ -93,7 +94,11 @@ if authentication
93
94
  REMEM
94
95
  p stdout
95
96
  end
96
- gem "devise"
97
+ if /^5/ === rails_version
98
+ gem "devise", git: "https://github.com/plataformatec/devise.git"
99
+ else
100
+ gem "devise"
101
+ end
97
102
 
98
103
  authorization = test_mode || yes?("Authorization ?")
99
104
  if authorization
@@ -104,6 +109,11 @@ end
104
109
  gem 'state_machines' if test_mode || yes?("Do you have to handle states ?")
105
110
 
106
111
  gem 'inherited_resources'
112
+ if /^5/ === rails_version
113
+ gem 'formtastic', git: 'https://github.com/justinfrench/formtastic.git'
114
+ else
115
+ gem 'formtastic'
116
+ end
107
117
 
108
118
  dashboard_root = test_mode || yes?("Would you use dashboard as root ? (recommended)")
109
119
  home = test_mode || yes?("Ok. Would you create home controller as root ?") unless dashboard_root
@@ -124,6 +124,14 @@ class LeolayGenerator < Rails::Generators::Base
124
124
  def admin?
125
125
  self.role? 'admin'
126
126
  end
127
+ def name
128
+ return unless self.email
129
+ # Get left email text
130
+ match_data = self.email.match(/^([a-z]+)(\.|\-|\_|)([a-z]+|)/i)
131
+ name = "\#{match_data[1].capitalize}"
132
+ name << " \#{match_data[3].capitalize}" unless match_data[3].blank?
133
+ name
134
+ end
127
135
  FILE
128
136
  end
129
137
 
@@ -1,38 +1,37 @@
1
1
 
2
2
 
3
3
  it:
4
- errors:
5
- messages:
6
- expired: "è scaduto ed è necessario richiederne uno nuovo"
7
- not_found: "non trovato"
8
- already_confirmed: "è già stato confermato, riprova a collegarti"
9
- not_locked: "non era bloccato"
10
- not_saved:
11
- one: "un errore ha impedito il salvataggio di %{resource}:"
12
- other: "%{count} errori hanno impedito il salvataggio di %{resource}:"
13
-
14
4
  devise:
5
+ confirmations:
6
+ confirmed: "Il tuo account è stato correttamente confermato. Ora sei collegato."
7
+ send_instructions: "Riceverai un messaggio email con le istruzioni per confermare il tuo account entro qualche minuto."
8
+ send_paranoid_instructions: "Se il tuo indirizzo email esiste nel nostro database, fra pochi minuti riceverai un link con le istruzioni per confermare il tuo account."
15
9
  failure:
16
10
  already_authenticated: "Sei già autenticato"
17
- unauthenticated: "Devi accedere o registrarti per continuare."
18
- unconfirmed: "Devi confermare il tuo account per continuare."
11
+ inactive: "Il tuo account non è stato ancora attivato."
12
+ invalid: "%{authentication_keys} o password non validi."
19
13
  locked: "Il tuo account è bloccato."
20
- invalid: "Indirizzo email o password non validi."
21
- invalid_token: "Codice di autenticazione non valido."
14
+ last_attempt: "You have one more attempt before your account is locked."
15
+ not_found_in_database: "Invalid %{authentication_keys} or password."
22
16
  timeout: "Sessione scaduta, accedere nuovamente per continuare."
23
- inactive: "Il tuo account non è stato ancora attivato."
24
- sessions:
25
- signed_in: "Accesso effettuato con successo."
26
- signed_out: "Sei uscito correttamente."
17
+ unauthenticated: "Devi accedere o registrarti per continuare."
18
+ unconfirmed: "Devi confermare il tuo account per continuare."
19
+ mailer:
20
+ confirmation_instructions:
21
+ subject: "Istruzioni per la conferma"
22
+ reset_password_instructions:
23
+ subject: "Istruzioni per reimpostare la password"
24
+ unlock_instructions:
25
+ subject: "Istruzioni per sbloccare l'account"
26
+ omniauth_callbacks:
27
+ failure: "Non siamo riusciti ad autoruzzarti da %{kind} perchè '%{reason}'."
28
+ success: "Sei stato autorizzato dall'account di %{kind}."
27
29
  passwords:
30
+ no_token: "Non è possibile accedere a questa pagina se non hai effettuato una reimpostazione della password in tal caso assicurati di aver usato l'URL completo fornito."
28
31
  send_instructions: "Riceverai un messaggio email con le istruzioni per reimpostare la tua password entro qualche minuto."
32
+ send_paranoid_instructions: "Se il tuo indirizzo e-mail esiste nel nostro database, riceverai un link per il recupero della password."
29
33
  updated: "La tua password è stata cambiata. Ora sei collegato."
30
34
  updated_not_active: "La tua password è stata cambiata."
31
- send_paranoid_instructions: "Se il tuo indirizzo e-mail esiste nel nostro database, riceverai un link per il recupero della password."
32
- confirmations:
33
- send_instructions: "Riceverai un messaggio email con le istruzioni per confermare il tuo account entro qualche minuto."
34
- send_paranoid_instructions: "Se il tuo indirizzo e-mail esiste nel nostro database, fra pochi minuti riceverai un link con le istruzioni per confermare il tuo account."
35
- confirmed: "Il tuo account è stato correttamente confermato. Ora sei collegato."
36
35
  registrations:
37
36
  signed_up: "Iscrizione correttamente eseguita."
38
37
  signed_up_but_unconfirmed: "Un messaggio con il link di conferma è stato inviato al tuo indirizzo email. Dovresti cliccare su quel link per attivare il tuo account."
@@ -41,17 +40,19 @@ it:
41
40
  updated: "Il tuo account è stato aggiornato."
42
41
  update_needs_confirmation: "È stato aggiornato il tuo account con successo, ma abbiamo bisogno di verificare il tuo nuovo indirizzo email. Controlla la tua email e clicca sul link per confermare il nuovo indirizzo email."
43
42
  destroyed: "Arrivederci! L'account è stato cancellato. Speriamo di rivederti presto."
43
+ sessions:
44
+ signed_in: "Accesso effettuato con successo."
45
+ signed_out: "Sei uscito correttamente."
44
46
  unlocks:
45
47
  send_instructions: "Riceverai un messaggio email con le istruzioni per sbloccare il tuo account entro qualche minuto."
46
48
  unlocked: "Il tuo account è stato correttamente sbloccato. Ora sei collegato."
47
49
  send_paranoid_instructions: "Se il tuo indirizzo e-mail esiste nel nostro database, fra pochi minuti riceverai un link con le istruzioni per sbloccare il tuo account."
48
- omniauth_callbacks:
49
- success: "Sei stato autorizzato dall'account di %{kind}."
50
- failure: "Non siamo riusciti ad autoruzzarti da %{kind} perchè '%{reason}'."
51
- mailer:
52
- confirmation_instructions:
53
- subject: "Istruzioni per la conferma"
54
- reset_password_instructions:
55
- subject: "Istruzioni per reimpostare la password"
56
- unlock_instructions:
57
- subject: "Istruzioni per sbloccare l'account"
50
+ errors:
51
+ messages:
52
+ expired: "è scaduto ed è necessario richiederne uno nuovo"
53
+ not_found: "non trovato"
54
+ already_confirmed: "è già stato confermato, riprova a collegarti"
55
+ not_locked: "non era bloccato"
56
+ not_saved:
57
+ one: "un errore ha impedito il salvataggio di %{resource}:"
58
+ other: "%{count} errori hanno impedito il salvataggio di %{resource}:"
@@ -226,48 +226,5 @@ en:
226
226
  completed: "Completed"
227
227
  closed: "Closed"
228
228
 
229
- unknown_request: "Sorry, this request is unknown and cannot be processed"
230
- generic_error: "An error was occured and doesn't permit to execute this operation"
231
- permission_denied: "You don't have authorization to perform this request."
232
- created: "%{model} was successfully created."
233
- created_ko: "An error prohibited %{model} to be created."
234
- created_multiple: "%{model} were successfully created."
235
- created_multiple_ko: "An error prohibited %{model} to be created."
236
- updated: "%{model} was successfully updated."
237
- updated_ko: "An error prohibited %{model} to be updated."
238
- updated_multiple: "%{model} were successfully updated."
239
- updated_multiple_ko: "An error prohibited %{model} to be updated."
240
- deleted: "%{model} was successfully deleted."
241
- deleted_ko: "An error prohibited %{model} to be deleted."
242
- deleted_multiple: "%{model} were successfully deleted."
243
- deleted_multiple_ko: "An error prohibited %{model} to be deleted."
244
- search_found: "%{found} found"
245
- search_not_found: "The search did not get any results"
246
- select_rows_from_list: "Select the rows from the list before proceeding"
247
-
248
229
  <<: *activerecord
249
- <<: *actions
250
-
251
- list: "List"
252
- save: "Save"
253
- create: "Create"
254
- update: "Update"
255
- edit: "Edit"
256
- delete: "Delete"
257
- destroy: "Destroy"
258
- new: "New"
259
- copy: "Copy"
260
- back: "Back"
261
- back_to_list: "Back to List"
262
- show: "Show"
263
- show_all: "Show all"
264
- sure?: "Are you sure?"
265
- add: "Add"
266
- create: "Create"
267
- update: "Update"
268
- search: "Search"
269
- radio-yes: "Yes"
270
- radio-no: "No"
271
- radio-all: "All"
272
- loading: "Loading..."
273
- choose_language: "Choose language"
230
+ <<: *actions
@@ -262,46 +262,5 @@ it:
262
262
  last: "Ultimo"
263
263
  truncate: "..."
264
264
 
265
- unknown_request: "Spiacente, richiesta sconosciuta, non è possibile eseguirla"
266
- generic_error: "Un errore impedisce di svolgere questa operazione"
267
- permission_denied: "Non hai i privilegi per svolgere questa operazione."
268
- created: "L'oggetto %{model} è stato creato correttamente."
269
- created_ko: "Un errore ha impedito la creazione dell'oggetto %{model}."
270
- created_multiple: "La creazione di %{model} è stata completata con successo."
271
- created_multiple_ko: "Un errore ha impedito la creazione di %{model}."
272
- updated: "L'oggetto %{model} è stato modificato correttamente."
273
- updated_ko: "Un errore ha impedito la modifica dell'oggetto %{model}."
274
- updated_multiple: "La modifica di %{model} è avvenuta con successo."
275
- updated_multiple_ko: "Un errore ha impedito la modifica di %{model}."
276
- deleted: "L'oggetto %{model} è stato eliminato."
277
- updated_ko: "Un errore ha impedito l'eliminazione dell'oggetto %{model}."
278
- deleted_multiple: "L'eliminazione di %{model} è avvenuta con successo."
279
- deleted_multiple_ko: "Un errore ha impedito l'eliminazione di %{model}."
280
- search_found: "La ricerca ha trovato %{found}"
281
- search_not_found: "La ricerca non ha ottenuto risultati"
282
- select_rows_from_list: "Seleziona le righe dalla lista prima di procedere"
283
-
284
265
  <<: *activerecord
285
266
  <<: *actions
286
-
287
- list: "Lista"
288
- save: "Salva"
289
- edit: "Modifica"
290
- delete: "Cancella"
291
- destroy: "Elimina"
292
- new: "Nuovo"
293
- copy: "Copia"
294
- back: "Indietro"
295
- back_to_list: "Torna alla Lista"
296
- show: "Visualizza"
297
- show_all: "Mostra tutti"
298
- sure?: "Sei sicuro?"
299
- add: "Aggiungi"
300
- create: "Crea"
301
- update: "Aggiorna"
302
- search: "Cerca"
303
- radio-yes: "Si"
304
- radio-no: "No"
305
- radio-all: "Tutto"
306
- loading: "Attendere..."
307
- choose_language: "Scegli la lingua"
@@ -25,4 +25,9 @@ body.active_admin {
25
25
  #footer {
26
26
  text-align: center;
27
27
  }
28
+ input[type=text].datepicker.calendar {
29
+ background: #fff image-url($style_path + "/datepicker-input-icon.png") no-repeat 100% 7px;
30
+ padding-right: $date-range-filter-input-right-padding;
31
+ width: $date-range-filter-input-width;
32
+ }
28
33
  }
@@ -67,16 +67,9 @@ module Rails
67
67
  <<-FILE.gsub(/^ /, '')
68
68
 
69
69
  # ----- #{class_name.upcase} ----- #
70
- can :read, #{class_name} if #{options[:auth_class].downcase}.role? :guest
71
- if #{options[:auth_class].downcase}.role? :user
72
- can [:read, :create], #{class_name}
73
- can [:update], #{class_name}
74
- #can [:destroy], #{class_name}
75
- end
76
- if #{options[:auth_class].downcase}.role? :manager
77
- can [:read, :create, :update, :destroy], #{class_name}
78
- end
79
-
70
+ can :read, #{class_name} if #{options[:auth_class].downcase}.role? :guest
71
+ can [:read, :create, :update], #{class_name} if #{options[:auth_class].downcase}.role? :user
72
+ can [:read, :create, :update, :destroy], #{class_name} if #{options[:auth_class].downcase}.role? :manager
80
73
  FILE
81
74
  end
82
75
  end
@@ -110,12 +103,49 @@ module Rails
110
103
  invoke "active_admin:resource", [singular_table_name]
111
104
  file = "app/admin/#{singular_table_name}.rb"
112
105
 
113
- if /^4./ === Rails.version
106
+ inject_into_file file, :after => "ActiveAdmin.register #{class_name} do" do
107
+ <<-FILE.gsub(/^ /, '')
108
+
109
+ index do
110
+ selectable_column
111
+ id_column
112
+ #{attributes.first(5).map{|attr| " column(:#{attr.name}){|#{singular_table_name}| #{singular_table_name}.#{attr.name}}"}.join("\n")}
113
+ actions
114
+ end
115
+
116
+ show do |#{singular_table_name}|
117
+ attributes_table do
118
+ #{attributes.map{|attr| " row(:#{attr.name}){|#{singular_table_name}| #{singular_table_name}.#{attr.name}}"}.join("\n")}
119
+ row :created_at
120
+ row :updated_at
121
+ end
122
+ # Insert here child tables
123
+ #panel I18n.t('models.xxxxx') do
124
+ # table_for #{singular_table_name}.xxxxx do
125
+ # column(:id) {|xxxxx| link_to xxxxx.id, [:admin, xxxxx]}
126
+ #end
127
+ active_admin_comments
128
+ end
129
+
130
+ #{attributes.map{|attr| " filter :#{attr.name}"}.join("\n")}
131
+
132
+ form do |f|
133
+ f.inputs do
134
+ #{attributes.map{|attr| " f.input :#{attr.name}"}.join("\n")}
135
+ end
136
+ #For date use as: :datepicker, input_html: { class: 'calendar' }
137
+ #For state machine data field as: :select, collection: (f.object.class.state_machine.states.collect { |state| [state.human_name.underscore.capitalize, state.value] }.sort_by { |name| name }), :for => :states, :include_blank => false
138
+ f.actions
139
+ end
140
+ FILE
141
+ end if File.exists?(file)
142
+
143
+ if /^[4-5]/ === Rails.version
114
144
  inject_into_file file, :after => "ActiveAdmin.register #{class_name} do" do
115
145
  <<-FILE.gsub(/^ /, '')
116
146
 
117
147
  permit_params do
118
- permitted = [#{attributes.map{|attr| ":#{attr.name}"}.join(', ')}]
148
+ permitted = [:id, #{attributes.map{|attr| ":#{attr.name}"}.join(', ')}, :created_at, :updated_at]
119
149
  permitted
120
150
  end
121
151
 
@@ -132,7 +162,6 @@ module Rails
132
162
  load_resource :except => :index
133
163
  end
134
164
 
135
-
136
165
  FILE
137
166
  end if authorization? && File.exists?(file)
138
167
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_leonardo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.3
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marco Mastrodonato
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-11-09 00:00:00.000000000 Z
12
+ date: 2016-02-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -59,6 +59,7 @@ files:
59
59
  - lib/generators/leolay/templates/spec/helpers/application_helpers.rb
60
60
  - lib/generators/leolay/templates/spec/support/devise.rb
61
61
  - lib/generators/leolay/templates/styles/active/favicon.ico
62
+ - lib/generators/leolay/templates/styles/active/images/datepicker-input-icon.png
62
63
  - lib/generators/leolay/templates/styles/active/images/ico_v.png
63
64
  - lib/generators/leolay/templates/styles/active/images/ico_x.png
64
65
  - lib/generators/leolay/templates/styles/active/images/logo.png
@@ -113,7 +114,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
113
114
  requirements:
114
115
  - The active_template.rb, check the homepage project
115
116
  rubyforge_project:
116
- rubygems_version: 2.2.5
117
+ rubygems_version: 2.4.5.1
117
118
  signing_key:
118
119
  specification_version: 4
119
120
  summary: This gem provides a new customized scaffold generator to combine with active