【发布时间】:2014-04-04 15:21:31
【问题描述】:
我想在 Redmine 插件的设置项目中添加一个新选项卡,但我不知道该怎么做。
我获得了 ISITROL S.A.(www.isitrol.com) 的 CCUL 项目管理插件的代码,并将 de funcionlity 替换为我的功能,但我仍然无法将 config_controller 的名称更改为我的控制器。
helperpatch 具有以下结构: 需要'redmine' require_dependency 'projects_helper'
module CCULProjectsHelperPatch
def self.included(base)
base.send(:include, ProjectsHelperMethodsCCUL)
base.class_eval do
unloadable
alias_method_chain :project_settings_tabs, :coste
end
end
end
module ProjectsHelperMethodsCCUL
def project_settings_tabs_with_coste
@tabs = project_settings_tabs_without_coste
@action = {:name => 'coste', :controller => 'coste_config', :action => :index, :partial => 'coste_config/index', :label => :tab_ccul}
Rails.logger.info "old_tabs: #{@tabs}"
Rails.logger.info "action: #{@action}"
@tabs << @action #if User.current.allowed_to?(action, @project)
@tabs
end
end
ProjectsHelper.send(:include, CCULProjectsHelperPatch) unless ProjectsHelper.included_modules.include? CCULProjectsHelperPatch
我已经更改了控制器的名称(和控制器文件的名称)、视图的文件夹和 init 文件中控制器的名称(我将 pm_config 更改为 coste_pm)
这是初始化文件:
Rails.configuration.to_prepare do
require_dependency 'coste_project_helper_patch'
end
Redmine::Plugin.register :redmine_coste do
name 'Costes'
author 'Me'
description 'Plugin para calculo coste proyecto. Compatible con Redmine 2.3.x '
version '0.1.4'
project_module :coste do
permission :cost_manager, {:coste_config => [:index, :create], :coste_project => [:show]}
end
menu :project_menu, :coste, { :controller => 'coste_project', :action => 'show' }, :caption => :coste, :param => :project_id
menu :admin_menu, :coste, { :controller => 'coste_admin', :action => 'show' }, :caption => :coste
end
当我尝试访问一个项目的设置时,错误是“404 您尝试访问的页面不存在或已被删除”
我不知道我需要改变什么
希望你能帮到我
【问题讨论】:
标签: ruby redmine redmine-plugins