diff options
| author | mo khan <mo@mokhan.ca> | 2015-02-21 12:31:50 -0700 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2015-02-21 12:31:50 -0700 |
| commit | 6ada62adfd2b60e3af4f721ed8e09a5658920fa6 (patch) | |
| tree | 1f65086944ce3be9b12b48bda16761fde6a6b965 /app | |
| parent | d3f91de6fcc6d27bc2d7adb8f1e14d73b71e7b96 (diff) | |
add user model and login page.
Diffstat (limited to 'app')
| -rw-r--r-- | app/assets/javascripts/sessions.coffee | 3 | ||||
| -rw-r--r-- | app/assets/stylesheets/sessions.scss | 3 | ||||
| -rw-r--r-- | app/controllers/sessions_controller.rb | 17 | ||||
| -rw-r--r-- | app/helpers/sessions_helper.rb | 2 | ||||
| -rw-r--r-- | app/models/event.rb | 1 | ||||
| -rw-r--r-- | app/models/user.rb | 3 | ||||
| -rw-r--r-- | app/views/sessions/new.html.erb | 19 |
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> |
