caboose-cms 0.1.101 → 0.1.102

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 (37) hide show
  1. data/app/assets/images/caboose/caboose_logo_small.png +0 -0
  2. data/app/assets/images/caboose/caboose_nav_black.png +0 -0
  3. data/app/assets/images/caboose/loading_small_white_on_black.gif +0 -0
  4. data/app/assets/images/caboose/loading_white_on_black.gif +0 -0
  5. data/app/assets/javascripts/caboose/admin.js +3 -2
  6. data/app/assets/javascripts/caboose/application.js +3 -24
  7. data/app/assets/javascripts/caboose/login.js +7 -3
  8. data/app/assets/javascripts/caboose/modal.js +36 -0
  9. data/app/assets/javascripts/caboose/modal_integration.js +56 -0
  10. data/app/assets/javascripts/caboose/model.form.user.js +36 -0
  11. data/app/assets/javascripts/caboose/register.js +29 -0
  12. data/app/assets/javascripts/caboose/station_modal.js +42 -0
  13. data/app/assets/stylesheets/caboose/admin.css +43 -2
  14. data/app/assets/stylesheets/caboose/application.css +6 -2
  15. data/app/assets/stylesheets/caboose/caboose.css +0 -271
  16. data/app/assets/stylesheets/caboose/login.css +23 -0
  17. data/app/assets/stylesheets/caboose/modal.css +68 -0
  18. data/app/assets/stylesheets/caboose/page_bar_generator.css +34 -0
  19. data/app/assets/stylesheets/caboose/register.css +25 -0
  20. data/app/assets/stylesheets/caboose/station_modal.css +104 -0
  21. data/app/assets/stylesheets/caboose/station_sidebar.css +232 -0
  22. data/app/controllers/caboose/login_controller.rb +4 -0
  23. data/app/controllers/caboose/register_controller.rb +52 -0
  24. data/app/controllers/caboose/station_controller.rb +12 -1
  25. data/app/views/caboose/login/index.html.erb +19 -18
  26. data/app/views/caboose/register/index.html.erb +32 -0
  27. data/app/views/caboose/station/index.html.erb +40 -0
  28. data/app/views/caboose/users/edit.html.erb +9 -0
  29. data/app/views/caboose/users/index.html.erb +6 -0
  30. data/app/views/layouts/caboose/_admin_top_nav.html.erb +14 -0
  31. data/app/views/layouts/caboose/_top_nav.html.erb +7 -2
  32. data/app/views/layouts/caboose/admin.html.erb +2 -2
  33. data/app/views/layouts/caboose/modal.html.erb +21 -0
  34. data/config/routes.rb +10 -6
  35. data/lib/caboose/engine.rb +1 -0
  36. data/lib/caboose/version.rb +1 -1
  37. metadata +202 -119
