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']
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},
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
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