casino 0.0.4 → 1.0.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.
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- casino (0.0.4)
4
+ casino (1.0.0)
5
5
  casino_core (~> 1.2.0)
6
6
  jquery-rails (~> 2.1)
7
7
  rails (~> 3.2.9)
@@ -1,28 +1,274 @@
1
+ @import url(http://fonts.googleapis.com/css?family=Source+Sans+Pro:200,300,600);
2
+ @import "normalize.css";
3
+
4
+
5
+ * {
6
+ box-sizing: border-box;
7
+ }
8
+
1
9
  body {
2
- color: black;
3
- font-family: "lucida grande", arial,sans-serif;
4
- font-size: 0.8em;
10
+ background: #F6F6F5;
11
+ color: #222222;
12
+ font-family: 'Source Sans Pro', sans-serif;
13
+ font-weight: 300;
14
+ font-size: 15px;
5
15
  }
6
16
 
7
- table {
8
- border-collapse: collapse;
17
+ label {
18
+ color: #4d4d4d;
19
+ display: block;
20
+ font-size: 100%;
21
+ margin: 10px 0 5px 0;
22
+ }
23
+
24
+ input[type=text],
25
+ input[type=password] {
26
+ background-color: #fff;
27
+ border: 1px solid #ccc;
28
+ border-radius: 0px;
29
+ -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
30
+ -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
31
+ box-shadow: inset 0 1px 2px rgba(0,0,0,0.1);
32
+ display: block;
33
+ font-size: 120%;
34
+ height: 36px;
35
+ padding: 6px;
36
+ width: 100%;
37
+
38
+ &:focus {
39
+ background: #F5F5F4;
40
+ border-color: #b3b3b3;
41
+ outline: none !important;
42
+ }
43
+ }
44
+
45
+ a.button, input[type=submit] {
46
+ background: #0074ad;
47
+ border: none;
48
+ border: 1px solid #006394;
49
+ color: #fff;
50
+ cursor: pointer;
51
+ display: inline-block;
52
+ font-family: inherit;
53
+ font-size: 100%;
54
+ font-weight: 600;
55
+ line-height: 1;
56
+ margin: 20px 0 10px 0;
57
+ outline: none;
58
+ padding: 10px 20px 11px;
59
+ position: relative;
60
+ text-align: center;
61
+ text-decoration: none;
62
+ -moz-transition: background-color 0.15s ease-in-out;
63
+ -o-transition: background-color 0.15s ease-in-out;
64
+ -webkit-transition: background-color 0.15s ease-in-out;
65
+ transition: background-color 0.15s ease-in-out;
66
+ width: auto;
67
+
68
+ &:active {
69
+ -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2) inset;
70
+ -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2) inset;
71
+ box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2) inset;
72
+ }
73
+
74
+ &:hover {
75
+ color: white;
76
+ background-color: #005F8F;
77
+ }
9
78
 
