1
0
mirror of https://github.com/meineerde/redmine.git synced 2025-10-17 17:01:01 +00:00

New My page block: Updated issues (#30975).

Patch by Yuichi HARADA.


git-svn-id: http://svn.redmine.org/redmine/trunk@18109 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
Go MAEDA 2019-04-30 08:10:30 +00:00
parent 9d2e950f83
commit acac5974e3
4 changed files with 40 additions and 1 deletions

View File

@ -115,6 +115,17 @@ module MyHelper
render :partial => 'my/blocks/issues', :locals => {:query => query, :issues => issues, :block => block}
end
def render_issuesupdatedbyme_block(block, settings)
query = IssueQuery.new(:name => l(:label_updated_issues), :user => User.current)
query.add_filter 'updated_by', '=', ['me']
query.add_filter 'project.status', '=', ["#{Project::STATUS_ACTIVE}"]
query.column_names = settings[:columns].presence || ['project', 'tracker', 'status', 'subject']
query.sort_criteria = settings[:sort].presence || [['updated_on', 'desc']]
issues = query.issues(:limit => 10)
render :partial => 'my/blocks/issues', :locals => {:query => query, :issues => issues, :block => block}
end
def render_issueswatched_block(block, settings)
query = IssueQuery.new(:name => l(:label_watched_issues), :user => User.current)
query.add_filter 'watcher_id', '=', ['me']

View File

@ -626,6 +626,7 @@ en:
label_reported_issues: Reported issues
label_assigned_issues: Assigned issues
label_assigned_to_me_issues: Issues assigned to me
label_updated_issues: Updated issues
label_last_login: Last connection
label_registered_on: Registered on
label_activity: Activity

View File

@ -26,6 +26,7 @@ module Redmine
CORE_BLOCKS = {
'issuesassignedtome' => {:label => :label_assigned_to_me_issues},
'issuesreportedbyme' => {:label => :label_reported_issues},
'issuesupdatedbyme' => {:label => :label_updated_issues},
'issueswatched' => {:label => :label_watched_issues},
'issuequery' => {:label => :label_issue_plural, :max_occurs => 3},
'news' => {:label => :label_news_latest},

View File

@ -21,7 +21,8 @@ require File.expand_path('../../test_helper', __FILE__)
class MyControllerTest < Redmine::ControllerTest
fixtures :users, :email_addresses, :user_preferences, :roles, :projects, :members, :member_roles,
:issues, :issue_statuses, :trackers, :enumerations, :custom_fields, :auth_sources, :queries, :enabled_modules
:issues, :issue_statuses, :trackers, :enumerations, :custom_fields, :auth_sources, :queries, :enabled_modules,
:journals
def setup
@request.session[:user_id] = 2
@ -218,6 +219,31 @@ class MyControllerTest < Redmine::ControllerTest
end
end
def test_page_with_updated_issues_block
preferences = User.find(2).pref
preferences.my_page_layout = {'top' => ['issuesupdatedbyme']}
preferences.my_page_settings = {'issuesupdatedbyme' => {}}
preferences.save!
project = Project.find(3)
project.close
get :page
assert_response :success
assert_select '#block-issuesupdatedbyme' do
report_url = CGI.unescape(css_select('h3 a').first.attr('href'))
assert_match 'f[]=project.status', report_url
assert_match 'v[project.status][]=1', report_url
assert_match 'f[]=updated_by', report_url
assert_match 'v[updated_by][]=me', report_url
assert_select 'table.issues tbody tr', 2
assert_select 'table.issues tbody tr[id=?]', 'issue-1', 1, :title => 'Cannot print recipes'
assert_select 'table.issues tbody tr[id=?]', 'issue-14', 0
end
end
def test_page_with_all_blocks
blocks = Redmine::MyPage.blocks.keys
preferences = User.find(2).pref