beautiful_scaffold 2.0.0.pre → 2.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +2 -1
  3. data/CHANGELOG +45 -0
  4. data/Gemfile +5 -4
  5. data/README.rdoc +22 -4
  6. data/Rakefile +0 -3
  7. data/beautiful_scaffold.gemspec +0 -2
  8. data/lib/beautiful_scaffold/version.rb +1 -1
  9. data/lib/generators/USAGE +25 -11
  10. data/lib/generators/beautiful_cancancan_generator.rb +51 -0
  11. data/lib/generators/beautiful_jointable_generator.rb +3 -5
  12. data/lib/generators/beautiful_locale_generator.rb +15 -13
  13. data/lib/generators/beautiful_migration_generator.rb +3 -1
  14. data/lib/generators/beautiful_scaffold_common_methods.rb +10 -2
  15. data/lib/generators/beautiful_scaffold_generator.rb +2 -10
  16. data/lib/generators/beautiful_sorcery_generator.rb +137 -0
  17. data/lib/generators/beautiful_storage_generator.rb +61 -0
  18. data/lib/generators/templates/app/assets/javascripts/application-bs.js +0 -2
  19. data/lib/generators/templates/app/assets/javascripts/beautiful_scaffold.js +15 -30
  20. data/lib/generators/templates/app/assets/javascripts/bootstrap-datetimepicker-for-beautiful-scaffold.js +16 -15
  21. data/lib/generators/templates/app/assets/stylesheets/application-bs.css +0 -2
  22. data/lib/generators/templates/app/assets/stylesheets/beautiful-scaffold.css.scss +9 -1
  23. data/lib/generators/templates/app/controllers/user_sessions_controller.rb +20 -0
  24. data/lib/generators/templates/app/helpers/beautiful_helper.rb +19 -5
  25. data/lib/generators/templates/app/locales/beautiful_scaffold.en.yml +8 -0
  26. data/lib/generators/templates/app/locales/beautiful_scaffold.fr.yml +9 -1
  27. data/lib/generators/templates/app/locales/beautiful_scaffold.ja.yml +9 -2
  28. data/lib/generators/templates/app/mailers/user_mailer.rb +13 -0
  29. data/lib/generators/templates/app/models/ability.rb +39 -0
  30. data/lib/generators/templates/app/models/concerns/caption_concern.rb +1 -1
  31. data/lib/generators/templates/app/models/user.rb +11 -0
  32. data/lib/generators/templates/app/views/_form_habtm_tag.html.erb +3 -3
  33. data/lib/generators/templates/app/views/layout.html.erb +12 -2
  34. data/lib/generators/templates/app/views/login_logout/user_mailer/activation_needed_email.en.html.erb +16 -0
  35. data/lib/generators/templates/app/views/login_logout/user_mailer/activation_needed_email.en.text.erb +9 -0
  36. data/lib/generators/templates/app/views/login_logout/user_mailer/activation_needed_email.fr.html.erb +16 -0
  37. data/lib/generators/templates/app/views/login_logout/user_mailer/activation_needed_email.fr.text.erb +8 -0
  38. data/lib/generators/templates/app/views/login_logout/user_mailer/activation_success_email.en.html.erb +19 -0
  39. data/lib/generators/templates/app/views/login_logout/user_mailer/activation_success_email.en.text.erb +8 -0
  40. data/lib/generators/templates/app/views/login_logout/user_mailer/activation_success_email.fr.html.erb +19 -0
  41. data/lib/generators/templates/app/views/login_logout/user_mailer/activation_success_email.fr.text.erb +8 -0
  42. data/lib/generators/templates/app/views/login_logout/user_sessions/_form.html.erb +15 -0
  43. data/lib/generators/templates/app/views/login_logout/user_sessions/new.html.erb +3 -0
  44. data/lib/generators/templates/app/views/partials/_form_field.html.erb +33 -25
  45. data/lib/generators/templates/app/views/partials/_index_column.html.erb +2 -0
  46. data/lib/generators/templates/app/views/partials/_login_logout_register.html.erb +7 -0
  47. data/lib/generators/templates/app/views/partials/_show_field.html.erb +2 -0
  48. metadata +23 -15
  49. data/Gemfile.lock +0 -209
  50. data/lib/generators/beautiful_devisecancan_generator.rb +0 -128
  51. data/lib/generators/templates/app/assets/javascripts/bootstrap-colorpicker.js +0 -520
  52. data/lib/generators/templates/app/assets/javascripts/tagit.js +0 -489
  53. data/lib/generators/templates/app/assets/stylesheets/colorpicker.css +0 -127
  54. data/lib/generators/templates/app/assets/stylesheets/tagit-dark-grey.css +0 -135
  55. data/lib/generators/templates/app/views/partials/_register_form.html.erb +0 -44
  56. data/lib/generators/templates/app/views/partials/_sign_in_form.html.erb +0 -18
  57. data/lib/generators/templates/app/views/partials/_sign_in_sign_out.html.erb +0 -19
  58. data/lib/generators/templates/lib/custom_failure.rb +0 -15
