tb_core 1.0.2 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
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