-
Notifications
You must be signed in to change notification settings - Fork 14
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'main' into bug/218-clipboard-button-shifts
- Loading branch information
Showing
21 changed files
with
378 additions
and
37 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,59 @@ | ||
class CommentsController < ApplicationController | ||
before_action :authenticate_user! | ||
before_action :load_story_and_project | ||
before_action :find_comment, only: [:edit, :update, :destroy] | ||
|
||
def edit | ||
end | ||
|
||
def create | ||
@comment = current_user.comments.build(story: @story) | ||
@comment.attributes = comment_params | ||
saved = @comment.save | ||
if saved | ||
flash[:success] = "Comment created!" | ||
else | ||
flash[:error] = @comment.errors.full_messages | ||
end | ||
|
||
redirect_to project_story_path(@comment.story.project_id, @comment.story_id) | ||
end | ||
|
||
def update | ||
updated = @comment.update(comment_params) | ||
if updated | ||
flash[:success] = "Comment updated!" | ||
redirect_to project_story_path(@comment.story.project_id, @comment.story_id) | ||
else | ||
flash[:error] = @comment.errors.full_messages | ||
render :edit | ||
end | ||
end | ||
|
||
def destroy | ||
@comment.destroy | ||
flash[:success] = "Comment deleted!" | ||
redirect_to project_story_path(@comment.story.project_id, @comment.story_id) | ||
end | ||
|
||
private | ||
|
||
def find_comment | ||
@comment = current_user.comments.where(story_id: params[:story_id]).find(params[:id]) | ||
rescue ActiveRecord::RecordNotFound | ||
flash[:error] = "Comment not found" | ||
redirect_to project_story_path(params[:project_id], params[:story_id]) | ||
end | ||
|
||
def load_story_and_project | ||
@project = Project.find(params[:project_id]) | ||
@story = Story.find(params[:story_id]) | ||
rescue ActiveRecord::RecordNotFound | ||
flash[:error] = "Project or Story not found" | ||
redirect_to projects_path | ||
end | ||
|
||
def comment_params | ||
params.require(:comment).permit(:body) | ||
end | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
class Comment < ApplicationRecord | ||
belongs_to :story | ||
belongs_to :user | ||
validates :body, presence: true | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,4 +2,5 @@ class User < ApplicationRecord | |
include OmbuLabsAuthenticable | ||
|
||
has_many :estimates | ||
has_many :comments | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
<div class="comment-card"> | ||
<p class="bold"><%= comment.user.name %>: <%= markdown(comment.body) %> <%= comment.created_at %><p> | ||
<% if current_user == comment.user %> | ||
<%= link_to "Edit Comment", edit_project_story_comment_path(project, story, comment), class: "link-blue" %> | | ||
<%= link_to "Delete", project_story_comment_path(project, story, comment), method: :delete, data: { confirm: "Are you sure?" }, title: "Delete" %> | ||
<% end %> | ||
</div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,5 @@ | ||
<%= form_with model: [project, story, comment] do |form| %> | ||
<%= form.text_area :body, rows: 6 %> | ||
<%= form.submit class: "button green"%> | ||
<%= link_to "Back", project_story_path(project, story), id: "back", class: "button" if ["edit", "update"].include?(action_name) %> | ||
<% end %> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
<div class="container"> | ||
<h2 class="new-edit-title">Edit Comment</h2> | ||
<%= render partial: "form", locals: {story: @story, comment: @comment, project: @project} %> | ||
</div> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.