@@ -1,127 +0,0 @@
1
- /*!
2
- * Colorpicker for Bootstrap
3
- *
4
- * Copyright 2012 Stefan Petre
5
- * Licensed under the Apache License v2.0
6
- * http://www.apache.org/licenses/LICENSE-2.0
7
- *
8
- */
9
- .colorpicker-saturation {
10
- width: 100px;
11
- height: 100px;
12
- background-image: url(/assets/saturation.png);
13
- cursor: crosshair;
14
- float: left;
15
- }
16
- .colorpicker-saturation i {
17
- display: block;
18
- height: 5px;
19
- width: 5px;
20
- border: 1px solid #000;
21
- -webkit-border-radius: 5px;
22
- -moz-border-radius: 5px;
23
- border-radius: 5px;
24
- position: absolute;
25
- top: 0;
26
- left: 0;
27
- margin: -4px 0 0 -4px;
28
- }
29
- .colorpicker-saturation i b {
30
- display: block;
31
- height: 5px;
32
- width: 5px;
33
- border: 1px solid #fff;
34
- -webkit-border-radius: 5px;
35
- -moz-border-radius: 5px;
36
- border-radius: 5px;
37
- }
38
- .colorpicker-hue, .colorpicker-alpha {
39
- width: 15px;
40
- height: 100px;
41
- float: left;
42
- cursor: row-resize;
43
- margin-left: 4px;
44
- margin-bottom: 4px;
45
- }
46
- .colorpicker-hue i, .colorpicker-alpha i {
47
- display: block;
48
- height: 1px;
49
- background: #000;
50
- border-top: 1px solid #fff;
51
- position: absolute;
52
- top: 0;
53
- left: 0;
54
- width: 100%;
55
- margin-top: -1px;
56
- }
57
- .colorpicker-hue {
58
- background-image: url(/assets/hue.png);
59
- }
60
- .colorpicker-alpha {
61
- background-image: url(/assets/alpha.png);
62
- display: none;
63
- }
64
- .colorpicker {
65
- *zoom: 1;
66
- top: 0;
67
- left: 0;
68
- padding: 4px;
69
- min-width: 120px;
70
- margin-top: 1px;
71
- -webkit-border-radius: 4px;
72
- -moz-border-radius: 4px;
73
- border-radius: 4px;
74
- }
75
- .colorpicker:before, .colorpicker:after {
76
- display: table;
77
- content: "";
78
- }
79
- .colorpicker:after {
80
- clear: both;
81
- }
82
- .colorpicker:before {
83
- content: '';
84
- display: inline-block;
85
- border-left: 7px solid transparent;
86
- border-right: 7px solid transparent;
87
- border-bottom: 7px solid #ccc;
88
- border-bottom-color: rgba(0, 0, 0, 0.2);
89
- position: absolute;
90
- top: -7px;
91
- left: 6px;
92
- }
93
- .colorpicker:after {
94
- content: '';
95
- display: inline-block;
96
- border-left: 6px solid transparent;
97
- border-right: 6px solid transparent;
98
- border-bottom: 6px solid #ffffff;
99
- position: absolute;
100
- top: -6px;
101
- left: 7px;
102
- }
103
- .colorpicker div {
104
- position: relative;
105
- }
106
- .colorpicker.alpha {
107
- min-width: 140px;
108
- }
109
- .colorpicker.alpha .colorpicker-alpha {
110
- display: block;
111
- }
112
- .colorpicker-color {
113
- height: 10px;
114
- margin-top: 5px;
115
- clear: both;
116
- background-image: url(/assets/alpha.png);
117
- background-position: 0 100%;
118
- }
119
- .colorpicker-color div {
120
- height: 10px;
121
- }
122
- .input-group.color .input-group-addon i, .input-group.color .input-group-addon i {
123
- display: block;
124
- cursor: pointer;
125
- width: 16px;
126
- height: 16px;
127
- }
@@ -1,135 +0,0 @@
1
- .ui-autocomplete {
2
- background-color: #fff;
3
- position: absolute;
4
- cursor: default;
5
- list-style: none;
6
- margin: 25px 0 0;
7
- padding: 0;
8
- border: 1px solid #E5E5E5;
9
- border-top: none;
10
- -moz-border-radius: 0 0 10px 10px;
11
- border-radius: 0 0 10px 10px;
12
- -moz-box-shadow: 0 3px 5px #888;
13
- -webkit-box-shadow: 0 3px 5px #888;
14
- box-shadow: 0 3px 5px #888;
15
- font-size: 12px;
16
- }
17
-
18
- .ui-autocomplete .ui-menu-item {
19
- padding: 0;
20
- margin: 0;
21
- }
22
-
23
- .ui-autocomplete .ui-menu-item a {
24
- display: block;
25
- padding: 4px 6px;
26
- margin: 0;
27
- text-decoration: none;
28
- line-height: 12px;
29
- border-bottom: 1px solid #E5E5E5;
30
- border-top: 1px solid #fff;
31
- color: #78959D;
32
-
33
- }
34
-
35
- .ui-autocomplete .ui-menu-item a.ui-state-hover,
36
- .ui-autocomplete .ui-menu-item a.ui-state-active {
37
- background-color: #c0d1e2;
38
- color: #555;
39
- border-color: #a6cef7;
40
- }
41
-
42
- .ui-autocomplete-loading {
43
- background: white url(/assets/ui-anim_basic_16x16.gif) right center no-repeat;
44
- }
45
-
46
- ul.tagit {
47
- cursor: text;
48
- overflow: auto;
49
- font-size: 14px;
50
- width: 97%;
51
- padding: 0px;
52
- margin: 0px;
53
- background: #fff;
54
- color: #fff;
55
- }
56
-
57
- ul.tagit li {
58
- -moz-border-radius: 5px;
59
- border-radius: 5px;
60
- display: block;
61
- float: left;
62
- margin: 2px 5px 2px 0;
63
- position: relative;
64
- }
65
-
66
- ul.tagit.ui-sortable li.tagit-choice a.ui-icon.ui-icon-grip-dotted-vertical{
67
- float: left;
68
- width: 12px;
69
- margin-left: -5px;
70
- cursor: move;
71
- }
72
-
73
- ul.tagit li.tagit-choice {
74
- background-color: #333;
75
- border: 1px solid #333;
76
- padding: 2px 13px 3px 4px;
77
- }
78
-
79
- ul.tagit li.tagit-choice.selected {
80
- background-color: #633;
81
- border-color: #f76464;
82
- }
83
-
84
- ul.tagit li.tagit-choice:hover {
85
- background-color: #555;
86
- border-color: #444;
87
- }
88
-
89
- ul.tagit li.tagit-new {
90
- clear: left;
91
- padding: 2px 4px 3px;
92
- padding: 2px 4px 1px;
93
- padding: 2px 4px 1px 0;
94
- }
95
-
96
- ul.tagit li.tagit-choice input {
97
- display: block;
98
- float: left;
99
- margin: 0 5px 0 0;
100
- padding-top: 2px;
101
- padding-bottom: 2px;
102
- }
103
-
104
- ul.tagit li.tagit-choice a.tagit-close {
105
- color: #ccc;
106
- cursor: pointer;
107
- font-size: 12px;
108
- font-weight: bold;
109
- outline: medium none;
110
- padding: 2px 0 2px 3px;
111
- text-decoration: none;
112
- position: absolute;
113
- display: block;
114
- top: 0;
115
- right: 3px;
116
- text-shadow: 1px 1px 0 rgba(100, 100, 100, 0.7);
117
- }
118
-
119
- ul.tagit li.tagit-choice a.tagit-close:hover {
120
- color: #fff;
121
- text-shadow: none;
122
- }
123
- /*
124
- ul.tagit input[type="text"] {
125
- -moz-box-sizing: border-box;
126
- border: none !important;
127
- margin: 0 !important;
128
- padding: 0 !important;
129
- width: inherit !important;
130
- outline: none;
131
- }
132
- */
133
- select.tagit-hiddenSelect {
134
- display:none;
135
- }
@@ -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
- <h5 class="modal-title"><%%= t(:register, :default => "Register") %></h5>
7
- <button type="button" class="close" data-dismiss="modal">×</button>
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-light' %>
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-light" %>
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? %>
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="dropdown-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