81 lines
3.0 KiB
Ruby
81 lines
3.0 KiB
Ruby
config.gem 'formtastic', :version => '0.9.10'
|
|
|
|
if Rails.env.test?
|
|
config.gem "stackdeck"
|
|
config.gem "johnson", :version => '2.0.0.pre3'
|
|
config.gem "holygrail"
|
|
end
|
|
|
|
require 'redmine'
|
|
|
|
Redmine::Plugin.register :redmine_contracts do
|
|
name 'Redmine Contracts plugin'
|
|
author 'Eric Davis'
|
|
description 'A system to manage the execution of a client contract by separating it into deliverables and milestones.'
|
|
url 'https://projects.littlestreamsoftware.com/projects/redmine-contracts'
|
|
author_url 'http://www.littlestreamsoftware.com'
|
|
version '0.1.0'
|
|
|
|
requires_redmine :version_or_higher => '0.9.0'
|
|
requires_redmine_plugin :redmine_rate, :version_or_higher => '0.1.0'
|
|
requires_redmine_plugin :redmine_overhead, :version_or_higher => '0.1.0'
|
|
|
|
project_module :contracts do
|
|
permission(:manage_budget, {
|
|
:contracts => [:index, :new, :create, :show, :edit, :update, :destroy],
|
|
:deliverables => [:index, :new, :create, :show, :edit, :update, :destroy]
|
|
}, :public => true)
|
|
end
|
|
|
|
menu(:project_menu,
|
|
:contracts,
|
|
{:controller => 'contracts', :action => 'index'},
|
|
:caption => :text_contracts,
|
|
:param => :project_id)
|
|
|
|
menu(:project_menu,
|
|
:new_contract,
|
|
{:controller => 'contracts', :action => 'new'},
|
|
:caption => :text_new_contract,
|
|
:param => :project_id,
|
|
:parent => :contracts)
|
|
|
|
end
|
|
|
|
require 'dispatcher'
|
|
Dispatcher.to_prepare :redmine_contracts do
|
|
|
|
gem 'inherited_resources', :version => '1.0.6'
|
|
require_dependency 'inherited_resources'
|
|
require_dependency 'inherited_resources/base'
|
|
|
|
# Load and bootstrap formtastic
|
|
gem 'formtastic', :version => '0.9.10'
|
|
require_dependency 'formtastic'
|
|
require_dependency 'formtastic/layout_helper'
|
|
ActionView::Base.send :include, Formtastic::SemanticFormHelper
|
|
ActionView::Base.send :include, Formtastic::LayoutHelper
|
|
|
|
Formtastic::SemanticFormBuilder.all_fields_required_by_default = false
|
|
Formtastic::SemanticFormBuilder.required_string = "<span class='required'> *</span>"
|
|
|
|
require_dependency 'payment_term' # Load so Enumeration will pick up the subclass in dev
|
|
|
|
require_dependency 'project'
|
|
Project.send(:include, RedmineContracts::Patches::ProjectPatch)
|
|
require_dependency 'issue'
|
|
Issue.send(:include, RedmineContracts::Patches::IssuePatch)
|
|
|
|
unless Query.available_columns.collect(&:name).include?(:deliverable_title)
|
|
Query.add_available_column(QueryColumn.new(:deliverable_title, :sortable => "#{Deliverable.table_name}.title"))
|
|
end
|
|
end
|
|
|
|
require 'redmine_contracts/hooks/view_layouts_base_html_head_hook'
|
|
require 'redmine_contracts/hooks/view_issues_show_details_bottom_hook'
|
|
require 'redmine_contracts/hooks/view_issues_form_details_bottom_hook'
|
|
require 'redmine_contracts/hooks/controller_issues_edit_before_save_hook'
|
|
require 'redmine_contracts/hooks/view_issues_bulk_edit_details_bottom_hook'
|
|
require 'redmine_contracts/hooks/controller_issues_bulk_edit_before_save_hook'
|
|
require 'redmine_contracts/hooks/helper_issues_show_detail_after_setting_hook'
|