@@ -0,0 +1,23 @@
1
+
2
+ #login_form .other_options {
3
+ position: absolute;
4
+ top: -4px;
5
+ right: 0;
6
+ }
7
+
8
+ input#username,
9
+ input#password {
10
+ font-size: 18px;
11
+ width: 95%;
12
+ margin: 0 0 8px 0;
13
+ padding: 7px;
14
+ }
15
+
16
+ input#btn_login {
17
+ font-size: 18px;
18
+ }
19
+
20
+ input#btn_cancel {
21
+ font-size: 18px;
22
+ }
23
+
@@ -0,0 +1,68 @@
1
+ /*
2
+ * This is a manifest file that'll be compiled into application.css, which will include all the files
3
+ * listed below.
4
+ *
5
+ * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
6
+ * or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
7
+ *
8
+ * You're free to add application-wide styles to this file and they'll appear at the top of the
9
+ * compiled file, but it's generally better to create a new file per style scope.
10
+ *
11
+ *= require colorbox-rails
12
+ *= require modeljs
13
+ *= require caboose/fonts
14
+ *= require caboose/caboose
15
+ */
16
+
17
+ body {
18
+ background: #111111;
19
+ margin: 0;
20
+ padding: 0;
21
+ color: #fff;
22
+ width: 100%;
23
+ font-family: Helvetica, Arial;
24
+ }
25
+
26
+ #modal_wrapper {
27
+ width: 100%;
28
+ position: relative;
29
+ }
30
+
31
+ #modal_content {
32
+ width: 100%;
33
+ }
34
+
35
+ #modal_content h1 {
36
+ margin: 0 0 12px 0;
37
+ padding: 0;
38
+ font-weight: normal;
39
+ }
40
+
41
+ #modal_content a {
42
+ color: #ccc;
43
+ text-decoration: none;
44
+ border-bottom: #999 1px dotted;
45
+ }
46
+
47
+ #modal_content p.loading {
48
+ background-image: url('/assets/caboose/loading_white_on_black.gif');
49
+ background-position: 0 center;
50
+ background-repeat: no-repeat;
51
+ color: #ccc;
52
+ font-weight: normal;
53
+ font-size: 16pt;
54
+ padding: 10px 10px 10px 40px;
55
+ }
56
+
57
+ div.model_attribute_text {
58
+ color: #000;
59
+ }
60
+
61
+ input {
62
+ border: 1px solid #ccc;
63
+ -moz-border-radius: 2px;
64
+ -webkit-border-radius: 2px;
65
+ border-radius: 2px;
66
+ font-size: 20px;
67
+ padding: 4px 8px;
68
+ }
@@ -0,0 +1,34 @@
1
+
2
+ .page_links {
3
+
4
+ }
5
+
6
+ .page_links a {
7
+ display: inline-block;
8
+ margin: 0 2px;
9
+ padding: 5px 8px 3px 8px;
10
+
11
+ border: #505050 1px solid;
12
+ background: #e1e1e1;
13
+ color: #505050;
14
+ text-decoration: none;
15
+ }
16
+
17
+ .page_links a:hover {
18
+ background: #505050;
19
+ color: #fff;
20
+ }
21
+
22
+ .page_links .middle_links a {
23
+
24
+ }
25
+
26
+ .page_links span.current_page {
27
+ display: inline-block;
28
+ padding: 5px 8px 3px 8px;
29
+
30
+ border: #941403 1px solid;
31
+ background: #941403;
32
+ color: #fff;
33
+ text-decoration: none;
34
+ }
@@ -0,0 +1,25 @@
1
+
2
+ #register_form .other_options {
3
+ position: absolute;
4
+ top: -4px;
5
+ right: 0;
6
+ }
7
+
8
+ input#first_name,
9
+ input#last_name,
10
+ input#email,
11
+ input#pass1,
12
+ input#pass2 {
13
+ font-size: 18px;
14
+ width: 95%;
15
+ margin: 0 0 8px 0;
16
+ padding: 7px;
17
+ }
18
+
19
+ input#btn_register {
20
+ font-size: 18px;
21
+ }
22
+
23
+ input#btn_cancel {
24
+ font-size: 18px;
25
+ }
@@ -0,0 +1,104 @@
1
+
2
+ #station ul {
3
+ margin: 0;
4
+ padding: 0;
5
+ list-style: none;
6
+ }
7
+
8
+ #station ul li {
9
+ margin: 0;
10
+ padding: 0;
11
+ list-style: none;
12
+ display: block;
13
+ }
14
+
15
+ #station ul a {
16
+ display: block !important;
17
+ position: relative;
18
+ margin: 0;
19
+ padding: 0;
20
+ color: #ccc;
21
+ text-decoration: none;
22
+ border: 0;
23
+ }
24
+
25
+ #station > ul > li > a {
26
+ width: 200px;
27
+ margin: 0;
28
+ padding: 0;
29
+ position: relative;
30
+ font-size: 16px;
31
+ }
32
+
33
+ #station > ul > li > a span.text {
34
+ display: block !important;
35
+ margin: 0 0 0 54px;
36
+ padding: 20px 0 0 0;
37
+ height: 30px;
38
+ font-size: 16px;
39
+ }
40
+
41
+ #station > ul > li > a:hover { background: #000; }
42
+ #station > ul > li > a:active { background: #333; }
43
+ #station > ul > li.selected > a { background: #333; }
44
+
45
+ #station > ul > li > a:hover span.text { color: #fff; }
46
+ #station > ul > li > a:active span.text { color: #fff; }
47
+ #station > ul > li.selected > a span.text { color: #fff; }
48
+
49
+ #station > ul > li > a span.icon {
50
+ position: absolute;
51
+ top: 0;
52
+ left: 0;
53
+ display: block;
54
+ width: 50px;
55
+ height: 50px;
56
+
57
+ background-image: url('/assets/caboose/caboose_nav_black.png');
58
+ background-repeat: no-repeat;
59
+ background-position: 0 0;
60
+ }
61
+
62
+ #station > ul > li > a span.icon { background-position: 0px -250px; }
63
+ #station > ul > li#nav_item_users > a span.icon { background-position: 0px 0px; }
64
+ #station > ul > li#nav_item_roles > a span.icon { background-position: 0px -50px; }
65
+ #station > ul > li#nav_item_permissions > a span.icon { background-position: 0px -100px; }
66
+ #station > ul > li#nav_item_pages > a span.icon { background-position: 0px -150px; }
67
+ #station > ul > li#nav_item_settings > a span.icon { background-position: 0px -200px; }
68
+ #station > ul > li#nav_item_star > a span.icon { background-position: 0px -250px; }
69
+
70
+ #station > ul > li > a:hover span.icon { background-position: -50px -250px; }
71
+ #station > ul > li#nav_item_users > a:hover span.icon { background-position: -50px 0px; }
72
+ #station > ul > li#nav_item_roles > a:hover span.icon { background-position: -50px -50px; }
73
+ #station > ul > li#nav_item_permissions > a:hover span.icon { background-position: -50px -100px; }
74
+ #station > ul > li#nav_item_pages > a:hover span.icon { background-position: -50px -150px; }
75
+ #station > ul > li#nav_item_settings > a:hover span.icon { background-position: -50px -200px; }
76
+ #station > ul > li#nav_item_star > a:hover span.icon { background-position: -50px -250px; }
77
+
78
+ #station > ul > li > a:active span.icon { background-position: -150px -250px; }
79
+ #station > ul > li#nav_item_users > a:active span.icon { background-position: -150px 0px; }
80
+ #station > ul > li#nav_item_roles > a:active span.icon { background-position: -150px -50px; }
81
+ #station > ul > li#nav_item_permissions > a:active span.icon { background-position: -150px -100px; }
82
+ #station > ul > li#nav_item_pages > a:active span.icon { background-position: -150px -150px; }
83
+ #station > ul > li#nav_item_settings > a:active span.icon { background-position: -150px -200px; }
84
+ #station > ul > li#nav_item_star > a:active span.icon { background-position: -150px -250px; }
85
+
86
+ #station > ul > li.selected > a span.icon { background-position: -150px -250px; }
87
+ #station > ul > li#nav_item_users.selected > a span.icon { background-position: -150px 0px; }
88
+ #station > ul > li#nav_item_roles.selected > a span.icon { background-position: -150px -50px; }
89
+ #station > ul > li#nav_item_permissions.selected > a span.icon { background-position: -150px -100px; }
90
+ #station > ul > li#nav_item_pages.selected > a span.icon { background-position: -150px -150px; }
91
+ #station > ul > li#nav_item_settings.selected > a span.icon { background-position: -150px -200px; }
92
+ #station > ul > li#nav_item_star.selected > a span.icon { background-position: -150px -250px; }
93
+
94
+ #station ul li ul {
95
+ position: absolute;
96
+ top: 0;
97
+ left: 200px;
98
+ border-left: #333 4px solid;
99
+ }
100
+
101
+ #station ul li ul li { width: 196px; margin: 0; padding: 0; }
102
+ #station ul li ul li a { color: #ccc; background: #000; display: block; margin: 0; padding: 10px 20px; }
103
+ #station ul li ul li a:hover { color: #fff; background: #000; }
104
+ #station ul li ul li a:active { color: #fff; background: #333; }
@@ -0,0 +1,232 @@
1
+
2
+ #caboose_white {
3
+ z-index: 99;
4
+ }
5
+
6
+ #caboose_station_wrapper {
7
+ display: none;
8
+ position: absolute;
9
+ top: 0;
10
+ right: 0;
11
+ z-index: 100;
12
+ width: 210px;
13
+ height: 100%;
14
+ overflow: hidden;
15
+ }
16
+
17
+ #caboose_station {
18
+ width: 208px;
19
+ height: 100%;
20
+ background: #e1e1e1;
21
+ border: #aaa 1px solid;
22
+ font-family: BigNoodleTitling, Tahoma;
23
+ }
24
+
25
+ #caboose_station .caboose_logo {
26
+ height: 100px;
27
+ background-image: url('/assets/caboose/caboose_nav.png');
28
+ background-position: 64px 0;
29
+ margin: 0;
30
+ padding: 0;
31
+ border-bottom: #aaa 1px solid;
32
+ }
33
+
34
+ #caboose_station h2 {
35
+ display: none;
36
+ height: 40px;
37
+ background-image: url('/assets/caboose/caboose_nav.png');
38
+ background-position: 64px 0;
39
+ margin: 0;
40
+ padding: 80px 0 0 0;
41
+ border-bottom: #aaa 1px solid;
42
+
43
+ /* Hide the text. */
44
+ /*
45
+ text-indent: 100%;
46
+ white-space: nowrap;
47
+ overflow: hidden;
48
+ */
49
+ }
50
+
51
+ #caboose_station h2 span {
52
+ display: block;
53
+ color: #941403;
54
+ text-align: center;
55
+ font-size: 20px;
56
+ font-weight: normal;
57
+ background: #e1e1e1;
58
+ height: 40px;
59
+ }
60
+
61
+ #caboose_station ul.account {
62
+ margin: 0;
63
+ padding: 0;
64
+ list-style: none;
65
+ height: 33px;
66
+ }
67
+
68
+ #caboose_station ul.account li {
69
+ margin: 0;
70
+ padding: 0;
71
+ list-style: none;
72
+ float: left;
73
+ border: 0;
74
+ background: #ccc;
75
+ }
76
+
77
+ #caboose_station ul.account li a {
78
+ display: block;
79
+ margin: 0;
80
+ padding: 0;
81
+ height: 33px;
82
+
83
+ /* Hide the text. */
84
+ /*
85
+ text-indent: 100%;
86
+ white-space: nowrap;
87
+ overflow: hidden;
88
+ */
89
+ font-family: BigNoodleTitling, Tahoma;
90
+ font-size: 16px;
91
+ color: #505050;
92
+ background: #aaa;
93
+ text-decoration: none;
94
+ text-align: center;
95
+ border-bottom: #cecece 1px solid;
96
+ }
97
+ #caboose_station ul.account li a span {
98
+ padding-top: 8px;
99
+ }
100
+
101
+ #caboose_station ul.account li.my_account a { width: 103px; border-right: #828181 1px solid; }
102
+ #caboose_station ul.account li.logout a { width: 103px; border-left: #cecece 1px solid; }
103
+
104
+ #caboose_station ul.account li a:hover {
105
+ color: #941403;
106
+ }
107
+
108
+ #caboose_station ul.admin {
109
+ margin: 0;
110
+ padding: 0;
111
+ list-style: none;
112
+ }
113
+
114
+ #caboose_station ul.admin li {
115
+ margin: 0;
116
+ padding: 0;
117
+ list-style: none;
118
+ }
119
+
120
+ #caboose_station ul.admin li ul {
121
+ margin: 0;
122
+ padding: 0;
123
+ list-style: none;
124
+ }
125
+
126
+ #caboose_station ul.admin a {
127
+ display: block !important;
128
+ margin: 1px 0 0 0;
129
+ padding: 8px 10px;
130
+ color: #505050;
131
+ text-decoration: none;
132
+ }
133
+
134
+ #caboose_station ul.admin a:hover {
135
+ color: #941403;
136
+ }
137
+
138
+ #caboose_station ul.admin li a.top_level {
139
+ background-image: url('/assets/caboose/caboose_nav.png');
140
+ background-repeat: no-repeat;
141
+ background-position: 0 0;
142
+
143
+ width: 208px;
144
+ height: 50px;
145
+ margin: 0;
146
+ padding: 0;
147
+ border-top: #f7f7f7 1px solid;
148
+ border-bottom: #aaa 1px solid;
149
+ position: relative;
150
+
151
+ /* Hide the text. */
152
+ /*
153
+ text-indent: 100%;
154
+ white-space: nowrap;
155
+ overflow: hidden;
156
+ */
157
+ font-family: BigNoodleTitling, Tahoma;
158
+ font-size: 16px;
159
+ }
160
+
161
+ #caboose_station ul.admin li a.top_level span {
162
+ display: block !important;
163
+ margin: 0 0 0 60px;
164
+ padding: 16px 0 0 0;
165
+ height: 34px;
166
+ background: #e1e1e1;
167
+ vertical-align: middle;
168
+ font-family: BigNoodleTitling, Tahoma;
169
+ font-size: 16px;
170
+ }
171
+ #caboose_station ul.admin li a.top_level:hover span { color: #941403; }
172
+ #caboose_station ul.admin li a.top_level:active span { color: #941403; }
173
+
174
+ #caboose_station ul.admin li a.top_level { background-position: 0px -350px; }
175
+ #caboose_station ul.admin li#nav_item_users a.top_level { background-position: 0px -100px; }
176
+ #caboose_station ul.admin li#nav_item_roles a.top_level { background-position: 0px -150px; }
177
+ #caboose_station ul.admin li#nav_item_permissions a.top_level { background-position: 0px -200px; }
178
+ #caboose_station ul.admin li#nav_item_pages a.top_level { background-position: 0px -250px; }
179
+ #caboose_station ul.admin li#nav_item_settings a.top_level { background-position: 0px -300px; }
180
+ #caboose_station ul.admin li#nav_item_star a.top_level { background-position: 0px -350px; }
181
+
182
+ #caboose_station ul.admin li a.top_level:hover { background-position: -250px -350px; }
183
+ #caboose_station ul.admin li#nav_item_users a.top_level:hover { background-position: -250px -100px; }
184
+ #caboose_station ul.admin li#nav_item_roles a.top_level:hover { background-position: -250px -150px; }
185
+ #caboose_station ul.admin li#nav_item_permissions a.top_level:hover { background-position: -250px -200px; }
186
+ #caboose_station ul.admin li#nav_item_pages a.top_level:hover { background-position: -250px -250px; }
187
+ #caboose_station ul.admin li#nav_item_settings a.top_level:hover { background-position: -250px -300px; }
188
+ #caboose_station ul.admin li#nav_item_star a.top_level:hover { background-position: -250px -350px; }
189
+
190
+ #caboose_station ul.admin li a.top_level:active { background-position: -500px -350px; }
191
+ #caboose_station ul.admin li#nav_item_users a.top_level:active { background-position: -500px -100px; }
192
+ #caboose_station ul.admin li#nav_item_roles a.top_level:active { background-position: -500px -150px; }
193
+ #caboose_station ul.admin li#nav_item_permissions a.top_level:active { background-position: -500px -200px; }
194
+ #caboose_station ul.admin li#nav_item_pages a.top_level:active { background-position: -500px -250px; }
195
+ #caboose_station ul.admin li#nav_item_settings a.top_level:active { background-position: -500px -300px; }
196
+ #caboose_station ul.admin li#nav_item_star a.top_level:active { background-position: -500px -350px; }
197
+
198
+ #caboose_station_wrapper.state_min a.close,
199
+ #caboose_station_wrapper.state_left a.close,
200
+ #caboose_station_wrapper.state_right a.close {
201
+ display: block;
202
+ background-image: url('/assets/caboose/caboose_nav.png');
203
+ background-repeat: no-repeat;
204
+ background-position: 0 0;
205
+ width: 208px;
206
+ height: 50px;
207
+ font-family: BigNoodleTitling, Tahoma;
208
+ text-decoration: none;
209
+ }
210
+
211
+ #caboose_station_wrapper a.close span {
212
+ display: block;
213
+ margin: 0 0 0 60px;
214
+ padding: 16px 0 0 0;
215
+ height: 34px;
216
+
217
+ font-family: BigNoodleTitling, Tahoma;
218
+ font-size: 16px;
219
+ }
220
+ #caboose_station_wrapper a.close span { background: #e1e1e1; color: #505050; }
221
+ #caboose_station_wrapper a.close:hover span { background: #e1e1e1; color: #941403; }
222
+ #caboose_station_wrapper a.close:active span { background: #d2d2d2; color: #941403; }
223
+
224
+ #caboose_station_wrapper.state_left a.close { background-position: 0px -450px; }
225
+ #caboose_station_wrapper.state_right a.close { background-position: 0px -400px; }
226
+ #caboose_station_wrapper.state_min a.close { background-position: 0px -400px; }
227
+ #caboose_station_wrapper.state_left a.close:hover { background-position: -250px -450px; }
228
+ #caboose_station_wrapper.state_right a.close:hover { background-position: -250px -400px; }
229
+ #caboose_station_wrapper.state_min a.close:hover { background-position: -250px -400px; }
230
+ #caboose_station_wrapper.state_left a.close:active { background-position: -500px -450px; }
231
+ #caboose_station_wrapper.state_right a.close:active { background-position: -500px -400px; }
232
+ #caboose_station_wrapper.state_min a.close:active { background-position: -500px -400px; }