• Douwe Maan's avatar
    Merge branch 'fix-sorting-by-votes-on-groups-page' into 'master' · 83961f97
    Douwe Maan authored
    Fix sorting issues/mrs by votes on the groups page
    
    Closes #14394
    
    The `non_archived` scope applied here https://gitlab.com/gitlab-org/gitlab-ce/blob/master/app/controllers/concerns/issues_action.rb#L5 overrides the previous `ORDER BY` applied inside the IssuesFinder, with the default scope of the Project model, resulting in SQL errors.
    
    ```ruby
    Issue.reorder(created_at: :desc).joins(:project).to_sql
    => "SELECT issues.*
        FROM issues INNER JOIN projects ON projects.id = issues.project_id
        ORDER BY issues.created_at DESC"
    
    Issue.reorder(created_at: :desc).joins(:project).merge(Project.non_archived).to_sql
    => "SELECT issues.*
        FROM issues INNER JOIN projects ON projects.id = issues.project_id
        WHERE projects.archived = 'f'
        ORDER BY projects.id DESC"
    
    Issue.reorder(created_at: :desc).joins(:project).merge(Project.non_archived.only(:where)).to_sql
    => "SELECT issues.*
        FROM issues INNER JOIN projects ON projects.id = issues.project_id
        WHERE projects.archived = 'f'
        ORDER BY issues.created_at DESC"
    ```
    
    /cc @yorickpeterse
    
    See merge request !3333
    83961f97
groups_controller_spec.rb 2.35 KB