tb_core 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. checksums.yaml +8 -8
  2. data/README.md +89 -0
  3. data/app/assets/javascripts/{spud/admin → admin}/application.js +1 -7
  4. data/app/assets/javascripts/admin/dashboard.js +9 -0
  5. data/app/assets/javascripts/admin/split_pane.js +138 -0
  6. data/app/assets/javascripts/admin/users.js +84 -0
  7. data/app/assets/stylesheets/{spud/admin/application.css → admin/application.css.scss} +14 -104
  8. data/app/assets/stylesheets/admin/login.css.scss +49 -0
  9. data/app/assets/stylesheets/admin/split_pane.css.scss +126 -0
  10. data/app/assets/stylesheets/admin/users.css.scss +9 -0
  11. data/app/controllers/{spud/admin → admin}/application_controller.rb +29 -30
  12. data/app/controllers/admin/dashboard_controller.rb +23 -0
  13. data/app/controllers/admin/password_resets_controller.rb +51 -0
  14. data/app/controllers/admin/roles_controller.rb +58 -0
  15. data/app/controllers/admin/settings_controller.rb +19 -0
  16. data/app/controllers/admin/setup_controller.rb +24 -0
  17. data/app/controllers/{spud/admin → admin}/user_sessions_controller.rb +8 -8
  18. data/app/controllers/admin/users_controller.rb +69 -0
  19. data/app/controllers/password_resets_controller.rb +52 -0
  20. data/app/controllers/sitemaps_controller.rb +8 -0
  21. data/app/controllers/spud/application_controller.rb +6 -20
  22. data/app/controllers/user_sessions_controller.rb +26 -0
  23. data/app/helpers/{spud/admin → admin}/application_helper.rb +1 -1
  24. data/app/helpers/admin/roles_helper.rb +2 -0
  25. data/app/helpers/spud/application_helper.rb +0 -7
  26. data/app/mailers/core_mailer.rb +9 -0
  27. data/app/models/spud_permission.rb +33 -0
  28. data/app/models/spud_role.rb +32 -0
  29. data/app/models/spud_role_permission.rb +9 -0
  30. data/app/models/spud_user.rb +79 -24
  31. data/app/models/spud_user_setting.rb +3 -3
  32. data/app/views/{spud/admin → admin}/dashboard/index.html.erb +1 -4
  33. data/app/views/admin/password_resets/index.html.erb +10 -0
  34. data/app/views/admin/password_resets/show.html.erb +15 -0
  35. data/app/views/admin/roles/_form.html.erb +33 -0
  36. data/app/views/admin/roles/edit.html.erb +2 -0
  37. data/app/views/admin/roles/index.html.erb +29 -0
  38. data/app/views/admin/roles/new.html.erb +2 -0
  39. data/app/views/{spud/admin → admin}/settings/edit.html.erb +6 -1
  40. data/app/views/admin/setup/new.html.erb +44 -0
  41. data/app/views/admin/user_sessions/new.html.erb +17 -0
  42. data/app/views/{spud/admin → admin}/users/_form.html.erb +20 -20
  43. data/app/views/admin/users/_index.html.erb +15 -0
  44. data/app/views/admin/users/edit.html.erb +3 -0
  45. data/app/views/admin/users/index.html.erb +34 -0
  46. data/app/views/admin/users/new.html.erb +3 -0
  47. data/app/views/admin/users/show.html.erb +28 -0
  48. data/app/views/layouts/admin/application.html.erb +68 -0
  49. data/app/views/layouts/{spud/admin → admin}/detail.html.erb +2 -2
  50. data/app/views/layouts/admin/login.html.erb +27 -0
  51. data/app/views/password_resets/index.html.erb +11 -0
  52. data/app/views/password_resets/show.html.erb +26 -0
  53. data/app/views/user_sessions/new.html.erb +25 -0
  54. data/config/routes.rb +22 -15
  55. data/db/migrate/20130620143010_create_spud_roles.rb +10 -0
  56. data/db/migrate/20130620143941_create_spud_permissions.rb +10 -0
  57. data/db/migrate/20130620151132_create_spud_role_permissions.rb +11 -0
  58. data/db/migrate/20130620163144_drop_spud_admin_permissions.rb +15 -0
  59. data/db/seeds.rb +3 -0
  60. data/lib/spud_core/belongs_to_app.rb +35 -48
  61. data/lib/spud_core/configuration.rb +5 -10
  62. data/lib/spud_core/engine.rb +31 -6
  63. data/lib/spud_core/exceptions.rb +7 -0
  64. data/lib/spud_core/searchable.rb +9 -9
  65. data/lib/spud_core/version.rb +3 -3
  66. data/spec/controllers/{spud/admin → admin}/application_controller_spec.rb +10 -6
  67. data/spec/controllers/{spud/admin → admin}/dashboard_controller_spec.rb +17 -29
  68. data/spec/controllers/{spud/admin → admin}/password_reset_controller_spec.rb +5 -5
  69. data/spec/controllers/admin/settings_controller_spec.rb +30 -0
  70. data/spec/controllers/admin/setup_controller_spec.rb +39 -0
  71. data/spec/controllers/admin/user_sessions_controller_spec.rb +52 -0
  72. data/spec/controllers/{spud/admin → admin}/users_controller_spec.rb +19 -35
  73. data/spec/controllers/{spud/sitemap_controllers_spec.rb → sitemap_controllers_spec.rb} +1 -1
  74. data/spec/dummy/config/database.yml +2 -2
  75. data/spec/dummy/db/schema.rb +23 -5
  76. data/spec/dummy/log/test.log +36118 -0
  77. data/spec/helpers/spud/admin/application_helper_spec.rb +1 -1
  78. data/spec/models/spud_role_spec.rb +46 -0
  79. data/spec/models/spud_user_spec.rb +0 -1
  80. metadata +101 -97
  81. data/README.markdown +0 -60
  82. data/app/assets/images/back_disabled.jpg +0 -0
  83. data/app/assets/images/back_enabled.jpg +0 -0
  84. data/app/assets/images/favicon.ico +0 -0
  85. data/app/assets/images/forward_disabled.jpg +0 -0
  86. data/app/assets/images/forward_enabled.jpg +0 -0
  87. data/app/assets/images/sort_asc.png +0 -0
  88. data/app/assets/images/sort_asc_disabled.png +0 -0
  89. data/app/assets/images/sort_both.png +0 -0
  90. data/app/assets/images/sort_desc.png +0 -0
  91. data/app/assets/images/sort_desc_disabled.png +0 -0
  92. data/app/assets/images/spud/admin/flick/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  93. data/app/assets/images/spud/admin/flick/ui-bg_flat_0_eeeeee_40x100.png +0 -0
  94. data/app/assets/images/spud/admin/flick/ui-bg_flat_55_ffffff_40x100.png +0 -0
  95. data/app/assets/images/spud/admin/flick/ui-bg_flat_75_ffffff_40x100.png +0 -0
  96. data/app/assets/images/spud/admin/flick/ui-bg_glass_65_ffffff_1x400.png +0 -0
  97. data/app/assets/images/spud/admin/flick/ui-bg_highlight-soft_100_f6f6f6_1x100.png +0 -0
  98. data/app/assets/images/spud/admin/flick/ui-bg_highlight-soft_25_0073ea_1x100.png +0 -0
  99. data/app/assets/images/spud/admin/flick/ui-bg_highlight-soft_50_dddddd_1x100.png +0 -0
  100. data/app/assets/images/spud/admin/flick/ui-icons_0073ea_256x240.png +0 -0
  101. data/app/assets/images/spud/admin/flick/ui-icons_454545_256x240.png +0 -0
  102. data/app/assets/images/spud/admin/flick/ui-icons_666666_256x240.png +0 -0
  103. data/app/assets/images/spud/admin/flick/ui-icons_ff0084_256x240.png +0 -0
  104. data/app/assets/images/spud/admin/flick/ui-icons_ffffff_256x240.png +0 -0
  105. data/app/assets/images/spud/admin/spud_logo.png +0 -0
  106. data/app/assets/images/spud/admin/spud_logo@2x.png +0 -0
  107. data/app/assets/javascripts/spud/admin/dashboard.js +0 -80
  108. data/app/assets/javascripts/spud/admin/jquery.dataTables.min.js +0 -151
  109. data/app/assets/stylesheets/spud/forms.css +0 -108
  110. data/app/assets/stylesheets/spud/login/application.css +0 -302
  111. data/app/assets/stylesheets/spud/login.css +0 -58
  112. data/app/assets/stylesheets/spud/setup.css +0 -4
  113. data/app/assets/stylesheets/spud/sitemaps.css +0 -4
  114. data/app/assets/stylesheets/spud/user_sessions.css +0 -4
  115. data/app/assets/stylesheets/spud/users.css +0 -4
  116. data/app/controllers/spud/admin/dashboard_controller.rb +0 -34
  117. data/app/controllers/spud/admin/password_resets_controller.rb +0 -52
  118. data/app/controllers/spud/admin/settings_controller.rb +0 -27
  119. data/app/controllers/spud/admin/users_controller.rb +0 -109
  120. data/app/controllers/spud/setup_controller.rb +0 -21
  121. data/app/controllers/spud/sitemaps_controller.rb +0 -8
  122. data/app/helpers/spud/password_resets_helper.rb +0 -2
  123. data/app/mailers/spud/core_mailer.rb +0 -12
  124. data/app/models/spud_admin_permission.rb +0 -5
  125. data/app/views/layouts/spud/admin/application.html.erb +0 -73
  126. data/app/views/layouts/spud/login/application.html.erb +0 -17
  127. data/app/views/layouts/spud/setup.html.erb +0 -47
  128. data/app/views/spud/admin/password_resets/index.html.erb +0 -14
  129. data/app/views/spud/admin/password_resets/show.html.erb +0 -25
  130. data/app/views/spud/admin/user_sessions/new.html.erb +0 -27
  131. data/app/views/spud/admin/users/_edit.html.erb +0 -14
  132. data/app/views/spud/admin/users/_new.html.erb +0 -15
  133. data/app/views/spud/admin/users/edit.html.erb +0 -3
  134. data/app/views/spud/admin/users/index.html.erb +0 -42
  135. data/app/views/spud/admin/users/new.html.erb +0 -3
  136. data/app/views/spud/admin/users/show.html.erb +0 -12
  137. data/app/views/spud/setup/index.html.erb +0 -43
  138. data/spec/controllers/spud/admin/settings_controller_spec.rb +0 -55
  139. data/spec/controllers/spud/admin/user_sessions_controller_spec.rb +0 -51
  140. data/spec/controllers/spud/setup_controller_spec.rb +0 -56
  141. /data/app/assets/images/{spud/admin → admin}/down_arrow.gif +0 -0
  142. /data/app/assets/images/{spud/admin → admin}/up_arrow.gif +0 -0
  143. /data/app/assets/images/{spud/admin → admin}/users_thumb.png +0 -0
  144. /data/app/assets/javascripts/{spud/admin → admin}/date_picker.js +0 -0
  145. /data/app/assets/javascripts/{spud/admin → admin}/editor.js +0 -0
  146. /data/app/assets/javascripts/{spud/admin → admin}/preinit.js +0 -0
  147. /data/app/assets/javascripts/{spud/password_resets.js → admin/roles.js} +0 -0
  148. /data/app/assets/stylesheets/{spud/admin → admin}/jquery-ui.css +0 -0
  149. /data/app/assets/stylesheets/{spud/password_resets.css → admin/roles.css} +0 -0
  150. /data/app/views/{spud/admin → admin}/settings/_form.html.erb +0 -0
  151. /data/app/views/{spud/core_mailer → core_mailer}/forgot_password_notification.html.erb +0 -0
  152. /data/app/views/{spud/core_mailer → core_mailer}/forgot_password_notification.text.erb +0 -0
  153. /data/app/views/{spud/sitemaps → sitemaps}/show.xml.builder +0 -0
