Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
final_project
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
evilla_gomez_guian_principe
final_project
Commits
25f2162f
Commit
25f2162f
authored
Jul 19, 2016
by
Jasmine Principe
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
authorization
parent
c4e59d22
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
76 additions
and
12 deletions
+76
-12
users_controller.rb
Halalan/app/controllers/users_controller.rb
+45
-0
user.rb
Halalan/app/models/user.rb
+7
-0
index.html.erb
Halalan/app/views/pages/index.html.erb
+11
-0
20160719111009_add_roles_to_user.rb
Halalan/db/migrate/20160719111009_add_roles_to_user.rb
+0
-5
20160719180641_add_role_to_users.rb
Halalan/db/migrate/20160719180641_add_role_to_users.rb
+6
-0
schema.rb
Halalan/db/schema.rb
+7
-7
No files found.
Halalan/app/controllers/users_controller.rb
0 → 100644
View file @
25f2162f
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
Halalan/app/models/user.rb
View file @
25f2162f
...
@@ -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
Halalan/app/views/pages/index.html.erb
View file @
25f2162f
<h1>
HalalanPH
</h1>
<h1>
HalalanPH
</h1>
<%
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
|
%>
<h4>
<%=
p
.
name
%>
</h4>
<h4>
<%=
p
.
name
%>
</h4>
<table>
<table>
...
...
Halalan/db/migrate/20160719111009_add_roles_to_user.rb
deleted
100644 → 0
View file @
c4e59d22
class
AddRolesToUser
<
ActiveRecord
::
Migration
[
5.0
]
def
change
add_column
:users
,
:role
,
:string
,
:default
=>
'user'
end
end
Halalan/db/migrate/20160719180641_add_role_to_users.rb
0 → 100644
View file @
25f2162f
class
AddRoleToUsers
<
ActiveRecord
::
Migration
[
5.0
]
def
change
remove_column
:users
,
:role
,
:string
,
:default
=>
'user'
add_column
:users
,
:role
,
:integer
end
end
Halalan/db/schema.rb
View file @
25f2162f
...
@@ -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:
201607191
11009
)
do
ActiveRecord
::
Schema
.
define
(
version:
201607191
80641
)
do
create_table
"candidates"
,
force: :cascade
do
|
t
|
create_table
"candidates"
,
force: :cascade
do
|
t
|
t
.
string
"first_name"
t
.
string
"first_name"
...
@@ -29,23 +29,23 @@ ActiveRecord::Schema.define(version: 20160719111009) do
...
@@ -29,23 +29,23 @@ ActiveRecord::Schema.define(version: 20160719111009) do
end
end
create_table
"users"
,
force: :cascade
do
|
t
|
create_table
"users"
,
force: :cascade
do
|
t
|
t
.
string
"email"
,
default:
""
,
null:
false
t
.
string
"email"
,
default:
""
,
null:
false
t
.
string
"encrypted_password"
,
default:
""
,
null:
false
t
.
string
"encrypted_password"
,
default:
""
,
null:
false
t
.
string
"reset_password_token"
t
.
string
"reset_password_token"
t
.
datetime
"reset_password_sent_at"
t
.
datetime
"reset_password_sent_at"
t
.
datetime
"remember_created_at"
t
.
datetime
"remember_created_at"
t
.
integer
"sign_in_count"
,
default:
0
,
null:
false
t
.
integer
"sign_in_count"
,
default:
0
,
null:
false
t
.
datetime
"current_sign_in_at"
t
.
datetime
"current_sign_in_at"
t
.
datetime
"last_sign_in_at"
t
.
datetime
"last_sign_in_at"
t
.
string
"current_sign_in_ip"
t
.
string
"current_sign_in_ip"
t
.
string
"last_sign_in_ip"
t
.
string
"last_sign_in_ip"
t
.
datetime
"created_at"
,
null:
false
t
.
datetime
"created_at"
,
null:
false
t
.
datetime
"updated_at"
,
null:
false
t
.
datetime
"updated_at"
,
null:
false
t
.
string
"first_name"
t
.
string
"first_name"
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
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment