Feature #34303 » 34303-poc.patch
| app/controllers/context_menus_controller.rb | ||
|---|---|---|
| 36 | 36 | 
    :log_time => (@project && User.current.allowed_to?(:log_time, @project)),  | 
| 37 | 37 | 
    :copy => User.current.allowed_to?(:copy_issues, @projects) && Issue.allowed_target_projects.any?,  | 
| 38 | 38 | 
    :add_watchers => User.current.allowed_to?(:add_issue_watchers, @projects),  | 
| 39 | 
    :delete => @issues.all?(&:deletable?)  | 
|
| 39 | 
    :delete => @issues.all?(&:deletable?),  | 
|
| 40 | 
    :add_subtask => (@project && User.current.allowed_to?(:manage_subtasks, @project))  | 
|
| 40 | 41 | 
    }  | 
| 41 | 42 | |
| 42 | 43 | 
    @assignables = @issues.map(&:assignable_users).reduce(:&)  | 
| app/helpers/issues_helper.rb | ||
|---|---|---|
| 233 | 233 | |
| 234 | 234 | 
    # Returns a link for adding a new subtask to the given issue  | 
| 235 | 235 | 
    def link_to_new_subtask(issue)  | 
| 236 | 
    link_to(l(:button_add), url_for_new_subtask(issue))  | 
|
| 237 | 
    end  | 
|
| 238 | ||
| 239 | 
    def url_for_new_subtask(issue)  | 
|
| 236 | 240 | 
        attrs = {
   | 
| 237 | 241 | 
    :parent_issue_id => issue  | 
| 238 | 242 | 
    }  | 
| 239 | 243 | 
        attrs[:tracker_id] = issue.tracker unless issue.tracker.disabled_core_fields.include?('parent_issue_id')
   | 
| 240 | 
    link_to(l(:button_add), new_project_issue_path(issue.project, :issue => attrs, :back_url => issue_path(issue)))  | 
|
| 244 | 
        params = {}
   | 
|
| 245 | 
    params[:issue] = attrs  | 
|
| 246 | 
    params[:back_url] = issue_path(issue) if controller_name == 'issues' && action_name == 'show'  | 
|
| 247 | 
    new_project_issue_path(issue.project, params)  | 
|
| 241 | 248 | 
    end  | 
| 242 | 249 | |
| 243 | 250 | 
    def trackers_options_for_select(issue)  | 
| app/views/context_menus/issues.html.erb | ||
|---|---|---|
| 151 | 151 | 
    <li><%= context_menu_link l(:button_log_time), new_issue_time_entry_path(@issue),  | 
| 152 | 152 | 
    :class => 'icon icon-time-add' %></li>  | 
| 153 | 153 | 
    <% end %>  | 
| 154 | 
    <% if @can[:add_subtask] -%>  | 
|
| 155 | 
    <li><%= context_menu_link l(:button_add_subtask), url_for_new_subtask(@issue),  | 
|
| 156 | 
    :class => 'icon icon-add' %></li>  | 
|
| 157 | 
    <% end %>  | 
|
| 154 | 158 | 
    <li><%= context_menu_link l(:button_copy), project_copy_issue_path(@project, @issue),  | 
| 155 | 159 | 
    :class => 'icon icon-copy', :disabled => !@can[:copy] %></li>  | 
| 156 | 160 | 
    <% else %>  | 
| config/locales/en.yml | ||
|---|---|---|
| 1160 | 1160 | 
    button_project_bookmark_delete: Remove bookmark  | 
| 1161 | 1161 | 
    button_filter: Filter  | 
| 1162 | 1162 | 
    button_actions: Actions  | 
| 1163 | 
    button_add_subtask: Add subtask  | 
|
| 1163 | 1164 | |
| 1164 | 1165 | 
    status_active: active  | 
| 1165 | 1166 | 
    status_registered: registered  |