1
1
class PostsController < AuthenticatedController
2
2
3
-
4
3
before_action :set_post , only : %i[ show edit update destroy ]
5
4
6
-
5
+
7
6
8
7
def index
9
8
@posts = Post . all
@@ -21,7 +20,8 @@ def create
21
20
course_id = params [ :course_id ]
22
21
23
22
@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
+
25
25
26
26
if @post . save
27
27
redirect_to controller : 'posts' , action : 'show' , id : @post . id
@@ -32,25 +32,40 @@ def create
32
32
33
33
def edit
34
34
# @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
35
48
end
36
49
37
50
def update
38
51
# @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
44
59
end
45
60
end
46
61
47
62
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
54
69
55
70
private
56
71
def post_params
0 commit comments