Commit 12415de3 authored by Wills Gomez's avatar Wills Gomez

vote tally count WIP

parents fb786f5d 71527855
module Users module Users
class ProfileController < ApplicationController class UsersController < ApplicationController
before_action :authenticate_user! before_action :authenticate_user!
def index def index
@positions = Position.all @positions = Position.all
......
class UsersController < ApplicationController
before_filter :authenticate_user!
before_filter :admin_only, :except => :show
def index
@users = User.all
end
def show
@user = User.find(params[:id])
unless current_user.admin?
unless @user == current_user
redirect_to :back, :alert => "Access denied."
end
end
end
def update
@user = User.find(params[:id])
if @user.update_attributes(secure_params)
redirect_to users_path, :notice => "User updated."
else
redirect_to users_path, :alert => "Unable to update user."
end
end
def destroy
user = User.find(params[:id])
user.destroy
redirect_to users_path, :notice => "User deleted."
end
private
def admin_only
unless current_user.admin?
redirect_to :back, :alert => "Access denied."
end
end
def secure_params
params.require(:user).permit(:role)
end
end
\ No newline at end of file
...@@ -13,4 +13,11 @@ class User < ApplicationRecord ...@@ -13,4 +13,11 @@ class User < ApplicationRecord
"#{self.first_name} #{self.last_name}" "#{self.first_name} #{self.last_name}"
end end
enum role: {voter: 0, admin: 1}
after_initialize :set_default_role, :if => :new_record?
def set_default_role
self.role = :voter
end
end end
...@@ -7,11 +7,16 @@ ...@@ -7,11 +7,16 @@
<% @positions.each do |p| %> <% @positions.each do |p| %>
<<<<<<< HEAD
<h3><%= p.name %></h3> <h3><%= p.name %></h3>
<ul > <ul >
=======
<h2><%= p.name %></h2>
<ul>
>>>>>>> 715278555f37edd654b7c9770ce3962b9079fc3b
<% p.candidates.each do |c|%> <% p.candidates.each do |c|%>
<li><%=link_to c.full_name, admin_candidate_path(c.id)%></li> <li><%=link_to c.full_name, admin_candidate_path(c.id)%></li>
<% end %> <% end %>
</ul> </ul>
<% end %> <% end %>
...@@ -4,11 +4,6 @@ ...@@ -4,11 +4,6 @@
<%=link_to "Delete", admin_candidate_path(@candidate.id), method: :delete%> <%=link_to "Delete", admin_candidate_path(@candidate.id), method: :delete%>
<br> <br>
<h3>Position: <%= @candidate.position.name %></h3> <h3>Position: <%= @candidate.position.name %></h3>
<%
m=0
f=0
o=0
%>
<% <%
m=0 m=0
f=0 f=0
...@@ -32,18 +27,17 @@ ...@@ -32,18 +27,17 @@
<hr> <hr>
<table width="100%"> <table width="100%">
<h4>Gender of Voters</h4>
<tr> <tr>
<th>Male Voters</th> <th>Male Voters</th>
<th>Female Voters</th> <th>Female Voters</th>
<th>Other Voters</th> <th>Other Voters</th>
<th>Total Active Votes</th> <th>Total Votes</th>
<th>Total Active and Inactive Casted Votes</th>
</tr> </tr>
<tr> <tr>
<td><%= m%></td> <td><%= m%></td>
<td><%= f%></td> <td><%= f%></td>
<td><%= o%></td> <td><%= o%></td>
<td><%= m+f+o%></td>
<td><%= @candidate.votes.count %></td> <td><%= @candidate.votes.count %></td>
</tr> </tr>
</table> </table>
...@@ -53,7 +47,7 @@ ...@@ -53,7 +47,7 @@
<ul> <ul>
<li> <li>
<% @candidate.votes.each do |v|%> <% @candidate.votes.each do |v|%>
<%="#{v.user.full_name}"%> <%= "#{v.user.full_name}"%>
<p> <p>
Comments: <%=v.comment%> Comments: <%=v.comment%>
</p> </p>
......
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
<%=link_to "Add New Position", new_admin_position_path%> <%=link_to "Add New Position", new_admin_position_path%>
<hr> <hr>
<<<<<<< HEAD
<% @positions.each do |c| %> <% @positions.each do |c| %>
<h2><a href="/admin/positions/show"><% c.name %></a></h2> <h2><a href="/admin/positions/show"><% c.name %></a></h2>
<ul> <ul>
...@@ -11,4 +12,13 @@ ...@@ -11,4 +12,13 @@
<% end %> <% end %>
</ul> </ul>
=======
<% @positions.each do |p| %>
<h2><%= link_to p.name, admin_position_path(p.id) %></h2>
<ul>
<% p.candidates.each do |c|%>
<li><%=link_to c.full_name, admin_candidate_path(c.id)%></li>
<% end %>
</ul>
>>>>>>> 715278555f37edd654b7c9770ce3962b9079fc3b
<% end %> <% end %>
\ No newline at end of file
<h1><%= @position.name%></h1> <h1><%= @position.name%></h1>
<%=link_to "Edit", edit_admin_position_path(@position.id)%> <%=link_to "Edit", edit_admin_position_path(@position.id)%>
<br>
<%=link_to "Delete", admin_position_path(@position.id), method: :delete%> <%=link_to "Delete", admin_position_path(@position.id), method: :delete%>
<br> <br>
<hr>
<h2>Candidates for <%=@position.name%></h2>
<h5>Candidates for <%=@position.name%></h5>
<ul> <ul>
<%@position.candidates.each do |c|%> <%@position.candidates.each do |c|%>
<li><%=link_to c.full_name, admin_candidate_path(c.id)%></li> <li><%=link_to c.full_name, admin_candidate_path(c.id)%></li>
......
...@@ -2,7 +2,19 @@ ...@@ -2,7 +2,19 @@
<br> <br>
<br> <br>
<% if user_signed_in? %>
<% case current_user.role %>
<% when 'voter' %>
<h3>Welcome, Voter</h3>
<% when 'admin' %>
<h3>Welcome, Administrator</h3>
<% end %>
<% else %>
<h3>Welcome</h3>
<% end %>
<%@positions.each do |p|%> <%@positions.each do |p|%>
<<<<<<< HEAD
<div class ="section"> <div class ="section">
<div class ="box"> <div class ="box">
<h4><center><%=p.name%></center></h4> <h4><center><%=p.name%></center></h4>
...@@ -29,4 +41,23 @@ ...@@ -29,4 +41,23 @@
</table> </table>
</div> </div>
</div> </div>
=======
<h4><%=p.name%></h4>
<table class="table table-striped table-bordered">
<tr>
<th>Name</th>
<th>Slogan</th>
<th>Total Votes</th>
</tr>
<%total = 0%>
<%p.candidates.each do |c|%>
<tr>
<td><%=link_to c.full_name, admin_candidate_path(c.id)%></td>
<td><%=c.slogan%></td>
<td><%=c.votes.count%></td>
</tr>
<%end%>
</table>
>>>>>>> 715278555f37edd654b7c9770ce3962b9079fc3b
<%end%> <%end%>
\ No newline at end of file
...@@ -10,5 +10,5 @@ ...@@ -10,5 +10,5 @@
I cast my vote for I cast my vote for
<%= f.association :candidate, collection: Candidate.where(position_id:@pos), label_method: :full_name, value_method: :id %> <%= f.association :candidate, collection: Candidate.where(position_id:@pos), label_method: :full_name, value_method: :id %>
<%= f.input :comment, label: 'Comment:'%> <%= f.input :comment, label: 'Comment:'%>
<%= f.submit %> <%= f.submit label: 'Cast Vote' %>
<% end %> <% end %>
...@@ -5,7 +5,7 @@ Rails.application.routes.draw do ...@@ -5,7 +5,7 @@ Rails.application.routes.draw do
resources :users resources :users
get "/profile", to: "users/profile#index" get "/profile", to: "users/users#index"
get "/voting/new/:id", to: "voting/votes#new" get "/voting/new/:id", to: "voting/votes#new"
get "/about" => "pages#about", as: :about get "/about" => "pages#about", as: :about
......
class AddRolesToUser < ActiveRecord::Migration[5.0]
def change
add_column :users, :role, :string, :default => 'user'
end
end
class AddRoleToUsers < ActiveRecord::Migration[5.0]
def change
remove_column :users, :role, :string, :default => 'user'
add_column :users, :role, :integer
end
end
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
# #
# It's strongly recommended that you check this file into your version control system. # It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 20160719111009) do ActiveRecord::Schema.define(version: 20160719180641) do
create_table "candidates", force: :cascade do |t| create_table "candidates", force: :cascade do |t|
t.string "first_name" t.string "first_name"
...@@ -45,7 +45,7 @@ ActiveRecord::Schema.define(version: 20160719111009) do ...@@ -45,7 +45,7 @@ ActiveRecord::Schema.define(version: 20160719111009) do
t.string "last_name" t.string "last_name"
t.string "gender" t.string "gender"
t.date "birthday" t.date "birthday"
t.string "role", default: "user" t.integer "role"
t.index ["email"], name: "index_users_on_email", unique: true t.index ["email"], name: "index_users_on_email", unique: true
t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true t.index ["reset_password_token"], name: "index_users_on_reset_password_token", unique: true
end end
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment