Files
redmine/plugins/redmine_contacts_helpdesk/init.rb
T
2026-04-24 22:01:18 +00:00

51 lines
2.6 KiB
Ruby

require 'redmine'
Redmine::Plugin.register :redmine_contacts_helpdesk do
name "Redmine Helpdesk plugin (PRO version)"
author 'RedmineUP'
description 'This is a Helpdesk plugin for Redmine'
version '3.0.9'
url 'https://www.redmineup.com/pages/plugins/helpdesk'
author_url 'mailto:support@redmineup.com'
requires_redmine :version_or_higher => '2.3'
begin
requires_redmine_plugin :redmine_contacts, :version_or_higher => '4.0.9'
rescue Redmine::PluginNotFound => e
raise "Please install redmine_contacts plugin"
end
settings :default => {
"helpdesk_answer_from" => '',
"helpdesk_add_contact_notes" => '1',
"helpdesk_answer_subject" => 'Re: {%ticket.subject%} [{%ticket.tracker%} #{%ticket.id%}]',
"helpdesk_first_answer_subject" => '{%ticket.project%} support message [{%ticket.tracker%} #{%ticket.id%}]',
"helpdesk_first_answer_template" => "Hello, {%contact.first_name%}\n\nWe hereby confirm that we have received your message.\n\nWe will handle your request and get back to you as soon as possible.\n\nYour request has been assigned the following case ID #\{%ticket.id%}.",
"helpdesk_assign_contact_user" => 0,
"helpdesk_create_private_tickets" => 0,
"helpdesk_autoclose_tickets_time_unit" => 'day'
}, :partial => 'settings/helpdesk'
project_module :contacts_helpdesk do
permission :view_helpdesk_tickets, :helpdesk => [:show_original],
:helpdesk_search => [:usage, :ticket_by_issue, :issues_by_contact, :messages_by_issue, :contact_timeline],
:canned_responses => [:add]
permission :view_helpdesk_reports, :helpdesk_reports => [:show, :render_chart]
permission :send_response, :issues => [:send_helpdesk_response, :email_note],
:helpdesk => [:show_original, :create_ticket, :delete_spam]
permission :edit_helpdesk_settings, :helpdesk => [:save_settings, :get_mail]
permission :edit_helpdesk_tickets, :helpdesk_tickets => [:update, :edit, :destroy]
# Canned responses
permission :manage_public_canned_responses, {:canned_responses => [:new, :create, :edit, :update, :destroy]}, :require => :member
permission :manage_canned_responses, {:canned_responses => [:new, :create, :edit, :update, :destroy]}, :require => :loggedin
end
menu :admin_menu, :helpdesk, {:controller => 'settings', :action => 'plugin', :id => "redmine_contacts_helpdesk"}, :caption => :label_helpdesk, :param => :project_id, :html => {:class => 'icon'}
activity_provider :helpdesk_tickets, :default => false, :class_name => ['HelpdeskTicket', 'JournalMessage']
end
require 'redmine_helpdesk'