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| |