Open adrianobr opened 5 years ago
I'm not familiar with Ruby, but with the following fixes, this plugin will work with Redmine 4.0 using Rails 4 or later.
(1) controllers/niko_faces_controller.rb
===================================================================
--- controllers/niko_faces_controller.rb (revision org)
+++ controllers/niko_faces_controller.rb (revision new)
@@ -19,11 +19,11 @@
class NikoFacesController < ApplicationController
unloadable
menu_item :redmine_nikoca_re
- before_filter :find_project, :authorize
- before_filter :find_niko_face, :except => [:backnumber, :index, :new, :create]
+ before_action :find_project, :authorize
+ before_action :find_niko_face, :except => [:backnumber, :index, :new, :create]
`
# カレンダ構築に必要な情報をセット
- before_filter :only => [:backnumber, :index] do
+ before_action :only => [:backnumber, :index] do
@backnumber = 0
@backnumber = params[:id].to_i if params[:id].to_i
@dates = get_dates(@backnumber)
@@ -64,7 +64,7 @@
# ニコカレを作成する
def create
- @niko_face = NikoFace.new(params[:niko_face])
+ @niko_face = NikoFace.new(niko_face_params)
@niko_face.date = Date.today
@niko_face.author = User.current
@@ -99,7 +99,7 @@
# ニコカレを更新する
def update
- @niko_face.attributes = params[:niko_face]
+ @niko_face.attributes = niko_face_params
if @niko_face.valid?
if @niko_face.save
flash[:notice] = l(:notice_successful_update)
@@ -148,4 +148,8 @@
end
return users
end
+
+ def niko_face_params
+ params.require(:niko_face).permit(:feeling, :comment)
+ end
end`
(2) controllers/niko_responses_controller.rb
===================================================================
--- controllers/niko_responses_controller.rb (revision org)
+++ controllers/niko_responses_controller.rb (revision new)
@@ -6,8 +6,8 @@
class NikoResponsesController < ApplicationController
unloadable
menu_item :redmine_nikoca_re
- before_filter :find_project
- before_filter :find_niko_face
+ before_action :find_project
+ before_action :find_niko_face
`
# レスポンス一覧を表示する
def index
@@ -16,12 +16,12 @@
# レスポンスを作成する
def create
- @niko_response = NikoResponse.new(params[:niko_response])
+ @niko_response = NikoResponse.new(niko_response_params)
@niko_response.author = User.current
@niko_response.unread = true
if @niko_response.valid?
@niko_face.responses << @niko_response
- NikoMailer.deliver_add_response(@project, @niko_face, @niko_response)
+ NikoMailer.add_response(User.current, @project, @niko_face, @niko_response).deliver
redirect_to project_niko_face_path(@project, @niko_face.id)
else
render 'niko_faces/show'
@@ -42,4 +42,8 @@
rescue ActiveRecord::RecordNotFound
render_404
end
+
+ def niko_response_params
+ params.require(:niko_response).permit(:comment)
+ end
end`
(3) models/niko_face.rb
===================================================================
--- models/niko_face.rb (revision org)
+++ models/niko_face.rb (revision new)
@@ -25,8 +25,6 @@
class NikoFace < ActiveRecord::Base
unloadable
`
- attr_accessible :feeling, :comment
-
validates_presence_of :feeling
validates_length_of :comment, :maximum => 128`
(4) models/niko_mailer.rb
===================================================================
--- models/niko_mailer.rb (revision org)
+++ models/niko_mailer.rb (revision new)
@@ -7,7 +7,7 @@
# レスポンス追加を通知する
# @params face [NikoFace] レスポンス先の気分
# @params res [NikoResponse] レスポンス
- def add_response(project, face, res)
+ def add_response(current_user, project, face, res)
redmine_headers 'author' => res.author, 'owner' => face.author
#message_id res
#references face
(5) models/niko_response.rb
===================================================================
--- models/niko_response.rb (revision org)
+++ models/niko_response.rb (revision new)
@@ -3,8 +3,6 @@
class NikoResponse < ActiveRecord::Base
unloadable
`
- attr_accessible :comment
-
validates_presence_of :comment
validates_length_of :comment, :maximum => 128`
Not suported version 4.0.x Redmine