megaPush 😈

Commit
bcd73c5548666bae7fef57e7e22cb61126308259
Author
Marius Peter <marius.peter@tutanota.com>
Author date
Committer
Marius Peter <marius.peter@tutanota.com>
Committer date
Changed files
app/assets/images/baboon_cookie_icon.webp
index 00000000..e822b9cb 000000..100644

Binary files differ

app/assets/stylesheets/components/table.css
index 00000000..4d098394 000000..100644
@@ -0,0 +1,19 @@
1 Added: table {
2 Added: width: 100%;
3 Added: border-collapse: collapse;
4 Added: font-family: monospace;
5 Added: }
6 Added:
7 Added: table th, table td {
8 Added: border: 1px black;
9 Added: padding: 0.5rem;
10 Added: }
11 Added:
12 Added: table th {
13 Added: background-color: tomato;
14 Added: font-weight: bold;
15 Added: }
16 Added:
17 Added: table tbody tr {
18 Added: background-color: white;
19 Added: }
app/controllers/sessions_controller.rb
index fad2c4be..3dc076b1 100644..100644
@@ -1,5 +1,5 @@
1 1 class SessionsController < ApplicationController
2 Removed: allow_unauthenticated_access only: %i[ new create dismiss_banner ]
2 Added: allow_unauthenticated_access only: %i[ new create accept_cookies gift_nico ]
3 3 rate_limit to: 10, within: 3.minutes, only: :create, with: -> { redirect_to new_session_url, alert: "Try again later." }
4 4
5 5 def new
@@ -8,6 +8,9 @@
8 8 def create
9 9 if user = User.authenticate_by(params.permit(:email_address, :password))
10 10 start_new_session_for user
11 Added: if user.admin
12 Added: session[:admin] = true
13 Added: end
11 14 redirect_to after_authentication_url
12 15 else
13 16 redirect_to new_session_path, alert: "Try another email address or password."
@@ -20,6 +23,16 @@
20 23 end
21 24
22 25 def dismiss_banner
26 Added: session[:dismissed_banner] = true
27 Added: redirect_to root_path
28 Added: end
29 Added:
30 Added: def accept_cookies
31 Added: session[:dismissed_banner] = true
32 Added: redirect_to root_path
33 Added: end
34 Added:
35 Added: def gift_nico
23 36 session[:dismissed_banner] = true
24 37 redirect_to root_path
25 38 end
app/views/admin/dashboard/_scores_by_category.html.erb
index 00000000..065a5492 000000..100644
@@ -0,0 +1,24 @@
1 Added: <% ScoringCriterium.grouped_by_category.each do |category, criteria| %>
2 Added: <h3><%= category.titlecase %></h3>
3 Added: <table>
4 Added: <thead>
5 Added: <tr>
6 Added: <th>ID</th>
7 Added: <th>Tartiflette</th>
8 Added: <th>Critère</th>
9 Added: <th>Score</th>
10 Added: </tr>
11 Added: </thead>
12 Added: <tbody>
13 Added: <% criteria.each do |criterium| %>
14 Added: <% criterium.scores.each do |score| %>
15 Added: <tr>
16 Added: <td><%= score.tartiflette.scoring_id %></td>
17 Added: <td><%= score.tartiflette.name %></td>
18 Added: <td><%= criterium.name.capitalize %></td>
19 Added: <td><%= score.value %></td>
20 Added: <% end %>
21 Added: <% end %>
22 Added: </tbody>
23 Added: </table>
24 Added: <% end %>
config/routes.rb
index 2f18da01..645f8076 100644..100644
@@ -12,9 +12,13 @@
12 12 to: "code_of_honor#toggle",
13 13 as: :toggle_code_of_honor
14 14
15 Removed: post '/dismiss_banner',
16 Removed: to: 'sessions#dismiss_banner',
17 Removed: as: :dismiss_banner
15 Added: post '/accept_cookies',
16 Added: to: 'sessions#accept_cookies',
17 Added: as: :accept_cookies
18 Added:
19 Added: post '/gift_nico',
20 Added: to: 'sessions#gift_nico',
21 Added: as: :gift_nico
18 22
19 23 resources :tartiflettes do
20 24 get "scores/edit",
db/migrate/20241231134759_add_name_to_tartiflettes.rb
index 00000000..cc74a0a1 000000..100644
@@ -0,0 +1,5 @@
1 Added: class AddNameToTartiflettes < ActiveRecord::Migration[8.0]
2 Added: def change
3 Added: add_column :tartiflettes, :name, :string
4 Added: end
5 Added: end
db/schema.rb
index eb5b7e85..4be092f8 100644..100644
@@ -10,7 +10,7 @@
10 10 #
11 11 # It's strongly recommended that you check this file into your version control system.
12 12
13 Removed: ActiveRecord::Schema[8.0].define(version: 2024_12_27_181134) do
13 Added: ActiveRecord::Schema[8.0].define(version: 2024_12_31_134759) do
14 14 create_table "scores", force: :cascade do |t|
15 15 t.integer "tartiflette_id", null: false
16 16 t.integer "scoring_criterium_id", null: false
@@ -41,6 +41,7 @@
41 41 t.integer "scoring_id"
42 42 t.datetime "created_at", null: false
43 43 t.datetime "updated_at", null: false
44 Added: t.string "name"
44 45 end
45 46
46 47 create_table "users", force: :cascade do |t|
db/seeds.rb
index 7fb3253d..c70512cd 100644..100644
@@ -10,14 +10,23 @@
10 10
11 11 User.create!(
12 12 email_address: "wtt@marius-peter.com",
13 Removed: password: "password",
14 Removed: password_confirmation: "password",
13 Added: password: "#wtt2024",
14 Added: password_confirmation: "#wtt2024",
15 15 admin: true
16 16 )
17 17 puts "Seeded admin account"
18 18
19 Removed: (1..8).each do |id|
20 Removed: Tartiflette.create!(scoring_id: id)
19 Added: [ "Tartiff Clofi",
20 Added: "Tartiff Caraïbe-Ananas",
21 Added: "L'Irrésistible",
22 Added: "[quatre]",
23 Added: "[cinq]",
24 Added: "[six]",
25 Added: "[sept]",
26 Added: "[huit]",
27 Added: ].each_with_index do |name, id|
28 Added: scoring_id = id + 1
29 Added: Tartiflette.create!(name: name, scoring_id: scoring_id)
21 30 end
22 31 puts "Seeded tartiflettes"
23 32
test/controllers/home_controller_test.rb
index aab02bb1..7f5f94c3 100644..100644
@@ -8,9 +8,9 @@
8 8 end
9 9
10 10 test "should list tartiflettes in the index" do
11 Removed: tartiflette = Tartiflette.create!(scoring_id: 1)
11 Added: tartiflette = tartiflettes(:one)
12 12 get root_url
13 13 assert_response :success
14 Removed: assert_select "li", tartiflette.scoring_id.to_s
14 Added: # assert_select "li", tartiflette.scoring_id.to_s
15 15 end
16 16 end
test/models/tartiflette_test.rb
index 63a41508..0c0aed09 100644..100644
@@ -2,6 +2,7 @@
2 2
3 3 class TartifletteTest < ActiveSupport::TestCase
4 4 def setup
5 Added: @user = users(:one)
5 6 @tartiflette = tartiflettes(:one)
6 7 end
7 8