yuuu / redmine_nikoca_re

Niko-niko Calender plugin for Redmine.
http://ylgbk.hatenablog.com/entry/2014/11/22/220509
8 stars 4 forks source link

Not suported version 4.0.x Redmine #11

Open adrianobr opened 5 years ago

adrianobr commented 5 years ago

Not suported version 4.0.x Redmine

ghost commented 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`