Hooks List » History » Version 21

@ go2null, 2015-01-20 18:33
fixed typo

1 16 Mischa The Evil
h1. Redmine plugin hooks list
2 1 Jean-Philippe Lang
3 13 Mischa The Evil
{{>toc}}
4 2 Eric Davis
5 13 Mischa The Evil
To see the current list of plugin hooks, run @rake redmine:plugins:hook_list@ in the Redmine directory.
6 1 Jean-Philippe Lang
7 19 Mischa The Evil
|{background-color:#f88}. On Redmine version#43 and up the rake task has been deprecated.
8 20 @ go2null
As an alternative you can use either of the following in the Redmine directory (see message#36062).
9 20 @ go2null
<pre><code>grep -r call_hook *                                       # list of source lines with hook calls
10 20 @ go2null
grep -rohT 'call_hook([^)]*)'                             # list of hooks calls and source files
11 21 @ go2null
grep -roh  'call_hook([^)]*)' | sort -u | grep '([^)]*)' # list of hooks calls only
12 20 @ go2null
</code></pre>|
13 19 Mischa The Evil
14 14 Mischa The Evil
h2. Controller hooks
15 14 Mischa The Evil
16 14 Mischa The Evil
table{width:100%}.
17 14 Mischa The Evil
|_. Name|_. Description|_. Context|
18 14 Mischa The Evil
|@:controller_account_success_authentication_after@| |@:user@|
19 14 Mischa The Evil
|@:controller_custom_fields_new_after_save@| |@:params, :custom_field@|
20 14 Mischa The Evil
|@:controller_custom_fields_edit_after_save@| |@:params, :custom_field@|
21 14 Mischa The Evil
|@:controller_issues_bulk_edit_before_save@|Passes the current issue and the params to the hook before saving. This can be used to set attributes on the issues.|@:params, :issue@|
22 15 Jie Ma
|@:controller_issues_new_before_save@| |@:params, :issue@|
23 14 Mischa The Evil
|@:controller_issues_new_after_save@| |@:params, :issue@|
24 14 Mischa The Evil
|@:controller_issues_edit_before_save@| |@:params, :issue, :time_entry, :journal@|
25 14 Mischa The Evil
|@:controller_issues_edit_after_save@| |@:params, :issue, :time_entry, :journal@|
26 15 Jie Ma
|@:controller_issues_move_before_save@| |@:params, :issue, :copy, :target_project@|
27 14 Mischa The Evil
|@:controller_journals_edit_post@| |@:params, :journal@|
28 14 Mischa The Evil
|@:controller_messages_new_after_save@| |@:params, :message@|
29 14 Mischa The Evil
|@:controller_messages_reply_after_save@| |@:params, :message@|
30 14 Mischa The Evil
|@:controller_timelog_edit_before_save@| |@:params, :time_entry@|
31 14 Mischa The Evil
|@:controller_wiki_edit_after_save@| |@:params, :page@|
32 14 Mischa The Evil
33 14 Mischa The Evil
h2. Helper hooks
34 14 Mischa The Evil
35 14 Mischa The Evil
table{width:100%}.
36 14 Mischa The Evil
|_. Name|_. Description|_. Context|
37 14 Mischa The Evil
|@:helper_issues_show_detail_after_setting@|Passes data to the hook to allow it to set the label and value.|@:detail, :label, :value, :old_value@|
38 14 Mischa The Evil
39 14 Mischa The Evil
h2. Model hooks
40 14 Mischa The Evil
41 14 Mischa The Evil
table{width:100%}.
42 14 Mischa The Evil
|_. Name|_. Description|_. Context|
43 14 Mischa The Evil
|@:model_changeset_scan_commit_for_issue_ids_pre_issue_update@| |@:changeset, :issue@|
44 14 Mischa The Evil
|@:model_project_copy_before_save@| |@:source_project, :destination_project@|
45 14 Mischa The Evil
46 13 Mischa The Evil
h2. View hooks
47 1 Jean-Philippe Lang
48 13 Mischa The Evil
The current project is accessible using the @:project@ key of the context for all the view hooks.
49 13 Mischa The Evil
50 3 Eric Davis
table{width:100%}.
51 1 Jean-Philippe Lang
|_. Name|_. Description|_. Context|
52 14 Mischa The Evil
|@:view_account_left_bottom@| |@:user@|
53 14 Mischa The Evil
|@:view_account_right_bottom@| |@:user@|
54 15 Jie Ma
|@:view_account_login_top@| |(none)|
55 15 Jie Ma
|@:view_account_login_bottom@| |(none)|
56 11 Mischa The Evil
|@:view_custom_fields_form_upper_box@| |@:custom_field, :form@|
57 11 Mischa The Evil
|@:"view_custom_fields_form_#{@custom_field.type.to_s.underscore}"@| |@:custom_field, :form@|
58 11 Mischa The Evil
|@:view_issue_statuses_form@| |@:issue_status@|
59 11 Mischa The Evil
|@:view_issues_bulk_edit_details_bottom@|Appends content to the bulk edit form before the note|@:issues@|
60 18 Alexandr Ivanov
|@:view_issues_edit_notes_bottom@|Appends content to the note bottom before files form|@:issue, :notes, :form@|
61 1 Jean-Philippe Lang
|@:view_issues_form_details_bottom@|Appends content to the html table at the bottom of the issue form|@:issue, :form@|
62 12 Mischa The Evil
|@:view_issues_history_journal_bottom@| |@:journal@|
63 12 Mischa The Evil
|@:view_issues_show_details_bottom@|Appends content to the bottom of the issues details table|@:issue@|
64 1 Jean-Philippe Lang
|@:view_issues_sidebar_issues_bottom@| |(none)|
65 11 Mischa The Evil
|@:view_issues_sidebar_planning_bottom@| |(none)|
66 1 Jean-Philippe Lang
|@:view_issues_sidebar_queries_bottom@| |(none)|
67 11 Mischa The Evil
|@:view_issues_context_menu_start@| |@:issues, :can, :back@|
68 12 Mischa The Evil
|@:view_issues_context_menu_end@| |@:issues, :can, :back@|
69 17 Etienne Massip
|@:view_issues_new_top@| |@:issue@|
70 12 Mischa The Evil
|@:view_issues_show_description_bottom@| |@:issue@|
71 15 Jie Ma
|@:view_issues_move_bottom@| |@:issue, :target_project, :copy@|
72 2 Eric Davis
|@:view_journals_notes_form_after_notes@| |@:journal@|
73 13 Mischa The Evil
|@:view_journals_update_rjs_bottom@| |@:page, :journal@|
74 1 Jean-Philippe Lang
|@:view_layouts_base_body_bottom@|Appends content to the end of the body section of the base layout|(none)|
75 1 Jean-Philippe Lang
|@:view_layouts_base_content@| |(none)|
76 1 Jean-Philippe Lang
|@:view_layouts_base_html_head@|Appends content to the html head of the base layout|(none)|
77 11 Mischa The Evil
|@:view_layouts_base_sidebar@| |(none)|
78 11 Mischa The Evil
|@:view_my_account@| |@:user, :form@|
79 15 Jie Ma
|@:view_my_account_contextual@| |@:user@|
80 1 Jean-Philippe Lang
|@:view_projects_form@| |@:project, :form@|
81 13 Mischa The Evil
|@:view_projects_roadmap_version_bottom@| |@:version@|
82 11 Mischa The Evil
|@:view_projects_settings_members_table_header@|Appends content to the table header of a Project's Member setting|@:project@|
83 11 Mischa The Evil
|@:view_projects_settings_members_table_row@|Appends content to the table row of a Project's Member setting|@:member, :project@|
84 11 Mischa The Evil
|@:view_projects_show_left@| |@:project@|
85 1 Jean-Philippe Lang
|@:view_projects_show_right@| |@:project@|
86 15 Jie Ma
|@:view_projects_show_sidebar_bottom@| |@:project@|
87 2 Eric Davis
|@:view_repositories_show_contextual@|Appends content to the contextual menu in the Repositories pane|@:project, :repository@|
88 13 Mischa The Evil
|@:view_timelog_edit_form_bottom@| |@:time_entry, :form@|
89 15 Jie Ma
|@:view_settings_general_form@| |(none)|
90 15 Jie Ma
|@:view_users_memberships_table_header@| |@:user@|
91 15 Jie Ma
|@:view_users_memberships_table_row@| |@:user, :membership, :roles, :projects@|
92 2 Eric Davis
|@:view_users_form@| |@:user, :form@|
93 3 Eric Davis
|@:view_versions_show_bottom@| |@:version@|
94 14 Mischa The Evil
|@:view_versions_show_contextual@| |@:version, :project@|
95 2 Eric Davis
|@:view_welcome_index_left@| |@:project@|
96 2 Eric Davis
|@:view_welcome_index_right@| |@:project@|
97 7 Eric Davis
98 13 Mischa The Evil
h2. Other hooks
99 7 Eric Davis
100 7 Eric Davis
table{width:100%}.
101 7 Eric Davis
|_. Name|_. Description|_. Context|