@@ -1,302 +0,0 @@
1
- /* ...
2
- *= require_self
3
- *= require spud/admin/jquery-ui
4
- *= require spud/forms
5
- *= require spud/login
6
- */
7
- html {
8
- font-family: Helvetica, Arial;
9
- font-size:14px;
10
- }
11
- body {
12
- background:#eee;
13
- margin: 0 0;
14
- }
15
- a,a:visited {
16
- color:#0073EA;
17
- text-decoration:none;
18
- }
19
- a:hover {
20
- text-decoration:underline;
21
- }
22
- a:hover .ui-button-text {
23
- color:#fff;
24
- }
25
- #header {
26
- height:100px;
27
- background:rgb(199,90,0);
28
- background-image: linear-gradient(top, rgb(199,90,0) 5%, rgb(179,72,0) 53%);
29
- background-image: -o-linear-gradient(top, rgb(199,90,0) 5%, rgb(179,72,0) 53%);
30
- background-image: -moz-linear-gradient(top, rgb(199,90,0) 5%, rgb(179,72,0) 53%);
31
- background-image: -webkit-linear-gradient(top, rgb(199,90,0) 5%, rgb(179,72,0) 53%);
32
- background-image: -ms-linear-gradient(top, rgb(199,90,0) 5%, rgb(179,72,0) 53%);
33
-
34
- background-image: -webkit-gradient(
35
- linear,
36
- left top,
37
- left bottom,
38
- color-stop(0.05, rgb(199,90,0)),
39
- color-stop(0.53, rgb(179,72,0))
40
- );
41
-
42
- border-bottom:1px solid rgb(180,72,0);
43
- color:#fff;
44
- }
45
- #header a,
46
- #header a:visited {
47
- color:#eee;
48
- font-weight:normal;
49
- }
50
- .clear { clear: both; }
51
- .greeting {
52
- color:#ddd;
53
- }
54
-
55
- #header #user_meta {
56
- float:right;
57
- line-height:100px;
58
- margin-right:15px;
59
- }
60
-
61
- #header h1 {
62
- float:left;
63
- color:#fff;
64
- margin:0 15px;
65
- line-height:100px;
66
- }
67
-
68
- #breadcrumbs {
69
- background:#fff;
70
- height:25px;
71
- border-top:1px solid rgb(200,148,72);
72
- border-bottom:1px solid #999;
73
- line-height:25px;
74
- padding:5px 15px;
75
- box-shadow: 0px 0px 10px #888;
76
-
77
- }
78
- #breadcrumbs a,
79
- #breadcrumbs a:visited {
80
- color:#006699;
81
- text-decoration:none;
82
- }
83
- #breadcrumbs a:hover {
84
- color:#006699;
85
- text-decoration:underline;
86
- }
87
- #breadcrumbs a.active,
88
- #breadcrumbs a.active:hover {
89
- color:#000;
90
- text-decoration:none;
91
- }
92
-
93
- #content {
94
- padding:15px 15px;
95
- }
96
-
97
- div.admin_application {
98
- width:150px;
99
- background:#fff;
100
- /*height:150px;*/
101
- float:left;
102
-
103
- text-align:center;
104
- border:1px solid transparent;
105
- border-radius:10px;
106
- margin: 0 10px 20px 10px;
107
- }
108
- div.admin_application:hover {
109
- background:#fff;
110
- border:1px solid #ccc;
111
-
112
- }
113
- .admin_application a,
114
- .admin_application a:visited {
115
- display:block;
116
-
117
- color:#000;
118
- padding:10px 10px;
119
- text-decoration:none;
120
- }
121
- .admin_application img {
122
- width:125px;
123
- border:none;
124
- height:125px;
125
- }
126
-
127
- #detail_wrapper {
128
- background:#fff;
129
- width:960px;
130
- min-height:300px;
131
- border-radius:10px;
132
- margin:50px auto 0px auto;
133
- }
134
- #detail_wrapper h2
135
- {
136
-
137
- display:block;
138
- line-height:50px;
139
- color:#333;
140
- }
141
- #detail_wrapper .thumb_wrapper {
142
- display:block;
143
- width:100px;
144
- height:100px;
145
- float:left;
146
-
147
- margin:-50px 10px 10px 10px;
148
- }
149
- #detail_wrapper h2 img {
150
-
151
- width:100px;
152
-
153
-
154
- }
155
- .data_controls {
156
- display:block;
157
- margin-top:20px;
158
- margin-right:10px;
159
- float:right;
160
- }
161
- .data-table th {
162
- position:relative;
163
- padding-right:20px;
164
- }
165
- #details {
166
- padding:0 10px;
167
- }
168
- #detail_nav_wrapper {
169
- float:left;
170
- width:225px;
171
- min-height:200px;
172
- }
173
- #detail_nav {
174
- padding-right:5px;
175
- }
176
- #detail_main_wrapper {
177
- width:705px;
178
- min-height:200px;
179
- float:left;
180
-
181
- }
182
- #detail_main {
183
- padding-left:5px;
184
- }
185
- .dataTables_length {
186
- float:left;
187
- line-height:22px;
188
- font-size:12px;
189
- margin-left:5px;
190
- }
191
- .dataTables_filter {
192
- float:right;
193
- }
194
- .dataTables_info {
195
- float:left;
196
- line-height:22px;
197
- font-size:12px;
198
- margin-left:5px;
199
- }
200
- .dataTables_paginate {
201
- float:right;
202
- }
203
- .dataTables_paginate .ui-button {
204
- padding:2px 5px;
205
-
206
- margin:0 5px;
207
- }
208
- .data-table .css_right {
209
- position:absolute;
210
- right:0;
211
- top:1px;
212
- }
213
-
214
- /*Table Layout*/
215
- .admin-table {
216
- width:100%;
217
- border:1px solid #eee;
218
- border-radius:10px;
219
- border-collapse:collapse;
220
- }
221
- .admin-table thead tr{
222
- background:rgb(199,90,0);
223
- color:#fff;
224
-
225
- border-radius:10px 10px 0 0;
226
- }
227
- .admin-table th {
228
- font-weight:normal;
229
- text-align:left;
230
- padding:2px 5px;
231
- }
232
- .admin-table td {
233
- vertical-align:top;
234
- padding:2px 5px;
235
- }
236
-
237
- .info_card {
238
- width:400px;
239
- padding:0 10px;
240
- margin:0 auto;
241
- border: 1px solid #BFBAB0;
242
- background-color: #F2EFE9;
243
- background: #F2EFE9 -webkit-gradient(linear, left top, left 60%, from(#FFFFFF), to(#E9EFF2)) ;
244
- background: -moz-linear-gradient(top, #FFFFFF 0%, #E9EFF2 100%);
245
- filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffFFFFFF,endColorstr=#ffE9EFF2);
246
- -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#ffFFFFFF,endColorstr=#ffE9EFF2)";
247
- }
248
- .right_floated{
249
- float:right;
250
- }
251
- .left_floated {
252
- float:left;
253
- }
254
- .edit_controls {
255
- float:right;
256
- clear:both;
257
- padding:2px;
258
- }
259
- .page_list
260
- {
261
- border-top:1px solid #eee;
262
- padding-top:10px;
263
- }
264
- .page_row {
265
- clear:both;
266
- /*height:42px;*/
267
- line-height:42px;
268
- padding-left:5px;
269
- }
270
- .page_row:hover {
271
- background:#eee;
272
- }
273
- .left_guide {
274
- border-left:2px solid #999;
275
- margin-left:20px;
276
- }
277
- /*WYM Editor Styles*/
278
- /*.wym_skin_default .wym_section h2 {
279
- display:none !important;
280
- }*/
281
-
282
- /*Flash Styles*/
283
- div.flash {
284
- padding:10px;
285
- }
286
- div.flash.notice {
287
- background:#99ff99;
288
- }
289
- div.flash.warning {
290
- background:#FFFACD;
291
- }
292
- div.flash.error {
293
- background:#ff9999;
294
- }
295
- div.flash h2 {
296
- color:white !important;
297
- font-size:14px !important;
298
- }
299
- div.flash ul {
300
- color:white !important;
301
- font-size:12px !important;
302
- }
@@ -1,58 +0,0 @@
1
- body {
2
- background:#eee;
3
- margin:0;
4
- }
5
- #content_wrapper {
6
- position: relative;
7
- width: 100%;
8
- height: 100%;
9
- }
10
- .login-form {
11
- width: 460px;
12
- margin: 75px auto 0;
13
- padding: 0px;
14
- color:#000;
15
- background: #fff;
16
- -webkit-border-radius: 10px;
17
- -moz-border-radius: 10px;
18
- border-radius:10px;
19
- box-shadow: 2px 2px 10px #777;
20
- overflow-x: hidden;
21
- overflow-y: hidden;
22
- }
23
- .login-form h1 {
24
- margin: 0;
25
- padding: 10px;
26
- background:rgb(199,90,0);
27
- background-image: linear-gradient(top, rgb(199,90,0) 5%, rgb(179,72,0) 53%);
28
- background-image: -o-linear-gradient(top, rgb(199,90,0) 5%, rgb(179,72,0) 53%);
29
- background-image: -moz-linear-gradient(top, rgb(199,90,0) 5%, rgb(179,72,0) 53%);
30
- background-image: -webkit-linear-gradient(top, rgb(199,90,0) 5%, rgb(179,72,0) 53%);
31
- background-image: -ms-linear-gradient(top, rgb(199,90,0) 5%, rgb(179,72,0) 53%);
32
- background-image: -webkit-gradient(
33
- linear,
34
- left top,
35
- left bottom,
36
- color-stop(0.05, rgb(199,90,0)),
37
- color-stop(0.53, rgb(179,72,0))
38
- );
39
- color: #fff;
40
- }
41
- .login-form form {
42
- padding: 20px 20px 10px;
43
- }
44
- .login-form .field-group {
45
- margin: 0 0 15px;
46
- }
47
- .login-form label {
48
- margin: 0 0 5px;
49
- }
50
- .login-form input[type=text], .login-form input[type=password] {
51
- display: block;
52
- width: 410px;
53
- padding: 3px;
54
- font-size: 1.5em;
55
- }
56
- .login-form input[type=submit] {
57
- font-size: 14px;
58
- }
@@ -1,4 +0,0 @@
1
- /*
2
- Place all the styles related to the matching controller here.
3
- They will automatically be included in application.css.
4
- */
@@ -1,4 +0,0 @@
1
- /*
2
- Place all the styles related to the matching controller here.
3
- They will automatically be included in application.css.
4
- */
@@ -1,4 +0,0 @@
1
- /*
2
- Place all the styles related to the matching controller here.
3
- They will automatically be included in application.css.
4
- */
@@ -1,4 +0,0 @@
1
- /*
2
- Place all the styles related to the matching controller here.
3
- They will automatically be included in application.css.
4
- */
@@ -1,34 +0,0 @@
1
- class Spud::Admin::DashboardController < Spud::Admin::ApplicationController
2
-
3
- def index
4
- permission_set = current_user_permissions.collect{|p| p.name}
5
- @unsorted_applications = Spud::Core.admin_applications.select{|app| @current_user.super_admin || permission_set.include?(app[:name])}.sort_by{|obj| obj[:order]}
6
- @admin_applications = []
7
-
8
- @app_order = @current_user.spud_user_settings.where(:key => "app_order").first
9
- if !@app_order.blank?
10
- names = @app_order.value.split(",")
11
- names.each do |name|
12
- @app = @unsorted_applications.select{|app| app[:name] == name}
13
- @unsorted_applications = @unsorted_applications.reject{|app| app[:name] == name}
14
- @admin_applications += @app
15
- end
16
- @admin_applications += @unsorted_applications
17
- else
18
- @admin_applications = @unsorted_applications
19
- end
20
- end
21
-
22
- def switch
23
- if !params[:multisite_select].blank?
24
- if Spud::Core.multisite_config.select{|p| p[:site_id].to_i == params[:multisite_select].to_i}.blank? == false
25
- session[:admin_site] = params[:multisite_select].to_i
26
- else
27
- flash[:error] = "Site does not exist."
28
- end
29
- else
30
- session[:admin_site] = 0
31
- end
32
- redirect_to(back_or_default(!request.referer.blank? ? request.referer : spud_admin_root_path)) and return
33
- end
34
- end
@@ -1,52 +0,0 @@
1
- class Spud::Admin::PasswordResetsController < Spud::ApplicationController
2
-
3
- before_filter :require_no_user, :only => [:new, :create]
4
- before_filter :load_user_using_perishable_token, :only => [:show, :update]
5
-
6
- layout 'spud/login/application'
7
-
8
- def index
9
-
10
- end
11
-
12
- def create
13
- @user = SpudUser.find_by_email(params[:email])
14
- if @user
15
- Spud::CoreMailer.forgot_password_notification(@user).deliver
16
- flash[:notice] = "Instructions to reset your password have been emailed to you. " +
17
- "Please check your email."
18
- redirect_to spud_admin_login_path
19
- else
20
- flash[:notice] = "No user was found with that email address"
21
- render 'index'
22
- end
23
- end
24
-
25
- def show
26
-
27
- end
28
-
29
- def update
30
- @user.password = params[:spud_user][:password]
31
- @user.password_confirmation = params[:spud_user][:password_confirmation]
32
- if @user.save
33
- flash[:notice] = "Password successfully updated"
34
- redirect_to spud_admin_login_path
35
- else
36
- render 'show'
37
- end
38
- end
39
-
40
- private
41
-
42
- def load_user_using_perishable_token
43
- @user = SpudUser.find_using_perishable_token(params[:id])
44
- unless @user
45
- flash[:notice] = "We're sorry, but we could not locate your account. " +
46
- "If you are having issues try copying and pasting the URL " +
47
- "from your email into your browser or restarting the " +
48
- "reset password process."
49
- redirect_to spud_admin_login_path
50
- end
51
- end
52
- end
@@ -1,27 +0,0 @@
1
- class Spud::Admin::SettingsController < Spud::ApplicationController
2
- before_filter :require_user
3
- layout 'spud/admin/detail'
4
-
5
- def edit
6
- if current_user.has_admin_rights?
7
- add_breadcrumb "Dashboard", :spud_admin_root_path
8
- end
9
- add_breadcrumb "Settings", :spud_admin_settings_path
10
- @page_thumbnail = "spud/admin/users_thumb.png"
11
- @page_name = "Settings"
12
- end
13
-
14
- def update
15
- add_breadcrumb "Settings", :spud_admin_settings_path
16
- @page_thumbnail = "spud/admin/users_thumb.png"
17
- @page_name = "Settings"
18
- if @current_user.update_attributes(params[:spud_user].slice :login,:first_name,:last_name,:email,:password,:password_confirmation,:time_zone)
19
- flash[:notice] = "User settings saved successfully."
20
- redirect_to spud_admin_root_path
21
- else
22
- flash[:error] = "There was an error while saving your settings."
23
- render 'edit'
24
- end
25
- end
26
-
27
- end
@@ -1,109 +0,0 @@
1
- class Spud::Admin::UsersController < Spud::Admin::ApplicationController
2
- layout 'spud/admin/detail'
3
- belongs_to_spud_app :users
4
- add_breadcrumb "Users", :spud_admin_users_path
5
-
6
- # filters
7
- before_filter :load_user,:only => [:edit,:update,:show,:destroy]
8
-
9
- def index
10
- sort_order = "login asc"
11
- if sort_column
12
- if sort_column == 'first_name'
13
- sort_order = "first_name #{sort_direction}, last_name #{sort_direction}"
14
- else
15
- sort_order = "#{sort_column} #{sort_direction}"
16
- end
17
- end
18
- @users = SpudUser.order(sort_order).paginate :page => params[:page]
19
- respond_with @users
20
- end
21
-
22
- def show
23
- add_breadcrumb @user.full_name, :spud_admin_user_path
24
- respond_with @user
25
- end
26
-
27
- def new
28
- @user = SpudUser.new
29
- Spud::Core.admin_applications.each do |application|
30
- @user.spud_admin_permissions.new(:name => application[:name],:access => false)
31
- end
32
- respond_with @user do |format|
33
- format.js { render :partial => "new"}
34
- end
35
- end
36
-
37
- def create
38
- status = 500
39
- @user = SpudUser.new(params[:spud_user],:as => :admin)
40
-
41
- if @user.save
42
- status = 200
43
- flash[:notice] = "User created successfully"
44
- else
45
- flash[:error] = "There was an error while saving the user."
46
- end
47
-
48
- respond_with @user,:location => spud_admin_users_url do |format|
49
- format.js { render :status => status, :json => @user.to_json }
50
- format.html {
51
- if status == 200
52
- redirect_to spud_admin_users_url()
53
- else
54
- render :action => "new"
55
- end
56
- }
57
- end
58
- end
59
-
60
- def edit
61
- Spud::Core.admin_applications.each do |application|
62
- permission = @user.spud_admin_permissions.select {|perm| perm.name == application[:name]}
63
- if permission.blank?
64
- @user.spud_admin_permissions.new(:name => application[:name],:access => @user.super_admin)
65
- end
66
- end
67
- respond_to do |format|
68
- format.js { render :partial => "edit"}
69
- format.html { render }
70
- end
71
- end
72
-
73
- def update
74
- if @user.update_attributes(params[:spud_user], :as => :admin)
75
- flash[:notice] = "User saved successfully."
76
- redirect_to spud_admin_users_url()
77
- else
78
- flash[:error] = "There was an error while saving the user."
79
- render :action => "edit"
80
- end
81
- end
82
-
83
- def destroy
84
- status = 500
85
- if @user.destroy
86
- status = 200
87
- flash[:notice] = "User removed."
88
- else
89
- flash[:error] = "There was an error removing the user"
90
- end
91
-
92
- respond_to do |format|
93
- format.js { render :text => nil,:status => status }
94
- format.html {redirect_to spud_admin_users_url()}
95
- end
96
- end
97
-
98
- private
99
-
100
- def load_user
101
- @user = SpudUser.where(:id => params[:id]).first
102
- if @user.blank?
103
- flash[:error] = "User not found!"
104
- redirect_to spud_admin_users_url() and return false
105
- end
106
- return true
107
- end
108
-
109
- end
@@ -1,21 +0,0 @@
1
- class Spud::SetupController < Spud::ApplicationController
2
- layout 'spud/setup'
3
- def index
4
- @page_thumbnail = "spud/admin/users_thumb.png"
5
- @page_name = "First Time Setup"
6
- if SpudUser.count != 0
7
- flash[:error] = "Access Denied! This wizard may only be executed when the database is empty."
8
- redirect_to spud_admin_login_path and return
9
- end
10
-
11
- if request.post?
12
- @user = SpudUser.new(:login => params[:login],:email => params[:email],:password => params[:password],:password_confirmation => params[:password_confirmation])
13
- @user.super_admin = true
14
- if @user.save
15
- redirect_back_or_default(spud_admin_login_path) and return
16
- end
17
-
18
- flash[:error] = "Error creating administrative account!"
19
- end
20
- end
21
- end
@@ -1,8 +0,0 @@
1
- class Spud::SitemapsController < Spud::ApplicationController
2
- respond_to :xml
3
- caches_page :show,:expires_in => 1.day
4
- def show
5
- @sitemap_urls = Spud::Core.sitemap_urls
6
- respond_with @sitemap_urls
7
- end
8
- end
@@ -1,2 +0,0 @@
1
- module Spud::PasswordResetsHelper
2
- end
@@ -1,12 +0,0 @@
1
- class Spud::CoreMailer < ActionMailer::Base
2
- # default_url_options[:host] = request.host_with_port
3
-
4
- def forgot_password_notification(user)
5
- @user = user
6
- @url = spud_admin_password_reset_url(user.perishable_token)
7
- # @url = "/spud/password_resets/#{user.perishable_token}/edit"
8
- mail(:from =>Spud::Core.from_address,:to => user.email, :subject => "Forgot Password Request from #{Spud::Core.config.site_name}")
9
-
10
- end
11
-
12
- end
@@ -1,5 +0,0 @@
1
- class SpudAdminPermission < ActiveRecord::Base
2
- belongs_to :spud_user,:foreign_key => :user_id
3
- attr_accessible :name,:access, :as => [:default, :admin]
4
-
5
- end