10
- thead {
11
- border-bottom: 1px dotted #aaa;
79
+ &:active {
80
+ top: 2px;
12
81
  }
82
+ }
83
+
84
+ table {
85
+ border-collapse: collapse;
86
+ font-size: 90%;
13
87
 
14
88
  th, td {
15
89
  text-align: left;
16
90
  padding: 8px;
91
+
92
+ &:first-child {
93
+ padding-left: 0px;
94
+ }
17
95
  }
18
96
 
19
97
  tbody {
20
- tr:nth-child(even) {
21
- background-color: #f4faff;
98
+ tr {
99
+ border-top: 1px solid #e6e6e6;
100
+
101
+ &:last-child {
102
+ border-bottom: 1px solid #e6e6e6;
103
+ }
104
+ }
105
+ }
106
+ }
107
+
108
+ .container {
109
+ width: 100%;
110
+
111
+ .box {
112
+ background: #fff;
113
+ border: 1px solid #e6e6e6;
114
+ margin: auto;
115
+ margin-top: 10%;
116
+ overflow: auto;
117
+ padding: 20px;
118
+ width: 560px;
119
+
120
+ .info {
121
+ width: 100%;
122
+ height: auto;
123
+ background: image-url("logo.png") no-repeat right top;
124
+ }
125
+ }
126
+
127
+
128
+ .login {
129
+ > div {
130
+ height: 241px;
131
+ }
132
+
133
+ #flash_error {
134
+ // position: absolute;
135
+ margin-top: -10px;
136
+ background-color: #ffebeb;
137
+ border: 1px solid #FFD6D6;
138
+ padding: 0 5px;
139
+ width: 100%;
140
+ height: 28px;
141
+ line-height: 28px;
142
+ font-weight: 400;
143
+ }
144
+
145
+ .logo {
146
+ background: image-url("logo.png") no-repeat 15px 50%;
147
+ float: left;
148
+ padding: 0 15px;
149
+ width: 45%;
150
+
151
+ img {
152
+ visibility: hidden;
153
+ }
154
+ }
155
+
156
+ .form {
157
+ border-left: 1px solid #eee;
158
+ float: left;
159
+ padding: 15px;
160
+ width: 55%;
161
+ }
162
+ }
163
+
164
+ .sessions {
165
+ width: 800px;
166
+
167
+ a.button {
168
+ margin-top: 0;
169
+ }
170
+
171
+ h3 {
172
+ margin: 40px 0 5px;
173
+ }
174
+
175
+ table.tickets {
176
+ margin-bottom: 10px;
177
+ }
178
+ }
179
+ }
180
+
181
+ footer {
182
+ color: #949494;
183
+ text-align: center;
184
+ padding-top: 10px;
185
+ font-size: 80%;
186
+ font-weight: 200;
187
+ }
188
+
189
+ @media only screen and (max-width: 600px) {
190
+ .container {
191
+ padding-top: 0;
192
+
193
+ .box {
194
+ width: 100%;
195
+ }
196
+
197
+ .login {
198
+ > div {
199
+ height: auto;
200
+ }
201
+
202
+ .logo {
203
+ float: none;
204
+ width: 100%;
205
+ padding: 0px 15px;
206
+ background-position: 15px 0;
207
+ }
208
+
209
+ .form {
210
+ border-left: none;
211
+ width: 100%;
212
+ padding-bottom: 0;
213
+ }
214
+ }
215
+ }
216
+ }
217
+
218
+
219
+ @media only screen and (max-width: 800px) {
220
+ .container {
221
+ .sessions {
222
+ width: 100%;
223
+ margin-top: 10px;
224
+ }
225
+
226
+ table, thead, tbody, th, td, tr {
227
+ display: block;
228
+ }
229
+
230
+ thead tr {
231
+ display: none;
232
+ }
233
+
234
+ tr {
235
+ border: none;
236
+ margin-bottom: 10px;
237
+ border-bottom: 1px solid #e2e2e2;
238
+
239
+ &:last-child {
240
+ border-bottom: none;
241
+
242
+ td:last-child {
243
+ padding-bottom: 0;
244
+ }
245
+ }
246
+
247
+ }
248
+
249
+ td {
250
+ border: none;
251
+ position: relative;
252
+ padding-left: 50%;
253
+
254
+ &:first-child {
255
+ padding-left: 50%;
256
+ }
257
+
258
+ &:last-child {
259
+ padding-bottom: 19px;
260
+ }
22
261
  }
23
262
 
24
- tr.highlighted {
25
- background-color: #fef4ca;
263
+ td:before {
264
+ position: absolute;
265
+ top: 6px;
266
+ left: 0;
267
+ width: 45%;
268
+ padding-right: 10px;
269
+ white-space: nowrap;
270
+ font-weight: bold;
271
+ content: attr(data-label);
26
272
  }
27
273
  }
28
274
  }
@@ -0,0 +1,396 @@
1
+ /*! normalize.css v2.1.0 | MIT License | git.io/normalize */
2
+
3
+ /* ==========================================================================
4
+ HTML5 display definitions
5
+ ========================================================================== */
6
+
7
+ /**
8
+ * Correct `block` display not defined in IE 8/9.
9
+ */
10
+
11
+ article,
12
+ aside,
13
+ details,
14
+ figcaption,
15
+ figure,
16
+ footer,
17
+ header,
18
+ hgroup,
19
+ main,
20
+ nav,
21
+ section,
22
+ summary {
23
+ display: block;
24
+ }
25
+
26
+ /**
27
+ * Correct `inline-block` display not defined in IE 8/9.
28
+ */
29
+
30
+ audio,
31
+ canvas,
32
+ video {
33
+ display: inline-block;
34
+ }
35
+
36
+ /**
37
+ * Prevent modern browsers from displaying `audio` without controls.
38
+ * Remove excess height in iOS 5 devices.
39
+ */
40
+
41
+ audio:not([controls]) {
42
+ display: none;
43
+ height: 0;
44
+ }
45
+
46
+ /**
47
+ * Address styling not present in IE 8/9.
48
+ */
49
+
50
+ [hidden] {
51
+ display: none;
52
+ }
53
+
54
+ /* ==========================================================================
55
+ Base
56
+ ========================================================================== */
57
+
58
+ /**
59
+ * 1. Set default font family to sans-serif.
60
+ * 2. Prevent iOS text size adjust after orientation change, without disabling
61
+ * user zoom.
62
+ */
63
+
64
+ html {
65
+ font-family: sans-serif; /* 1 */
66
+ -webkit-text-size-adjust: 100%; /* 2 */
67
+ -ms-text-size-adjust: 100%; /* 2 */
68
+ }
69
+
70
+ /**
71
+ * Remove default margin.
72
+ */
73
+
74
+ body {
75
+ margin: 0;
76
+ }
77
+
78
+ /* ==========================================================================
79
+ Links
80
+ ========================================================================== */
81
+
82
+ /**
83
+ * Address `outline` inconsistency between Chrome and other browsers.
84
+ */
85
+
86
+ a:focus {
87
+ outline: thin dotted;
88
+ }
89
+
90
+ /**
91
+ * Improve readability when focused and also mouse hovered in all browsers.
92
+ */
93
+
94
+ a:active,
95
+ a:hover {
96
+ outline: 0;
97
+ }
98
+
99
+ /* ==========================================================================
100
+ Typography
101
+ ========================================================================== */
102
+
103
+ /**
104
+ * Address variable `h1` font-size and margin within `section` and `article`
105
+ * contexts in Firefox 4+, Safari 5, and Chrome.
106
+ */
107
+
108
+ h1 {
109
+ font-size: 2em;
110
+ margin: 0.67em 0;
111
+ }
112
+
113
+ /**
114
+ * Address styling not present in IE 8/9, Safari 5, and Chrome.
115
+ */
116
+
117
+ abbr[title] {
118
+ border-bottom: 1px dotted;
119
+ }
120
+
121
+ /**
122
+ * Address style set to `bolder` in Firefox 4+, Safari 5, and Chrome.
123
+ */
124
+
125
+ b,
126
+ strong {
127
+ font-weight: bold;
128
+ }
129
+
130
+ /**
131
+ * Address styling not present in Safari 5 and Chrome.
132
+ */
133
+
134
+ dfn {
135
+ font-style: italic;
136
+ }
137
+
138
+ /**
139
+ * Address differences between Firefox and other browsers.
140
+ */
141
+
142
+ hr {
143
+ -moz-box-sizing: content-box;
144
+ box-sizing: content-box;
145
+ height: 0;
146
+ }
147
+
148
+ /**
149
+ * Address styling not present in IE 8/9.
150
+ */
151
+
152
+ mark {
153
+ background: #ff0;
154
+ color: #000;
155
+ }
156
+
157
+ /**
158
+ * Correct font family set oddly in Safari 5 and Chrome.
159
+ */
160
+
161
+ code,
162
+ kbd,
163
+ pre,
164
+ samp {
165
+ font-family: monospace, serif;
166
+ font-size: 1em;
167
+ }
168
+
169
+ /**
170
+ * Improve readability of pre-formatted text in all browsers.
171
+ */
172
+
173
+ pre {
174
+ white-space: pre-wrap;
175
+ }
176
+
177
+ /**
178
+ * Set consistent quote types.
179
+ */
180
+
181
+ q {
182
+ quotes: "\201C" "\201D" "\2018" "\2019";
183
+ }
184
+
185
+ /**
186
+ * Address inconsistent and variable font size in all browsers.
187
+ */
188
+
189
+ small {
190
+ font-size: 80%;
191
+ }
192
+
193
+ /**
194
+ * Prevent `sub` and `sup` affecting `line-height` in all browsers.
195
+ */
196
+
197
+ sub,
198
+ sup {
199
+ font-size: 75%;
200
+ line-height: 0;
201
+ position: relative;
202
+ vertical-align: baseline;
203
+ }
204
+
205
+ sup {
206
+ top: -0.5em;
207
+ }
208
+
209
+ sub {
210
+ bottom: -0.25em;
211
+ }
212
+
213
+ /* ==========================================================================
214
+ Embedded content
215
+ ========================================================================== */
216
+
217
+ /**
218
+ * Remove border when inside `a` element in IE 8/9.
219
+ */
220
+
221
+ img {
222
+ border: 0;
223
+ }
224
+
225
+ /**
226
+ * Correct overflow displayed oddly in IE 9.
227
+ */
228
+
229
+ svg:not(:root) {
230
+ overflow: hidden;
231
+ }
232
+
233
+ /* ==========================================================================
234
+ Figures
235
+ ========================================================================== */
236
+
237
+ /**
238
+ * Address margin not present in IE 8/9 and Safari 5.
239
+ */
240
+
241
+ figure {
242
+ margin: 0;
243
+ }
244
+
245
+ /* ==========================================================================
246
+ Forms
247
+ ========================================================================== */
248
+
249
+ /**
250
+ * Define consistent border, margin, and padding.
251
+ */
252
+
253
+ fieldset {
254
+ border: 1px solid #c0c0c0;
255
+ margin: 0 2px;
256
+ padding: 0.35em 0.625em 0.75em;
257
+ }
258
+
259
+ /**
260
+ * 1. Correct `color` not being inherited in IE 8/9.
261
+ * 2. Remove padding so people aren't caught out if they zero out fieldsets.
262
+ */
263
+
264
+ legend {
265
+ border: 0; /* 1 */
266
+ padding: 0; /* 2 */
267
+ }
268
+
269
+ /**
270
+ * 1. Correct font family not being inherited in all browsers.
271
+ * 2. Correct font size not being inherited in all browsers.
272
+ * 3. Address margins set differently in Firefox 4+, Safari 5, and Chrome.
273
+ */
274
+
275
+ button,
276
+ input,
277
+ select,
278
+ textarea {
279
+ font-family: inherit; /* 1 */
280
+ font-size: 100%; /* 2 */
281
+ margin: 0; /* 3 */
282
+ }
283
+
284
+ /**
285
+ * Address Firefox 4+ setting `line-height` on `input` using `!important` in
286
+ * the UA stylesheet.
287
+ */
288
+
289
+ button,
290
+ input {
291
+ line-height: normal;
292
+ }
293
+
294
+ /**
295
+ * Address inconsistent `text-transform` inheritance for `button` and `select`.
296
+ * All other form control elements do not inherit `text-transform` values.
297
+ * Correct `button` style inheritance in Chrome, Safari 5+, and IE 8+.
298
+ * Correct `select` style inheritance in Firefox 4+ and Opera.
299
+ */
300
+
301
+ button,
302
+ select {
303
+ text-transform: none;
304
+ }
305
+
306
+ /**
307
+ * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
308
+ * and `video` controls.
309
+ * 2. Correct inability to style clickable `input` types in iOS.
310
+ * 3. Improve usability and consistency of cursor style between image-type
311
+ * `input` and others.
312
+ */
313
+
314
+ button,
315
+ html input[type="button"], /* 1 */
316
+ input[type="reset"],
317
+ input[type="submit"] {
318
+ -webkit-appearance: button; /* 2 */
319
+ cursor: pointer; /* 3 */
320
+ }
321
+
322
+ /**
323
+ * Re-set default cursor for disabled elements.
324
+ */
325
+
326
+ button[disabled],
327
+ html input[disabled] {
328
+ cursor: default;
329
+ }
330
+
331
+ /**
332
+ * 1. Address box sizing set to `content-box` in IE 8/9.
333
+ * 2. Remove excess padding in IE 8/9.
334
+ */
335
+
336
+ input[type="checkbox"],
337
+ input[type="radio"] {
338
+ box-sizing: border-box; /* 1 */
339
+ padding: 0; /* 2 */
340
+ }
341
+
342
+ /**
343
+ * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
344
+ * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
345
+ * (include `-moz` to future-proof).
346
+ */
347
+
348
+ input[type="search"] {
349
+ -webkit-appearance: textfield; /* 1 */
350
+ -moz-box-sizing: content-box;
351
+ -webkit-box-sizing: content-box; /* 2 */
352
+ box-sizing: content-box;
353
+ }
354
+
355
+ /**
356
+ * Remove inner padding and search cancel button in Safari 5 and Chrome
357
+ * on OS X.
358
+ */
359
+
360
+ input[type="search"]::-webkit-search-cancel-button,
361
+ input[type="search"]::-webkit-search-decoration {
362
+ -webkit-appearance: none;
363
+ }
364
+
365
+ /**
366
+ * Remove inner padding and border in Firefox 4+.
367
+ */
368
+
369
+ button::-moz-focus-inner,
370
+ input::-moz-focus-inner {
371
+ border: 0;
372
+ padding: 0;
373
+ }
374
+
375
+ /**
376
+ * 1. Remove default vertical scrollbar in IE 8/9.
377
+ * 2. Improve readability and alignment in all browsers.
378
+ */
379
+
380
+ textarea {
381
+ overflow: auto; /* 1 */
382
+ vertical-align: top; /* 2 */
383
+ }
384
+
385
+ /* ==========================================================================
386
+ Tables
387
+ ========================================================================== */
388
+
389
+ /**
390
+ * Remove most spacing between table cells.
391
+ */
392
+
393
+ table {
394
+ border-collapse: collapse;
395
+ border-spacing: 0;
396
+ }
@@ -0,0 +1,3 @@
1
+ <footer>
2
+ Powered by CASino
3
+ </footer>
@@ -1,43 +1,50 @@
1
- <h1>Welcome</h1>
2
- <p>
3
- You are currently logged in as <strong><%= @ticket_granting_tickets[0].user.username %></strong>.
4
- <%= link_to 'Logout', logout_path %>
5
- </p>
6
- <h2>Sessions</h2>
7
- <p>
8
- These are the web browsers currently logged in:
9
- </p>
10
- <table width="100%" class="tickets">
11
- <thead>
12
- <tr>
13
- <th>Browser</th>
14
- <th>Services</th>
15
- <th>Most recent activity</th>
16
- <th width="180">&nbsp;</th>
17
- </tr>
18
- </thead>
19
- <tbody>
20
- <% @ticket_granting_tickets.each do |ticket_granting_ticket| %>
21
- <tr class="<%= 'highlighted' if current_ticket_granting_ticket?(ticket_granting_ticket) %>">
22
- <td>
23
- <span title="<%= ticket_granting_ticket.user_agent %>">
24
- <%= ticket_granting_ticket.browser_info %>
25
- </span>
26
- </td>
27
- <td>
28
- <%= ticket_granting_ticket.service_tickets.size %>
29
- </td>
30
- <td>
31
- <%= distance_of_time_in_words_to_now(ticket_granting_ticket.updated_at) %> ago
32
- </td>
33
- <td>
34
- <% if current_ticket_granting_ticket?(ticket_granting_ticket) %>
35
- <strong>Current session</strong>
36
- <% else %>
37
- <%= link_to 'End session', session_path(ticket_granting_ticket.id), method: :delete %>
1
+ <div class="container">
2
+ <div class="sessions box">
3
+
4
+ <div class="info">
5
+ <h1><%= t('sessions.title') %></h1>
6
+ <p>
7
+ <%= raw t('sessions.currently_logged_in_as', :username => @ticket_granting_tickets[0].user.username) %>
8
+ </p>
9
+
10
+ <%= link_to t('sessions.label_logout_button'), logout_path, :class => 'button' %>
11
+
12
+ <h3><%= t('sessions.your_active_sessions') %></h3>
13
+ <table width="100%" class="tickets">
14
+ <thead>
15
+ <tr>
16
+ <th><%= t('sessions.table.column_browser') %></th>
17
+ <th><%= t('sessions.table.column_services') %></th>
18
+ <th><%= t('sessions.table.column_activity') %></th>
19
+ <th width="180">&nbsp;</th>
20
+ </tr>
21
+ </thead>
22
+ <tbody>
23
+ <% @ticket_granting_tickets.each do |ticket_granting_ticket| %>
24
+ <tr class="<%= 'highlighted' if current_ticket_granting_ticket?(ticket_granting_ticket) %>">
25
+ <td data-label="<%= t('sessions.table.column_browser') %>">
26
+ <span title="<%= ticket_granting_ticket.user_agent %>">
27
+ <%= ticket_granting_ticket.browser_info %>
28
+ </span>
29
+ </td>
30
+ <td data-label="<%= t('sessions.table.column_services') %>">
31
+ <%= ticket_granting_ticket.service_tickets.size %>
32
+ </td>
33
+ <td data-label="<%= t('sessions.table.column_activity') %>">
34
+ <%= distance_of_time_in_words_to_now(ticket_granting_ticket.updated_at) %> ago
35
+ </td>
36
+ <td>
37
+ <% if current_ticket_granting_ticket?(ticket_granting_ticket) %>
38
+ <strong><%= t('sessions.current_session') %></strong>
39
+ <% else %>
40
+ <%= link_to t('sessions.end_session'), session_path(ticket_granting_ticket.id), method: :delete %>
41
+ <% end %>
42
+ </td>
43
+ </tr>
38
44
  <% end %>
39
- </td>
40
- </tr>
41
- <% end %>
42
- </tbody>
43
- </table>
45
+ </tbody>
46
+ </table>
47
+ </div>
48
+ </div>
49
+ <%= render 'footer' %>
50
+ </div>
@@ -1,8 +1,16 @@
1
- <h1>Logged out</h1>
2
- <p>
3
- <% if @url.nil? %>
4
- <%= t('logout.logged_out_without_url') %>
5
- <% else %>
6
- <%= t('logout.logged_out_with_url') %> <a href="<%= @url %>"><%= @url %></a>
7
- <% end %>
8
- </p>
1
+ <div class="container">
2
+ <div class="logout box">
3
+
4
+ <div class="info">
5
+ <h1><%= t('logout.title') %></h1>
6
+ <p>
7
+ <% if @url.nil? %>
8
+ <%= t('logout.logged_out_without_url') %>
9
+ <% else %>
10
+ <%= t('logout.logged_out_with_url') %> <a href="<%= @url %>"><%= @url %></a>
11
+ <% end %>
12
+ </p>
13
+ </div>
14
+ </div>
15
+ <%= render 'footer' %>
16
+ </div>
@@ -1,12 +1,25 @@
1
- <h1>Login</h1>
2
- <%= form_tag(login_path, method: :post, id: 'login-form') do %>
3
- <%= hidden_field_tag :lt, @login_ticket.ticket %>
4
- <%= hidden_field_tag :service, params[:service] unless params[:service].nil? %>
5
- <dl>
6
- <dt><%= label_tag :username %></dt>
7
- <dd><%= text_field_tag :username, params[:username] %></dd>
8
- <dt><%= label_tag :password %></dt>
9
- <dd><%= password_field_tag :password %></dd>
10
- </dl>
11
- <%= submit_tag "Login" %>
12
- <% end %>
1
+ <div class="container">
2
+ <div class="login box">
3
+ <% flash.each do |name, msg| %>
4
+ <% if msg.is_a?(String) %>
5
+ <%= content_tag :div, msg, :id => "flash_#{name}" %>
6
+ <% end %>
7
+ <% end %>
8
+ <div class="logo">
9
+ <%= image_tag "logo.png" %>
10
+ </div>
11
+
12
+ <div class="form">
13
+ <%= form_tag(login_path, method: :post, id: 'login-form') do %>
14
+ <%= hidden_field_tag :lt, @login_ticket.ticket %>
15
+ <%= hidden_field_tag :service, params[:service] unless params[:service].nil? %>
16
+ <%= label_tag :username, t('login.label_username') %>
17
+ <%= text_field_tag :username, params[:username] %>
18
+ <%= label_tag :password, t('login.label_password') %>
19
+ <%= password_field_tag :password %>
20
+ <%= submit_tag t('login.label_button') %>
21
+ <% end %>
22
+ </div>
23
+ </div>
24
+ <%= render 'footer' %>
25
+ </div>
@@ -7,12 +7,8 @@
7
7
  <%= csrf_meta_tags %>
8
8
  </head>
9
9
  <body>
10
- <% flash.each do |name, msg| %>
11
- <% if msg.is_a?(String) %>
12
- <%= content_tag :div, msg, :id => "flash_#{name}" %>
13
- <% end %>
14
- <% end %>
15
- <%= yield %>
10
+
11
+ <%= yield %>
16
12
 
17
13
  </body>
18
14
  </html>
data/casino.gemspec CHANGED
@@ -5,8 +5,8 @@ require 'casino/version'
5
5
  Gem::Specification.new do |s|
6
6
  s.name = 'casino'
7
7
  s.version = CASino::VERSION
8
- s.authors = ['Nils Caspar']
9
- s.email = ['ncaspar@me.com']
8
+ s.authors = ['Nils Caspar', 'Raffael Schmid', 'Samuel Sieg']
9
+ s.email = ['ncaspar@me.com', 'raffael@yux.ch', 'samuel.sieg@me.com']
10
10
  s.homepage = 'http://rbcas.org/'
11
11
  s.license = 'MIT'
12
12
  s.summary = 'A simple CAS server written in Ruby using the Rails framework.'
@@ -17,9 +17,6 @@ Gem::Specification.new do |s|
17
17
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
18
18
  s.require_paths = ['lib']
19
19
 
20
- s.signing_key = File.expand_path '~/.gem/casino-private_key.pem'
21
- s.cert_chain = ['casino-public_cert.pem']
22
-
23
20
  s.add_development_dependency 'rake', '~> 10.0'
24
21
  s.add_development_dependency 'rspec', '~> 2.12'
25
22
  s.add_development_dependency 'rspec-rails', '~> 2.0'
@@ -5,6 +5,22 @@ en:
5
5
  login_credential_acceptor:
6
6
  invalid_login_ticket: "Your login request did not include a valid login ticket."
7
7
  invalid_login_credentials: "Incorrect username or password."
8
+ login:
9
+ label_username: "Username"
10
+ label_password: "Password"
11
+ label_button: "Login"
8
12
  logout:
13
+ title: "Bye."
9
14
  logged_out_without_url: "You have successfully logged out."
10
15
  logged_out_with_url: "The application you just logged out of has provided a link it would like you to follow:"
16
+ sessions:
17
+ title: "Hello!"
18
+ currently_logged_in_as: "You are currently logged in as <strong>%{username}</strong>."
19
+ label_logout_button: "Logout"
20
+ your_active_sessions: "Your Active Sessions"
21
+ table:
22
+ column_browser: "Browser"
23
+ column_services: "Services"
24
+ column_activity: "Most recent activity"
25
+ current_session: "Current session"
26
+ end_session: "End session"
@@ -1,3 +1,3 @@
1
1
  module CASino
2
- VERSION = '0.0.4'
2
+ VERSION = '1.0.0'
3
3
  end
metadata CHANGED
@@ -1,42 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: casino
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 1.0.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Nils Caspar
9
+ - Raffael Schmid
10
+ - Samuel Sieg
9
11
  autorequire:
10
12
  bindir: bin
11
- cert_chain:
12
- - !binary |-
13
- LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURLakNDQWhLZ0F3SUJB
14
- Z0lCQURBTkJna3Foa2lHOXcwQkFRVUZBREE3TVEwd0N3WURWUVFEREFScGJt
15
- WnYKTVJVd0V3WUtDWkltaVpQeUxHUUJHUllGY21KallYTXhFekFSQmdvSmtp
16
- YUprL0lzWkFFWkZnTmpiMjB3SGhjTgpNVE13TWpBeU1qSXlOakkyV2hjTk1U
17
- UXdNakF5TWpJeU5qSTJXakE3TVEwd0N3WURWUVFEREFScGJtWnZNUlV3CkV3
18
- WUtDWkltaVpQeUxHUUJHUllGY21KallYTXhFekFSQmdvSmtpYUprL0lzWkFF
19
- WkZnTmpiMjB3Z2dFaU1BMEcKQ1NxR1NJYjNEUUVCQVFVQUE0SUJEd0F3Z2dF
20
- S0FvSUJBUURiZG1OeTRoZU5SZUc4TFhCMm5ha3JwQXJrcVd2dwpqVm54WE1M
21
- UzZUNXFlYmZMV2FsMVBSb1BIemJoUkdtQTN1Q1lZWXVWdVh2NlYxVm1DdG5N
22
- MG1qM1lnTjZoNjFECkQrV25oMUtUOHNVWWhSQjM2TU50bWllclMxRWNNeXZS
23
- dWpYUkxrNngwNkFiejliSmFkeUVXN0RTNFZrcEN6OW4KZjlNRW5IcUlseVFC
24
- UFAzekhzRHlNclRySUJ1dkRXUHIrYUFNS3FJWExqcVdlcDFFYmQvL3BwTmNT
25
- aVZGODdzKwplMEphRmU3LzFhbHhJUEdPYWsvY0dFdm9tNDJUTEdkUEt5dTBY
26
- amsybi9jV1RBbEJzaEZQT1FTM2hrczZSaDhzClZ6d2owTFF2VTByaFhKV0hO
27
- YjZXdWpLaml3c3Z6U1RsR3lkTndJRU5wckpJQVFKc2FJWDNSUUluQWdNQkFB
28
- R2oKT1RBM01Ba0dBMVVkRXdRQ01BQXdIUVlEVlIwT0JCWUVGS3lML1V6R1U4
29
- SVpuZU9qcjczWFBDTFpKN1F1TUFzRwpBMVVkRHdRRUF3SUVzREFOQmdrcWhr
30
- aUc5dzBCQVFVRkFBT0NBUUVBVUsrZnVraS9nVWhJbEpxTTI0TkNzL3kzClNv
31
- cUNHUDB6K2M1ZytCTXUzc2MzeElOL21IK0hZbFBhRWE2V2o0YndtU1ZnVGhh
32
- WjU0T3NtUnlaSUsxVm9BeW0KVDR6T3FDd3QwdHdUMmF6MVA2WFRoVk1FZWJM
33
- alpEYnVRL29RelUvZkE2RFlxam5mbVlOdGdwNXFZWDZDS05Kegp3M1lSS3JL
34
- Mlg2cVlZSGNISS9LTDV3YzFET24rVU5VNGVmbVAwVlZkNVVOZlI0MElCTE50
35
- eFg5Nlg5WVRYT0hFCndRc0xpK0xqbnorVWFPUmsxZHhabGNYWUdjMzR3Rmcx
36
- b1VSdnUwRzgvWXlIVUFtSVUvV0tyanIxYmdjZjFWUnYKUjRLRDFNblVWL3Y1
37
- MDJwaU1sWG1qeE9XZGJLOHl2UUVIa3N1L3pqYkNqU3UrTTJrd0ZtV0dzeDVu
38
- eCtWZHc9PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
39
- date: 2013-02-02 00:00:00.000000000 Z
13
+ cert_chain: []
14
+ date: 2013-02-08 00:00:00.000000000 Z
40
15
  dependencies:
41
16
  - !ruby/object:Gem::Dependency
42
17
  name: rake
@@ -170,6 +145,8 @@ description: CASino is a simple CAS (Central Authentication Service) server usin
170
145
  CASinoCore as its backend.
171
146
  email:
172
147
  - ncaspar@me.com
148
+ - raffael@yux.ch
149
+ - samuel.sieg@me.com
173
150
  executables: []
174
151
  extensions: []
175
152
  extra_rdoc_files: []
@@ -188,6 +165,7 @@ files:
188
165
  - app/assets/javascripts/casino/index.js
189
166
  - app/assets/javascripts/casino/sessions.js.coffee
190
167
  - app/assets/stylesheets/casino/index.css.scss
168
+ - app/assets/stylesheets/casino/normalize.css
191
169
  - app/controllers/casino/api/v1/tickets_controller.rb
192
170
  - app/controllers/casino/application_controller.rb
193
171
  - app/controllers/casino/proxy_tickets_controller.rb
@@ -197,6 +175,7 @@ files:
197
175
  - app/helpers/casino/sessions_helper.rb
198
176
  - app/helpers/service_tickets_helper.rb
199
177
  - app/views/casino/service_tickets/validate.text.erb
178
+ - app/views/casino/sessions/_footer.html.erb
200
179
  - app/views/casino/sessions/index.html.erb
201
180
  - app/views/casino/sessions/logout.html.erb
202
181
  - app/views/casino/sessions/new.html.erb
@@ -304,18 +283,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
304
283
  - - ! '>='
305
284
  - !ruby/object:Gem::Version
306
285
  version: '0'
307
- segments:
308
- - 0
309
- hash: 3571594185362873131
310
286
  required_rubygems_version: !ruby/object:Gem::Requirement
311
287
  none: false
312
288
  requirements:
313
289
  - - ! '>='
314
290
  - !ruby/object:Gem::Version
315
291
  version: '0'
316
- segments:
317
- - 0
318
- hash: 3571594185362873131
319
292
  requirements: []
320
293
  rubyforge_project:
321
294
  rubygems_version: 1.8.24
data.tar.gz.sig DELETED
Binary file
metadata.gz.sig DELETED
@@ -1,2 +0,0 @@
1
- #�(V*_#߲�_]qz�_�I�w�`��8X�>-J#���Y���8濹��2��%�P��U��.�������~
2
- h�5����ma�&�>��m��p�XA ����D�^Y