beautiful_scaffold 1.0.1 → 2.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +2 -0
- data/CHANGELOG +78 -1
- data/Gemfile +25 -9
- data/README.rdoc +45 -28
- data/Rakefile +29 -0
- data/beautiful_scaffold.gemspec +7 -7
- data/lib/beautiful_scaffold/version.rb +3 -0
- data/lib/generators/USAGE +3 -1
- data/lib/generators/beautiful_cancancan_generator.rb +51 -0
- data/lib/generators/beautiful_jointable_generator.rb +41 -8
- data/lib/generators/beautiful_locale_generator.rb +107 -104
- data/lib/generators/beautiful_migration_generator.rb +14 -20
- data/lib/generators/beautiful_scaffold_common_methods.rb +56 -26
- data/lib/generators/beautiful_scaffold_generator.rb +116 -78
- data/lib/generators/beautiful_sorcery_generator.rb +137 -0
- data/lib/generators/beautiful_storage_generator.rb +61 -0
- data/lib/generators/templates/app/assets/javascripts/application-bs.js +5 -7
- data/lib/generators/templates/app/assets/javascripts/beautiful_scaffold.js +65 -79
- data/lib/generators/templates/app/assets/javascripts/bootstrap-datetimepicker-for-beautiful-scaffold.js +26 -23
- data/lib/generators/templates/app/assets/javascripts/fixed_menu.js +3 -1
- data/lib/generators/templates/app/assets/javascripts/jstree.min.js +6 -0
- data/lib/generators/templates/app/assets/stylesheets/application-bs.css +14 -6
- data/lib/generators/templates/app/assets/stylesheets/beautiful-scaffold.css.scss +20 -3
- data/lib/generators/templates/app/assets/stylesheets/themes/default-dark/32px.png +0 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default-dark/40px.png +0 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default-dark/style.scss +1146 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default-dark/throbber.gif +0 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default/32px.png +0 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default/40px.png +0 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default/style.scss +1102 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default/throbber.gif +0 -0
- data/lib/generators/templates/app/controllers/base.rb +14 -7
- data/lib/generators/templates/app/controllers/master_base.rb +19 -25
- data/lib/generators/templates/app/controllers/user_sessions_controller.rb +20 -0
- data/lib/generators/templates/app/helpers/beautiful_helper.rb +102 -66
- data/lib/generators/templates/app/initializers/link_renderer.rb +23 -18
- data/lib/generators/templates/app/locales/beautiful_scaffold.en.yml +8 -0
- data/lib/generators/templates/app/locales/beautiful_scaffold.fr.yml +9 -1
- data/lib/generators/templates/app/locales/beautiful_scaffold.ja.yml +9 -2
- data/lib/generators/templates/app/mailers/user_mailer.rb +13 -0
- data/lib/generators/templates/app/models/ability.rb +39 -0
- data/lib/generators/templates/app/models/concerns/caption_concern.rb +1 -1
- data/lib/generators/templates/app/models/user.rb +11 -0
- data/lib/generators/templates/app/views/_form.html.erb +4 -1
- data/lib/generators/templates/app/views/_form_habtm_tag.html.erb +6 -2
- data/lib/generators/templates/app/views/_mass_inserting.html.erb +38 -30
- data/lib/generators/templates/app/views/_modal_columns.html.erb +3 -3
- data/lib/generators/templates/app/views/edit.html.erb +1 -3
- data/lib/generators/templates/app/views/index.html.erb +83 -79
- data/lib/generators/templates/app/views/layout.html.erb +36 -36
- data/lib/generators/templates/app/views/login_logout/user_mailer/activation_needed_email.en.html.erb +16 -0
- data/lib/generators/templates/app/views/login_logout/user_mailer/activation_needed_email.en.text.erb +9 -0
- data/lib/generators/templates/app/views/login_logout/user_mailer/activation_needed_email.fr.html.erb +16 -0
- data/lib/generators/templates/app/views/login_logout/user_mailer/activation_needed_email.fr.text.erb +8 -0
- data/lib/generators/templates/app/views/login_logout/user_mailer/activation_success_email.en.html.erb +19 -0
- data/lib/generators/templates/app/views/login_logout/user_mailer/activation_success_email.en.text.erb +8 -0
- data/lib/generators/templates/app/views/login_logout/user_mailer/activation_success_email.fr.html.erb +19 -0
- data/lib/generators/templates/app/views/login_logout/user_mailer/activation_success_email.fr.text.erb +8 -0
- data/lib/generators/templates/app/views/login_logout/user_sessions/_form.html.erb +15 -0
- data/lib/generators/templates/app/views/login_logout/user_sessions/new.html.erb +3 -0
- data/lib/generators/templates/app/views/new.html.erb +0 -2
- data/lib/generators/templates/app/views/partials/_forget_password.html.erb +2 -2
- data/lib/generators/templates/app/views/partials/_form_field.html.erb +37 -29
- data/lib/generators/templates/app/views/partials/_index_batch.html.erb +1 -1
- data/lib/generators/templates/app/views/partials/_index_column.html.erb +6 -4
- data/lib/generators/templates/app/views/partials/_index_header.html.erb +1 -1
- data/lib/generators/templates/app/views/partials/_index_search.html.erb +1 -1
- data/lib/generators/templates/app/views/partials/_login_logout_register.html.erb +7 -0
- data/lib/generators/templates/app/views/partials/_show_field.html.erb +5 -3
- data/lib/generators/templates/app/views/show.html.erb +2 -2
- data/lib/generators/templates/app/views/treeview.html.erb +8 -5
- metadata +38 -24
- data/lib/generators/beautiful_devisecancan_generator.rb +0 -128
- data/lib/generators/templates/app/assets/javascripts/bootstrap-colorpicker.js +0 -520
- data/lib/generators/templates/app/assets/javascripts/jquery.jstree.js +0 -4551
- data/lib/generators/templates/app/assets/stylesheets/bootstrap_and_overrides.css.less +0 -40
- data/lib/generators/templates/app/assets/stylesheets/colorpicker.css +0 -127
- data/lib/generators/templates/app/assets/stylesheets/datepicker.css +0 -224
- data/lib/generators/templates/app/assets/stylesheets/reset.css +0 -48
- data/lib/generators/templates/app/assets/stylesheets/themes/default/d.gif +0 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default/d.png +0 -0
- data/lib/generators/templates/app/assets/stylesheets/themes/default/style.css +0 -74
- data/lib/generators/templates/app/assets/stylesheets/timepicker.css +0 -89
- data/lib/generators/templates/app/views/partials/_register_form.html.erb +0 -44
- data/lib/generators/templates/app/views/partials/_sign_in_form.html.erb +0 -18
- data/lib/generators/templates/app/views/partials/_sign_in_sign_out.html.erb +0 -19
- data/lib/generators/templates/lib/custom_failure.rb +0 -15
@@ -1,89 +0,0 @@
|
|
1
|
-
|
2
|
-
.bootstrap-timepicker.dropdown-menu {
|
3
|
-
border-radius: 4px 4px 4px 4px;
|
4
|
-
display: none;
|
5
|
-
left: 0;
|
6
|
-
margin-top: 1px;
|
7
|
-
padding: 4px;
|
8
|
-
top: 0;
|
9
|
-
}
|
10
|
-
.bootstrap-timepicker.dropdown-menu.open {
|
11
|
-
display: inline-block;
|
12
|
-
}
|
13
|
-
.bootstrap-timepicker.dropdown-menu:before {
|
14
|
-
border-bottom: 7px solid rgba(0, 0, 0, 0.2);
|
15
|
-
border-left: 7px solid transparent;
|
16
|
-
border-right: 7px solid transparent;
|
17
|
-
content: "";
|
18
|
-
left: 6px;
|
19
|
-
position: absolute;
|
20
|
-
top: -7px;
|
21
|
-
}
|
22
|
-
.bootstrap-timepicker.dropdown-menu:after {
|
23
|
-
border-bottom: 6px solid #FFFFFF;
|
24
|
-
border-left: 6px solid transparent;
|
25
|
-
border-right: 6px solid transparent;
|
26
|
-
content: "";
|
27
|
-
left: 7px;
|
28
|
-
position: absolute;
|
29
|
-
top: -6px;
|
30
|
-
}
|
31
|
-
.bootstrap-timepicker.modal .modal-dialog {
|
32
|
-
width: 200px;
|
33
|
-
}
|
34
|
-
.bootstrap-timepicker.modal .modal-content {
|
35
|
-
padding: 0;
|
36
|
-
}
|
37
|
-
.bootstrap-timepicker table {
|
38
|
-
margin: 0;
|
39
|
-
width: 100%;
|
40
|
-
}
|
41
|
-
.bootstrap-timepicker table td {
|
42
|
-
height: 30px;
|
43
|
-
margin: 0;
|
44
|
-
padding: 2px;
|
45
|
-
text-align: center;
|
46
|
-
width: 49%;
|
47
|
-
}
|
48
|
-
.bootstrap-timepicker table.show-meridian td, .bootstrap-timepicker table.show-seconds td {
|
49
|
-
width: 32%;
|
50
|
-
}
|
51
|
-
.bootstrap-timepicker table.show-seconds.show-meridian td {
|
52
|
-
width: 23.5%;
|
53
|
-
}
|
54
|
-
.bootstrap-timepicker table td.separator {
|
55
|
-
width: 2% !important;
|
56
|
-
}
|
57
|
-
.bootstrap-timepicker table td span {
|
58
|
-
width: 100%;
|
59
|
-
}
|
60
|
-
.bootstrap-timepicker table td a {
|
61
|
-
border: 1px solid transparent;
|
62
|
-
display: inline-block;
|
63
|
-
margin: 0;
|
64
|
-
outline: 0 none;
|
65
|
-
padding: 8px 0;
|
66
|
-
width: 90%;
|
67
|
-
}
|
68
|
-
.bootstrap-timepicker table td a:hover {
|
69
|
-
background-color: #EEEEEE;
|
70
|
-
border-color: #DDDDDD;
|
71
|
-
border-radius: 4px 4px 4px 4px;
|
72
|
-
}
|
73
|
-
.bootstrap-timepicker table td a i {
|
74
|
-
margin-top: 2px;
|
75
|
-
}
|
76
|
-
.bootstrap-timepicker table td input {
|
77
|
-
margin: 0;
|
78
|
-
text-align: center;
|
79
|
-
width: 25px;
|
80
|
-
}
|
81
|
-
.bootstrap-timepicker-component .input-group-addon {
|
82
|
-
cursor: pointer;
|
83
|
-
}
|
84
|
-
.bootstrap-timepicker-component .input-group-addon i {
|
85
|
-
display: block;
|
86
|
-
height: 16px;
|
87
|
-
width: 16px;
|
88
|
-
}
|
89
|
-
|
@@ -1,44 +0,0 @@
|
|
1
|
-
|
2
|
-
<div class="modal fade" id="modal-register-form">
|
3
|
-
<div class="modal-dialog">
|
4
|
-
<div class="modal-content">
|
5
|
-
<div class="modal-header">
|
6
|
-
<button type="button" class="close" data-dismiss="modal">×</button>
|
7
|
-
<h3><%%= t(:register, :default => "Register") %></h3>
|
8
|
-
</div>
|
9
|
-
<div class="modal-body">
|
10
|
-
<%% resource ||= <%= model.camelize %>.new %>
|
11
|
-
<%%= form_for(resource, :as => '<%= model %>', :url => registration_path('<%= model %>'), :html => { :class => "form-horizontal" }) do |f| %>
|
12
|
-
<%% begin %>
|
13
|
-
<%%= devise_error_messages! %>
|
14
|
-
<%% rescue %>
|
15
|
-
<%% end %>
|
16
|
-
<div class="form-group">
|
17
|
-
<%%= f.label :email, t(:email, :default => "Email"), :class => "control-label" %>
|
18
|
-
<div>
|
19
|
-
<%%= f.email_field :email %>
|
20
|
-
</div>
|
21
|
-
</div>
|
22
|
-
<div class="form-group">
|
23
|
-
<%%= f.label :password, t(:password, :default => "Password"), :class => "control-label" %>
|
24
|
-
<div>
|
25
|
-
<%%= f.password_field :password %>
|
26
|
-
</div>
|
27
|
-
</div>
|
28
|
-
<div class="form-group">
|
29
|
-
<%%= f.label :password_confirmation, t(:password_confirmation, :default => "Password confirmation"), :class => "control-label" %>
|
30
|
-
<div>
|
31
|
-
<%%= f.password_field :password_confirmation %>
|
32
|
-
</div>
|
33
|
-
</div>
|
34
|
-
|
35
|
-
<div class="form-group">
|
36
|
-
<div>
|
37
|
-
<%%= f.submit t(:sign_up, :default => "Sign up"), :class => 'btn btn-default' %>
|
38
|
-
</div>
|
39
|
-
</div>
|
40
|
-
<%% end %>
|
41
|
-
</div>
|
42
|
-
</div>
|
43
|
-
</div>
|
44
|
-
</div>
|
@@ -1,18 +0,0 @@
|
|
1
|
-
<div style="padding:10px;">
|
2
|
-
<%%= form_for("<%= model %>", :url => <%= model %>_session_path, :html => { :class => "form-horizontal" }) do |f| %>
|
3
|
-
<div class="form-group">
|
4
|
-
<%%= f.text_field :email, :placeholder => t(:email, :default => "Email") %>
|
5
|
-
</div>
|
6
|
-
<div class="form-group">
|
7
|
-
<%%= f.password_field :password, :placeholder => t(:password, :default => "Password") %>
|
8
|
-
</div>
|
9
|
-
<div class="form-group">
|
10
|
-
<label for="<%= model %>_remember_me">
|
11
|
-
<%%= f.check_box :remember_me %> <%%= t(:remember_me, :default => "Remember me") %>
|
12
|
-
</label>
|
13
|
-
</div>
|
14
|
-
<%%= f.submit t(:sign_in, :default => "Sign in"), :class => "btn btn-default" %>
|
15
|
-
<%% end %>
|
16
|
-
<a data-toggle="modal" href="#modal-forget-password"><%%= t(:forgot_your_password, :default => "Forgot your password?") %></a>
|
17
|
-
<a data-toggle="modal" href="#modal-register-form"><%%= t(:register, :default => "Register") %></a>
|
18
|
-
</div>
|
@@ -1,19 +0,0 @@
|
|
1
|
-
<%% if <%= model %>_signed_in? then %>
|
2
|
-
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
|
3
|
-
<i class="icon-user"></i> <%%= current_<%= model %>.caption %>
|
4
|
-
<span class="caret"></span>
|
5
|
-
</a>
|
6
|
-
<ul class="dropdown-menu">
|
7
|
-
<li><a href="#"><%%= t(:profile, :default => "Profile") %></a></li>
|
8
|
-
<li class="divider"></li>
|
9
|
-
<li><%%= link_to t(:sign_out, :default => "Sign Out"), destroy_<%= model %>_session_path, :method => :delete %></li>
|
10
|
-
</ul>
|
11
|
-
<%% else %>
|
12
|
-
<a class="dropdown-toggle" data-toggle="dropdown" href="#">
|
13
|
-
<i class="icon-user"></i> <%%= t(:login, :default => "Login") %>
|
14
|
-
<span class="caret"></span>
|
15
|
-
</a>
|
16
|
-
<ul class="dropdown-menu">
|
17
|
-
<li><%%= render :partial => "layouts/sign_in_form" %></li>
|
18
|
-
</ul>
|
19
|
-
<%% end %>
|
@@ -1,15 +0,0 @@
|
|
1
|
-
class CustomFailure < Devise::FailureApp
|
2
|
-
def redirect_url
|
3
|
-
#return super unless [:worker, :employer, :user].include?(scope) #make it specific to a scope
|
4
|
-
root_path
|
5
|
-
end
|
6
|
-
|
7
|
-
# You need to override respond to eliminate recall
|
8
|
-
def respond
|
9
|
-
if http_auth?
|
10
|
-
http_auth
|
11
|
-
else
|
12
|
-
redirect
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|