Merge branch 'master' of github.com:zyphlar/Open-Source-Access-Control-Web-Interface
Conflicts: .gitignore Gemfile Gemfile.lock app/controllers/door_logs_controller.rb app/controllers/users_controller.rb app/models/user.rb app/views/door_logs/download.html.erb app/views/door_logs/show.html.erb app/views/layouts/application.html.erb app/views/users/show.html.erb app/views/users/upload.html.erb app/views/users/upload_all.html.erb config/environments/development.rb config/environments/production.rb config/routes.rb db/schema.rb
This commit is contained in:
3
app/assets/javascripts/home.js.coffee
Normal file
3
app/assets/javascripts/home.js.coffee
Normal file
@@ -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://jashkenas.github.com/coffee-script/
|
||||
3
app/assets/stylesheets/home.css.scss
Normal file
3
app/assets/stylesheets/home.css.scss
Normal file
@@ -0,0 +1,3 @@
|
||||
// Place all the styles related to the home controller here.
|
||||
// They will automatically be included in application.css.
|
||||
// You can use Sass (SCSS) here: http://sass-lang.com/
|
||||
@@ -1,4 +1,10 @@
|
||||
class DoorLogsController < ApplicationController
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
authorize_resource
|
||||
before_filter :authenticate_user!
|
||||
|
||||
>>>>>>> 03d99741e5b661e63f6281115d2db333082a09b1
|
||||
# GET /door_logs
|
||||
# GET /door_logs.json
|
||||
def index
|
||||
|
||||
9
app/controllers/home_controller.rb
Normal file
9
app/controllers/home_controller.rb
Normal file
@@ -0,0 +1,9 @@
|
||||
class HomeController < ApplicationController
|
||||
|
||||
def index
|
||||
respond_to do |format|
|
||||
format.html # index.html.erb
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
@@ -1,8 +1,19 @@
|
||||
class UsersController < ApplicationController
|
||||
<<<<<<< HEAD
|
||||
# GET /users
|
||||
# GET /users.json
|
||||
def index
|
||||
@users = User.all
|
||||
=======
|
||||
load_and_authorize_resource
|
||||
before_filter :authenticate_user!
|
||||
|
||||
# GET /users
|
||||
# GET /users.json
|
||||
def index
|
||||
#@users = User.all
|
||||
#authorize! :read, @users
|
||||
>>>>>>> 03d99741e5b661e63f6281115d2db333082a09b1
|
||||
|
||||
respond_to do |format|
|
||||
format.html # index.html.erb
|
||||
@@ -13,7 +24,11 @@ class UsersController < ApplicationController
|
||||
# GET /users/1
|
||||
# GET /users/1.json
|
||||
def show
|
||||
<<<<<<< HEAD
|
||||
@user = User.find(params[:id])
|
||||
=======
|
||||
#@user = User.find(params[:id])
|
||||
>>>>>>> 03d99741e5b661e63f6281115d2db333082a09b1
|
||||
|
||||
respond_to do |format|
|
||||
format.html # show.html.erb
|
||||
@@ -23,7 +38,11 @@ class UsersController < ApplicationController
|
||||
|
||||
# PUT /users/1/upload
|
||||
def upload
|
||||
<<<<<<< HEAD
|
||||
@user = User.find(params[:id])
|
||||
=======
|
||||
#@user = User.find(params[:id])
|
||||
>>>>>>> 03d99741e5b661e63f6281115d2db333082a09b1
|
||||
@upload_result = @user.upload_to_door
|
||||
|
||||
respond_to do |format|
|
||||
@@ -45,7 +64,11 @@ class UsersController < ApplicationController
|
||||
# GET /users/new
|
||||
# GET /users/new.json
|
||||
def new
|
||||
<<<<<<< HEAD
|
||||
@user = User.new
|
||||
=======
|
||||
#@user = User.new
|
||||
>>>>>>> 03d99741e5b661e63f6281115d2db333082a09b1
|
||||
|
||||
respond_to do |format|
|
||||
format.html # new.html.erb
|
||||
@@ -55,13 +78,21 @@ class UsersController < ApplicationController
|
||||
|
||||
# GET /users/1/edit
|
||||
def edit
|
||||
<<<<<<< HEAD
|
||||
@user = User.find(params[:id])
|
||||
=======
|
||||
#@user = User.find(params[:id])
|
||||
>>>>>>> 03d99741e5b661e63f6281115d2db333082a09b1
|
||||
end
|
||||
|
||||
# POST /users
|
||||
# POST /users.json
|
||||
def create
|
||||
<<<<<<< HEAD
|
||||
@user = User.new(params[:user])
|
||||
=======
|
||||
#@user = User.new(params[:user])
|
||||
>>>>>>> 03d99741e5b661e63f6281115d2db333082a09b1
|
||||
|
||||
respond_to do |format|
|
||||
if @user.save
|
||||
@@ -77,7 +108,11 @@ class UsersController < ApplicationController
|
||||
# PUT /users/1
|
||||
# PUT /users/1.json
|
||||
def update
|
||||
<<<<<<< HEAD
|
||||
@user = User.find(params[:id])
|
||||
=======
|
||||
#@user = User.find(params[:id])
|
||||
>>>>>>> 03d99741e5b661e63f6281115d2db333082a09b1
|
||||
|
||||
respond_to do |format|
|
||||
if @user.update_attributes(params[:user])
|
||||
@@ -93,7 +128,11 @@ class UsersController < ApplicationController
|
||||
# DELETE /users/1
|
||||
# DELETE /users/1.json
|
||||
def destroy
|
||||
<<<<<<< HEAD
|
||||
@user = User.find(params[:id])
|
||||
=======
|
||||
#@user = User.find(params[:id])
|
||||
>>>>>>> 03d99741e5b661e63f6281115d2db333082a09b1
|
||||
@user.destroy
|
||||
|
||||
respond_to do |format|
|
||||
|
||||
2
app/helpers/home_helper.rb
Normal file
2
app/helpers/home_helper.rb
Normal file
@@ -0,0 +1,2 @@
|
||||
module HomeHelper
|
||||
end
|
||||
35
app/models/ability.rb
Normal file
35
app/models/ability.rb
Normal file
@@ -0,0 +1,35 @@
|
||||
class Ability
|
||||
include CanCan::Ability
|
||||
|
||||
def initialize(user)
|
||||
if user.admin?
|
||||
can :manage, :all
|
||||
else
|
||||
can :read, User do |u|
|
||||
u.id == user.id
|
||||
end
|
||||
end
|
||||
# Define abilities for the passed in user here. For example:
|
||||
#
|
||||
# user ||= User.new # guest user (not logged in)
|
||||
# if user.admin?
|
||||
# can :manage, :all
|
||||
# else
|
||||
# can :read, :all
|
||||
# end
|
||||
#
|
||||
# The first argument to `can` is the action you are giving the user permission to do.
|
||||
# If you pass :manage it will apply to every action. Other common actions here are
|
||||
# :read, :create, :update and :destroy.
|
||||
#
|
||||
# The second argument is the resource the user can perform the action on. If you pass
|
||||
# :all it will apply to every resource. Otherwise pass a Ruby class of the resource.
|
||||
#
|
||||
# The third argument is an optional hash of conditions to further filter the objects.
|
||||
# For example, here the user can only update published articles.
|
||||
#
|
||||
# can :update, Article, :published => true
|
||||
#
|
||||
# See the wiki for details: https://github.com/ryanb/cancan/wiki/Defining-Abilities
|
||||
end
|
||||
end
|
||||
@@ -1,4 +1,15 @@
|
||||
class User < ActiveRecord::Base
|
||||
<<<<<<< HEAD
|
||||
=======
|
||||
# Include default devise modules. Others available are:
|
||||
# :token_authenticatable, :confirmable,
|
||||
# :lockable, :timeoutable and :omniauthable
|
||||
devise :database_authenticatable, :registerable,
|
||||
:recoverable, :rememberable, :trackable, :validatable
|
||||
|
||||
# Setup accessible (or protected) attributes for your model
|
||||
attr_accessible :email, :password, :password_confirmation, :remember_me
|
||||
>>>>>>> 03d99741e5b661e63f6281115d2db333082a09b1
|
||||
require 'open-uri'
|
||||
|
||||
attr_accessible :card_id, :card_number, :card_permissions, :name
|
||||
|
||||
12
app/views/devise/confirmations/new.html.erb
Normal file
12
app/views/devise/confirmations/new.html.erb
Normal file
@@ -0,0 +1,12 @@
|
||||
<h2>Resend confirmation instructions</h2>
|
||||
|
||||
<%= form_for(resource, :as => resource_name, :url => confirmation_path(resource_name), :html => { :method => :post }) do |f| %>
|
||||
<%= devise_error_messages! %>
|
||||
|
||||
<div><%= f.label :email %><br />
|
||||
<%= f.email_field :email %></div>
|
||||
|
||||
<div><%= f.submit "Resend confirmation instructions" %></div>
|
||||
<% end %>
|
||||
|
||||
<%= render "devise/shared/links" %>
|
||||
@@ -0,0 +1,5 @@
|
||||
<p>Welcome <%= @resource.email %>!</p>
|
||||
|
||||
<p>You can confirm your account email through the link below:</p>
|
||||
|
||||
<p><%= link_to 'Confirm my account', confirmation_url(@resource, :confirmation_token => @resource.confirmation_token) %></p>
|
||||
@@ -0,0 +1,8 @@
|
||||
<p>Hello <%= @resource.email %>!</p>
|
||||
|
||||
<p>Someone has requested a link to change your password, and you can do this through the link below.</p>
|
||||
|
||||
<p><%= link_to 'Change my password', edit_password_url(@resource, :reset_password_token => @resource.reset_password_token) %></p>
|
||||
|
||||
<p>If you didn't request this, please ignore this email.</p>
|
||||
<p>Your password won't change until you access the link above and create a new one.</p>
|
||||
7
app/views/devise/mailer/unlock_instructions.html.erb
Normal file
7
app/views/devise/mailer/unlock_instructions.html.erb
Normal file
@@ -0,0 +1,7 @@
|
||||
<p>Hello <%= @resource.email %>!</p>
|
||||
|
||||
<p>Your account has been locked due to an excessive amount of unsuccessful sign in attempts.</p>
|
||||
|
||||
<p>Click the link below to unlock your account:</p>
|
||||
|
||||
<p><%= link_to 'Unlock my account', unlock_url(@resource, :unlock_token => @resource.unlock_token) %></p>
|
||||
16
app/views/devise/passwords/edit.html.erb
Normal file
16
app/views/devise/passwords/edit.html.erb
Normal file
@@ -0,0 +1,16 @@
|
||||
<h2>Change your password</h2>
|
||||
|
||||
<%= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :put }) do |f| %>
|
||||
<%= devise_error_messages! %>
|
||||
<%= f.hidden_field :reset_password_token %>
|
||||
|
||||
<div><%= f.label :password, "New password" %><br />
|
||||
<%= f.password_field :password %></div>
|
||||
|
||||
<div><%= f.label :password_confirmation, "Confirm new password" %><br />
|
||||
<%= f.password_field :password_confirmation %></div>
|
||||
|
||||
<div><%= f.submit "Change my password" %></div>
|
||||
<% end %>
|
||||
|
||||
<%= render "devise/shared/links" %>
|
||||
12
app/views/devise/passwords/new.html.erb
Normal file
12
app/views/devise/passwords/new.html.erb
Normal file
@@ -0,0 +1,12 @@
|
||||
<h2>Forgot your password?</h2>
|
||||
|
||||
<%= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :post }) do |f| %>
|
||||
<%= devise_error_messages! %>
|
||||
|
||||
<div><%= f.label :email %><br />
|
||||
<%= f.email_field :email %></div>
|
||||
|
||||
<div><%= f.submit "Send me reset password instructions" %></div>
|
||||
<% end %>
|
||||
|
||||
<%= render "devise/shared/links" %>
|
||||
30
app/views/devise/registrations/edit.html.erb
Normal file
30
app/views/devise/registrations/edit.html.erb
Normal file
@@ -0,0 +1,30 @@
|
||||
<h2>Edit <%= resource_name.to_s.humanize %></h2>
|
||||
|
||||
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %>
|
||||
<%= devise_error_messages! %>
|
||||
|
||||
<div class="field">
|
||||
<%= f.label :name %><br />
|
||||
<%= f.text_field :name %>
|
||||
</div>
|
||||
|
||||
<div><%= f.label :email %><br />
|
||||
<%= f.email_field :email %></div>
|
||||
|
||||
<div><%= f.label :password %> <i>(leave blank if you don't want to change it)</i><br />
|
||||
<%= f.password_field :password, :autocomplete => "off" %></div>
|
||||
|
||||
<div><%= f.label :password_confirmation %><br />
|
||||
<%= f.password_field :password_confirmation %></div>
|
||||
|
||||
<div><%= f.label :current_password %> <i>(we need your current password to confirm your changes)</i><br />
|
||||
<%= f.password_field :current_password %></div>
|
||||
|
||||
<div><%= f.submit "Update" %></div>
|
||||
<% end %>
|
||||
|
||||
<h3>Cancel my account</h3>
|
||||
|
||||
<p>Unhappy? <%= link_to "Cancel my account", registration_path(resource_name), :data => { :confirm => "Are you sure?" }, :method => :delete %>.</p>
|
||||
|
||||
<%= link_to "Back", :back %>
|
||||
23
app/views/devise/registrations/new.html.erb
Normal file
23
app/views/devise/registrations/new.html.erb
Normal file
@@ -0,0 +1,23 @@
|
||||
<h2>Sign up</h2>
|
||||
|
||||
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
|
||||
<%= devise_error_messages! %>
|
||||
|
||||
<div class="field">
|
||||
<%= f.label :name %><br />
|
||||
<%= f.text_field :name %>
|
||||
</div>
|
||||
|
||||
<div><%= f.label :email %><br />
|
||||
<%= f.email_field :email %></div>
|
||||
|
||||
<div><%= f.label :password %><br />
|
||||
<%= f.password_field :password %></div>
|
||||
|
||||
<div><%= f.label :password_confirmation %><br />
|
||||
<%= f.password_field :password_confirmation %></div>
|
||||
|
||||
<div><%= f.submit "Sign up" %></div>
|
||||
<% end %>
|
||||
|
||||
<%= render "devise/shared/links" %>
|
||||
17
app/views/devise/sessions/new.html.erb
Normal file
17
app/views/devise/sessions/new.html.erb
Normal file
@@ -0,0 +1,17 @@
|
||||
<h2>Sign in</h2>
|
||||
|
||||
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
|
||||
<div><%= f.label :email %><br />
|
||||
<%= f.email_field :email %></div>
|
||||
|
||||
<div><%= f.label :password %><br />
|
||||
<%= f.password_field :password %></div>
|
||||
|
||||
<% if devise_mapping.rememberable? -%>
|
||||
<div><%= f.check_box :remember_me %> <%= f.label :remember_me %></div>
|
||||
<% end -%>
|
||||
|
||||
<div><%= f.submit "Sign in" %></div>
|
||||
<% end %>
|
||||
|
||||
<%= render "devise/shared/links" %>
|
||||
25
app/views/devise/shared/_links.erb
Normal file
25
app/views/devise/shared/_links.erb
Normal file
@@ -0,0 +1,25 @@
|
||||
<%- if controller_name != 'sessions' %>
|
||||
<%= link_to "Sign in", new_session_path(resource_name) %><br />
|
||||
<% end -%>
|
||||
|
||||
<%- if devise_mapping.registerable? && controller_name != 'registrations' %>
|
||||
<%= link_to "Sign up", new_registration_path(resource_name) %><br />
|
||||
<% end -%>
|
||||
|
||||
<%- if devise_mapping.recoverable? && controller_name != 'passwords' %>
|
||||
<%= link_to "Forgot your password?", new_password_path(resource_name) %><br />
|
||||
<% end -%>
|
||||
|
||||
<%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
|
||||
<%= link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name) %><br />
|
||||
<% end -%>
|
||||
|
||||
<%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
|
||||
<%= link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name) %><br />
|
||||
<% end -%>
|
||||
|
||||
<%- if devise_mapping.omniauthable? %>
|
||||
<%- resource_class.omniauth_providers.each do |provider| %>
|
||||
<%= link_to "Sign in with #{provider.to_s.titleize}", omniauth_authorize_path(resource_name, provider) %><br />
|
||||
<% end -%>
|
||||
<% end -%>
|
||||
12
app/views/devise/unlocks/new.html.erb
Normal file
12
app/views/devise/unlocks/new.html.erb
Normal file
@@ -0,0 +1,12 @@
|
||||
<h2>Resend unlock instructions</h2>
|
||||
|
||||
<%= form_for(resource, :as => resource_name, :url => unlock_path(resource_name), :html => { :method => :post }) do |f| %>
|
||||
<%= devise_error_messages! %>
|
||||
|
||||
<div><%= f.label :email %><br />
|
||||
<%= f.email_field :email %></div>
|
||||
|
||||
<div><%= f.submit "Resend unlock instructions" %></div>
|
||||
<% end %>
|
||||
|
||||
<%= render "devise/shared/links" %>
|
||||
@@ -1,4 +1,7 @@
|
||||
<<<<<<< HEAD
|
||||
<p id="notice"><%= notice %></p>
|
||||
=======
|
||||
>>>>>>> 03d99741e5b661e63f6281115d2db333082a09b1
|
||||
|
||||
<p>
|
||||
<b>Download results:</b>
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
<<<<<<< HEAD
|
||||
<p id="notice"><%= notice %></p>
|
||||
=======
|
||||
>>>>>>> 03d99741e5b661e63f6281115d2db333082a09b1
|
||||
|
||||
<p>
|
||||
<b>Key:</b>
|
||||
|
||||
1
app/views/home/index.html.erb
Normal file
1
app/views/home/index.html.erb
Normal file
@@ -0,0 +1 @@
|
||||
Welcome.
|
||||
@@ -10,7 +10,15 @@
|
||||
<div id="header">
|
||||
<a href="/users">Users</a>
|
||||
<a href="/door_logs">Logs</a>
|
||||
<<<<<<< HEAD
|
||||
</div>
|
||||
=======
|
||||
<%= link_to 'Profile', edit_user_registration_path if user_signed_in? %>
|
||||
<%= link_to 'Sign out', destroy_user_session_path, :method => :delete if user_signed_in? %>
|
||||
</div>
|
||||
<p class="notice"><%= notice %></p>
|
||||
<p class="alert"><%= alert %></p>
|
||||
>>>>>>> 03d99741e5b661e63f6281115d2db333082a09b1
|
||||
<%= yield %>
|
||||
|
||||
</body>
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
<<<<<<< HEAD
|
||||
<p id="notice"><%= notice %></p>
|
||||
=======
|
||||
>>>>>>> 03d99741e5b661e63f6281115d2db333082a09b1
|
||||
|
||||
<p>
|
||||
<b>Name:</b>
|
||||
@@ -20,6 +23,10 @@
|
||||
<%= @user.card_permissions %>
|
||||
</p>
|
||||
|
||||
<<<<<<< HEAD
|
||||
<%= link_to 'Upload to Door', upload_path(user) %>
|
||||
=======
|
||||
<%= link_to 'Upload to Door', upload_path(@user) %>
|
||||
>>>>>>> 03d99741e5b661e63f6281115d2db333082a09b1
|
||||
<%= link_to 'Edit', edit_user_path(@user) %> |
|
||||
<%= link_to 'Back', users_path %>
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
<<<<<<< HEAD
|
||||
<p id="notice"><%= notice %></p>
|
||||
=======
|
||||
>>>>>>> 03d99741e5b661e63f6281115d2db333082a09b1
|
||||
|
||||
<% if @upload_result %>
|
||||
<p>
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
<<<<<<< HEAD
|
||||
<p id="notice"><%= notice %></p>
|
||||
=======
|
||||
>>>>>>> 03d99741e5b661e63f6281115d2db333082a09b1
|
||||
|
||||
<p>
|
||||
<b>Upload results:</b>
|
||||
|
||||
Reference in New Issue
Block a user