Nuevo plugin Redmine Glossary 0.9.2
This commit is contained in:
parent
5d298a7529
commit
693eb3ee50
72 changed files with 2962 additions and 0 deletions
80
plugins/redmine_glossary/init.rb
Executable file
80
plugins/redmine_glossary/init.rb
Executable file
|
@ -0,0 +1,80 @@
|
|||
require 'redmine'
|
||||
require 'cgi'
|
||||
require 'glossary_asset_tag_helper_patch'
|
||||
require 'term_link_helper'
|
||||
require 'csv'
|
||||
FCSV = CSV
|
||||
|
||||
ActionView::Base.class_eval do
|
||||
include ActionView::Helpers::TermLinkHelper
|
||||
end
|
||||
|
||||
|
||||
Redmine::Plugin.register :redmine_glossary do
|
||||
name 'Redmine Glossary Plugin'
|
||||
author 'M. Yoshida'
|
||||
description "This is a Redmine plugin to create a glossary which is is a list of terms in a project"
|
||||
version '0.9.2'
|
||||
requires_redmine :version_or_higher => '3.0.0'
|
||||
author_url 'http://yohshiy.blog.fc2.com/'
|
||||
url 'http://www.r-labs.org/projects/rp-glossary/wiki/GlossaryEn'
|
||||
|
||||
settings :default => {
|
||||
'hide_item_term_en' => false,
|
||||
'hide_item_codename' => false,
|
||||
'hide_item_datatype' => false,
|
||||
'hide_item_rubi' => false,
|
||||
'hide_item_abbr_whole' => false,
|
||||
}, :partial => 'settings/glossary_settings'
|
||||
|
||||
|
||||
project_module :glossary do
|
||||
permission(:view_terms, {:glossary => [:index, :index_clear, :show, :show_all]})
|
||||
permission(:manage_terms, {:glossary => [:new, :edit, :destroy, :preview,
|
||||
:import_csv, :import_csv_exec, :move_all]},
|
||||
:require => :member)
|
||||
permission(:manage_term_categories,
|
||||
{:glossary => [:add_term_category, :move_all],
|
||||
:term_categories => [:index, :change_order, :edit, :destroy]},
|
||||
:require => :member)
|
||||
end
|
||||
|
||||
menu(:project_menu, :glossary,
|
||||
{ :controller => 'glossary', :action => 'index' },
|
||||
:caption => :glossary_title, :param => :project_id)
|
||||
|
||||
end
|
||||
|
||||
|
||||
|
||||
Redmine::WikiFormatting::Macros.register do
|
||||
desc "Glossary term link by ID"
|
||||
macro :termno do |obj, args|
|
||||
raise I18n.t(:error_termno_macro_arg) if (args.size != 1)
|
||||
tid = args[0].strip
|
||||
term = Term.find_by_id(tid.to_i)
|
||||
raise sprintf(I18n.t(:error_term_not_found_id), tid) unless term
|
||||
term_link(term)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Redmine::WikiFormatting::Macros.register do
|
||||
desc "Glossary term link"
|
||||
macro :term do |obj, args|
|
||||
sargs = args.map {|arg| CGI::unescapeHTML(arg.strip) }
|
||||
term = nil
|
||||
case sargs.size
|
||||
when 1
|
||||
proj = Project.find_by_identifier(params[:project_id]) unless proj
|
||||
term = Term.find_for_macro(sargs[0], proj, true)
|
||||
when 2
|
||||
proj = Project.find_by_identifier(sargs[1])
|
||||
raise sprintf(I18n.t(:error_project_not_found), sargs[1]) unless proj
|
||||
term = Term.find_for_macro(sargs[0], proj)
|
||||
else
|
||||
raise I18n.t(:error_term_macro_arg)
|
||||
end
|
||||
(term) ? term_link(term) : term_link_new(sargs[0], proj)
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue