summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/sessions.coffee3
-rw-r--r--app/assets/stylesheets/sessions.scss3
-rw-r--r--app/controllers/sessions_controller.rb17
-rw-r--r--app/helpers/sessions_helper.rb2
-rw-r--r--app/models/event.rb1
-rw-r--r--app/models/user.rb3
-rw-r--r--app/views/sessions/new.html.erb19
7 files changed, 48 insertions, 0 deletions
diff --git a/app/assets/javascripts/sessions.coffee b/app/assets/javascripts/sessions.coffee
new file mode 100644
index 0000000..24f83d1
--- /dev/null
+++ b/app/assets/javascripts/sessions.coffee
@@ -0,0 +1,3 @@
+# Place all the behaviors and hooks related to the matching controller here.
+# All this logic will automatically be available in application.js.
+# You can use CoffeeScript in this file: http://coffeescript.org/
diff --git a/app/assets/stylesheets/sessions.scss b/app/assets/stylesheets/sessions.scss
new file mode 100644
index 0000000..7bef9cf
--- /dev/null
+++ b/app/assets/stylesheets/sessions.scss
@@ -0,0 +1,3 @@
+// Place all the styles related to the sessions controller here.
+// They will automatically be included in application.css.
+// You can use Sass (SCSS) here: http://sass-lang.com/
diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb
new file mode 100644
index 0000000..baf8679
--- /dev/null
+++ b/app/controllers/sessions_controller.rb
@@ -0,0 +1,17 @@
+class SessionsController < ApplicationController
+ def new
+ @user = User.new
+ end
+
+ def create
+ user = User.find_by(username: user_params[:username])
+ if user && user.authenticate(user_params[:password])
+ session[:x] = user.id
+ redirect_to agents_path
+ end
+ redirect_to new_session_path
+ end
+
+ def destroy
+ end
+end
diff --git a/app/helpers/sessions_helper.rb b/app/helpers/sessions_helper.rb
new file mode 100644
index 0000000..309f8b2
--- /dev/null
+++ b/app/helpers/sessions_helper.rb
@@ -0,0 +1,2 @@
+module SessionsHelper
+end
diff --git a/app/models/event.rb b/app/models/event.rb
index 3e55383..8124b3f 100644
--- a/app/models/event.rb
+++ b/app/models/event.rb
@@ -1,3 +1,4 @@
class Event < ActiveRecord::Base
belongs_to :agent
+ has_secure_password
end
diff --git a/app/models/user.rb b/app/models/user.rb
new file mode 100644
index 0000000..40f0705
--- /dev/null
+++ b/app/models/user.rb
@@ -0,0 +1,3 @@
+class User < ActiveRecord::Base
+ has_secure_password
+end
diff --git a/app/views/sessions/new.html.erb b/app/views/sessions/new.html.erb
new file mode 100644
index 0000000..7e99bf1
--- /dev/null
+++ b/app/views/sessions/new.html.erb
@@ -0,0 +1,19 @@
+<div class="row">
+<div class="small-12 columns">
+ <h1>Login</h1>
+
+ <%= form_for @user, url: sessions_path do |f| %>
+ <div class="field">
+ <%= label_tag :username %><br>
+ <%= text_field_tag :username %>
+ </div>
+ <div class="field">
+ <%= label_tag :password %><br>
+ <%= password_field_tag :password %>
+ </div>
+ <div class="actions">
+ <%= submit_tag %>
+ </div>
+ <% end %>
+</div>
+</div>