Feature #16045 » last_assignee_wip.diff
| app/helpers/application_helper.rb (working copy) | ||
|---|---|---|
| 387 | 387 | end | 
| 388 | 388 | |
| 389 | 389 | # Returns a string for users/groups option tags | 
| 390 |   def principals_options_for_select(collection, selected=nil) | |
| 390 |   def principals_options_for_select(collection, selected = nil) | |
| 391 | 391 | s = '' | 
| 392 | 392 | if collection.include?(User.current) | 
| 393 |       s << content_tag('option', "<< #{l(:label_me)} >>", :value => User.current.id) | |
| 393 |       s << content_tag('option', "<< #{l(:label_me_accusative, default: l(:label_me))} >>", value: User.current.id) # corrected for proper german (mich instead of ich!) | |
| 394 | 394 | end | 
| 395 | # TODO: add this to Redmine Core and throw away the reference to the @issue instance variable | |
| 396 | # The instance variable is used (instead of another parameter) to avoid the necessity of overriding the issues/_attributes partial | |
| 397 | unless @issue.nil? # do not add option in case of bulk and issue category edit | |
| 398 | last_assignee_id = @issue.last_assigned_to | |
| 399 |       s << content_tag('option', "<< #{t('issue.last_assignee', name: User.find_by_id(last_assignee_id).try(:name))} >>", | |
| 400 | value: last_assignee_id) if (last_assignee_id && (last_assignee_id != User.current.id)) | |
| 401 | end | |
| 395 | 402 | groups = '' | 
| 396 | 403 | collection.sort.each do |element| | 
| 397 | 404 | selected_attribute = ' selected="selected"' if option_value_selected?(element, selected) || element.id.to_s == selected | 
| app/models/issue.rb (working copy) | ||
|---|---|---|
| 806 | 806 | scope | 
| 807 | 807 | end | 
| 808 | 808 | |
| 809 | # Returns the last assigned_to_id from the issue history | |
| 810 | def last_assigned_to | |
| 811 | journals.reverse_each do |j| | |
| 812 | last_assignee_change = j.detail_for_attribute 'assigned_to_id' | |
| 813 | return last_assignee_change.old_value.to_i if last_assignee_change && last_assignee_change.old_value | |
| 814 | end | |
| 815 | nil # return nil instead of an empty array | |
| 816 | end | |
| 817 | ||
| 809 | 818 | # Returns the initial status of the issue | 
| 810 | 819 | # Returns nil for a new issue | 
| 811 | 820 | def status_was | 
| config/locales/de.yml (working copy) | ||
|---|---|---|
| 622 | 622 | label_only: nur | 
| 623 | 623 | label_max_size: Maximale Größe | 
| 624 | 624 | label_me: ich | 
| 625 | label_me_accusative: mich | |
| 626 |   last_assignee: "ZULETZT: %{name}" | |
| 625 | 627 | label_member: Mitglied | 
| 626 | 628 | label_member_new: Neues Mitglied | 
| 627 | 629 | label_member_plural: Mitglieder | 
| config/locales/en.yml (working copy) | ||
|---|---|---|
| 816 | 816 | label_disabled: disabled | 
| 817 | 817 | label_show_completed_versions: Show completed versions | 
| 818 | 818 | label_me: me | 
| 819 |   last_assignee: "LAST: %{name}" | |
| 819 | 820 | label_board: Forum | 
| 820 | 821 | label_board_new: New forum | 
| 821 | 822 | label_board_plural: Forums |