Skip to content

Commit 24bdd4f

Browse files
fixed accessing handler in role / post controller
1 parent 268e9f1 commit 24bdd4f

File tree

9 files changed

+67
-54
lines changed

9 files changed

+67
-54
lines changed

app/controllers/posts_controller.rb

+29-14
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
class PostsController < AuthenticatedController
22

3-
43
before_action :set_post, only: %i[ show edit update destroy ]
54

6-
5+
76

87
def index
98
@posts = Post.all
@@ -21,7 +20,8 @@ def create
2120
course_id = params[:course_id]
2221

2322
@post = Post.new(user_id: @current_user.id, course_id: course_id,
24-
title: post_params[:title], body: post_params[:body])
23+
title: post_params[:title], body: post_params[:body])
24+
2525

2626
if @post.save
2727
redirect_to controller: 'posts', action: 'show', id: @post.id
@@ -32,25 +32,40 @@ def create
3232

3333
def edit
3434
# @post = Post.find_by(id: params[:id])
35+
@course = @post.course_id
36+
@role = Role.where(course_id: @course, user_id: @current_user).first
37+
38+
logger.info "EDITING ..."
39+
logger.info "ROLE.role #{@role.role}"
40+
logger.info "helper output #{helpers.is_instructor?(@role.role)}"
41+
if helpers.is_instructor?(@role.role)
42+
logger.info "IS INSTRUCTOR"
43+
else
44+
logger.info "STUDENT"
45+
46+
end
47+
render :edit, status: :unprocessable_entity
3548
end
3649

3750
def update
3851
# @post = Post.find_by(id: params[:id])
39-
if @post.update(post_params)
40-
redirect_to course_post_path @post
41-
else
42-
render :edit, status: :unprocessable_entity
43-
52+
if ActionController::Base.helpers.is_instructor?(@role.role)
53+
logger.info "IS INSTRUCTOR"
54+
if @post.update(post_params)
55+
redirect_to course_post_path @post
56+
else
57+
render :edit, status: :unprocessable_entity
58+
end
4459
end
4560
end
4661

4762
def destroy
48-
@post = Post.find(params[:id])
49-
Comment.where(post_id: @post.id).delete_all
50-
@post.destroy
51-
52-
redirect_to course_path(@course), status: :see_other
53-
end
63+
@post = Post.find(params[:id])
64+
Comment.where(post_id: @post.id).delete_all
65+
@post.destroy
66+
67+
redirect_to course_path(@course), status: :see_other
68+
end
5469

5570
private
5671
def post_params

app/controllers/roles_controller.rb

+3-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ def create
1616
@course = Course.find(params[:id])
1717
logger.info "User_id #{@user}"
1818
logger.info "Course_id #{@course}"
19-
@role = Role.new(user: @user, course: @course, role: 1)
19+
# @role = Role.new(user: @user, course: @course, role: 1)
20+
@role.user = @user
21+
@role.course = @course
2022

2123
if @role.save
2224
redirect_to course_url(@course)

app/views/courses/show.html.erb

+4-1
Original file line numberDiff line numberDiff line change
@@ -68,5 +68,8 @@
6868
<% end %>
6969
</table>
7070
</div>
71-
<br/>
71+
<div>
72+
<%= link_to "Add a student", new_course_path%>
73+
</div>
74+
<br/>
7275
</div>

app/views/posts/edit.html.erb

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
<h1>Editing Post: <%= @post.title %></h1>
22

3-
<%= render "form", post:@post, url: course_post_path(@post) %>
3+
<%= render "form", post:@post, url: course_posts_path(@post) %>

app/views/roles/_form.html.erb

+4-12
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,8 @@
1-
<%= form_with model: [role, user], url: url do |form| %>
1+
<%= form_with model: role, url: url do |form| %>
22
<div>
3-
<%= form.label :email %><br>
4-
<%= form.text_field :e %>
5-
<% @post.errors.full_messages_for(:title).each do |message| %>
6-
<div class="error_msg"><%= message %></div><br>
7-
<% end %>
8-
</div>
9-
10-
<div>
11-
<%= form.label :body %><br>
12-
<%= form.text_area :body %>
13-
<% @post.errors.full_messages_for(:body).each do |message| %>
3+
<%= form.label "user email" %><br>
4+
<%= form.text_field :user_email %>
5+
<% role.errors.full_messages_for(:user_email).each do |message| %>
146
<div class="error_msg"><%= message %></div><br>
157
<% end %>
168
</div>

app/views/roles/new.html.erb

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
<!--<h1>Adding student to class <%#= @course?? %></h1>-->
1+
<h1>Adding student to class <%= Course.find(params[:id]).name%></h1>
22

3-
<%#= render "form", role: @role??, user:@current_user??, url: request.original_url %>
3+
<%= render "form", role: @role, url: request.original_url %>

app/views/users/new.html.erb

+22-21
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,27 @@
11
<body class='login-body'>
2-
<div class='loginbox'>
2+
<div class='loginbox'>
33
<h1>Sign-up</h1>
44

55
<%= form_with model: @user do |form| %>
6-
<div>
7-
<%= form.label :name %><br>
8-
<%= form.text_field :name %>
9-
<% @user.errors.full_messages_for(:name).each do |message| %>
10-
<div><%= message %></div>
11-
<% end %>
12-
</div>
13-
14-
<div>
15-
<%= form.label :email %><br>
16-
<%= form.text_field :email %><br>
17-
<% @user.errors.full_messages_for(:email).each do |message| %>
18-
<div><%= message %></div>
19-
<% end %>
20-
</div>
21-
22-
<div>
23-
<%= form.submit %>
24-
</div>
25-
<% end %>
6+
<div>
7+
<%= form.label :name %><br>
8+
<%= form.text_field :name %>
9+
<% @user.errors.full_messages_for(:name).each do |message| %>
10+
<div><%= message %></div>
11+
<% end %>
12+
</div>
13+
14+
<div>
15+
<%= form.label :email %><br>
16+
<%= form.text_field :email %><br>
17+
<% @user.errors.full_messages_for(:email).each do |message| %>
18+
<div><%= message %></div>
19+
<% end %>
20+
</div>
21+
22+
<div>
23+
<%= form.submit %>
24+
</div>
25+
<% end %>
26+
</div>
2627
</body>

config/routes.rb

+2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
get "/logout", to: "users#logout"
1212
get "/courses/:id/join", to: "courses#join", as: :join_course
1313
get "/courses/:id/leave", to: "courses#leave", as: :leave_course
14+
get "/courses/:id/new_student", to: "roles#new"
1415

1516
resources :courses do
1617
resources :posts do
@@ -20,6 +21,7 @@
2021

2122
post "/courses/:course_id/posts/new", to: "posts#create"
2223
post "/courses/:course_id/posts/:post_id/comments/new", to: "comments#create"
24+
post "/courses/:id/new_student", to: "roles#create", as: :new_student_course
2325

2426

2527
end

db/schema.rb

-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)