casino 0.0.4 → 1.0.0

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