Merge branch 'master' into discussions
Conflicts: app/assets/stylesheets/main.scss app/models/project.rb app/views/notes/_common_form.html.haml app/views/notes/_per_line_form.html.haml lib/gitlab/markdown.rb spec/models/note_spec.rb
This commit is contained in:
commit
db2c15369c
276 changed files with 4466 additions and 2603 deletions
|
@ -2,7 +2,7 @@ class Admin::GroupsController < AdminController
|
|||
before_filter :group, only: [:edit, :show, :update, :destroy, :project_update]
|
||||
|
||||
def index
|
||||
@groups = Group.scoped
|
||||
@groups = Group.order('name ASC')
|
||||
@groups = @groups.search(params[:name]) if params[:name].present?
|
||||
@groups = @groups.page(params[:page]).per(20)
|
||||
end
|
||||
|
@ -11,6 +11,7 @@ class Admin::GroupsController < AdminController
|
|||
@projects = Project.scoped
|
||||
@projects = @projects.not_in_group(@group) if @group.projects.present?
|
||||
@projects = @projects.all
|
||||
@projects.reject!(&:empty_repo?)
|
||||
end
|
||||
|
||||
def new
|
||||
|
|
|
@ -4,12 +4,13 @@ class Admin::ProjectsController < AdminController
|
|||
def index
|
||||
@projects = Project.scoped
|
||||
@projects = @projects.where(namespace_id: params[:namespace_id]) if params[:namespace_id].present?
|
||||
@projects = @projects.where(namespace_id: nil) if params[:namespace_id] == Namespace.global_id
|
||||
@projects = @projects.search(params[:name]) if params[:name].present?
|
||||
@projects = @projects.includes(:namespace).order("namespaces.path, projects.name ASC").page(params[:page]).per(20)
|
||||
end
|
||||
|
||||
def show
|
||||
@users = User.scoped
|
||||
@users = User.active
|
||||
@users = @users.not_in_project(@project) if @project.users.present?
|
||||
@users = @users.all
|
||||
end
|
||||
|
|
|
@ -3,7 +3,7 @@ class Admin::UsersController < AdminController
|
|||
@admin_users = User.scoped
|
||||
@admin_users = @admin_users.filter(params[:filter])
|
||||
@admin_users = @admin_users.search(params[:name]) if params[:name].present?
|
||||
@admin_users = @admin_users.order("updated_at DESC").page(params[:page])
|
||||
@admin_users = @admin_users.order("name ASC").page(params[:page])
|
||||
end
|
||||
|
||||
def show
|
||||
|
@ -30,7 +30,7 @@ class Admin::UsersController < AdminController
|
|||
|
||||
|
||||
def new
|
||||
@admin_user = User.new({ projects_limit: Gitlab.config.default_projects_limit }, as: :admin)
|
||||
@admin_user = User.new({ projects_limit: Gitlab.config.gitlab.default_projects_limit }, as: :admin)
|
||||
end
|
||||
|
||||
def edit
|
||||
|
|
|
@ -112,6 +112,10 @@ class ApplicationController < ActionController::Base
|
|||
render file: Rails.root.join("public", "404"), layout: false, status: "404"
|
||||
end
|
||||
|
||||
def render_403
|
||||
render file: Rails.root.join("public", "403"), layout: false, status: "403"
|
||||
end
|
||||
|
||||
def require_non_empty_project
|
||||
redirect_to @project if @project.empty_repo?
|
||||
end
|
||||
|
|
|
@ -7,6 +7,8 @@ class DashboardController < ApplicationController
|
|||
def index
|
||||
@groups = current_user.authorized_groups
|
||||
|
||||
@has_authorized_projects = @projects.count > 0
|
||||
|
||||
@projects = case params[:scope]
|
||||
when 'personal' then
|
||||
@projects.personal(current_user)
|
||||
|
|
|
@ -21,7 +21,7 @@ class GroupsController < ApplicationController
|
|||
|
||||
# Get authored or assigned open merge requests
|
||||
def merge_requests
|
||||
@merge_requests = current_user.cared_merge_requests
|
||||
@merge_requests = current_user.cared_merge_requests.opened
|
||||
@merge_requests = @merge_requests.of_group(@group).recent.page(params[:page]).per(20)
|
||||
end
|
||||
|
||||
|
@ -49,6 +49,7 @@ class GroupsController < ApplicationController
|
|||
def people
|
||||
@project = group.projects.find(params[:project_id]) if params[:project_id]
|
||||
@users = @project ? @project.users : group.users
|
||||
@users.sort_by!(&:name)
|
||||
|
||||
if @project
|
||||
@team_member = @project.users_projects.new
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
class IssuesController < ProjectResourceController
|
||||
before_filter :module_enabled
|
||||
before_filter :issue, only: [:edit, :update, :destroy, :show]
|
||||
before_filter :issue, only: [:edit, :update, :show]
|
||||
|
||||
# Allow read any issue
|
||||
before_filter :authorize_read_issue!
|
||||
|
@ -11,9 +11,6 @@ class IssuesController < ProjectResourceController
|
|||
# Allow modify issue
|
||||
before_filter :authorize_modify_issue!, only: [:edit, :update]
|
||||
|
||||
# Allow destroy issue
|
||||
before_filter :authorize_admin_issue!, only: [:destroy]
|
||||
|
||||
respond_to :js, :html
|
||||
|
||||
def index
|
||||
|
@ -79,15 +76,6 @@ class IssuesController < ProjectResourceController
|
|||
end
|
||||
end
|
||||
|
||||
def destroy
|
||||
@issue.destroy
|
||||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to project_issues_path }
|
||||
format.js { render nothing: true }
|
||||
end
|
||||
end
|
||||
|
||||
def sort
|
||||
return render_404 unless can?(current_user, :admin_issue, @project)
|
||||
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
class MergeRequestsController < ProjectResourceController
|
||||
before_filter :module_enabled
|
||||
before_filter :merge_request, only: [:edit, :update, :destroy, :show, :commits, :diffs, :automerge, :automerge_check]
|
||||
before_filter :merge_request, only: [:edit, :update, :show, :commits, :diffs, :automerge, :automerge_check, :ci_status]
|
||||
before_filter :validates_merge_request, only: [:show, :diffs]
|
||||
before_filter :define_show_vars, only: [:show, :diffs]
|
||||
|
||||
|
@ -13,9 +13,6 @@ class MergeRequestsController < ProjectResourceController
|
|||
# Allow modify merge_request
|
||||
before_filter :authorize_modify_merge_request!, only: [:close, :edit, :update, :sort]
|
||||
|
||||
# Allow destroy merge_request
|
||||
before_filter :authorize_admin_merge_request!, only: [:destroy]
|
||||
|
||||
def index
|
||||
@merge_requests = MergeRequestsLoadContext.new(project, current_user, params).execute
|
||||
end
|
||||
|
@ -90,14 +87,6 @@ class MergeRequestsController < ProjectResourceController
|
|||
end
|
||||
end
|
||||
|
||||
def destroy
|
||||
@merge_request.destroy
|
||||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to project_merge_requests_url(@project) }
|
||||
end
|
||||
end
|
||||
|
||||
def branch_from
|
||||
@commit = project.commit(params[:ref])
|
||||
@commit = CommitDecorator.decorate(@commit)
|
||||
|
@ -108,6 +97,13 @@ class MergeRequestsController < ProjectResourceController
|
|||
@commit = CommitDecorator.decorate(@commit)
|
||||
end
|
||||
|
||||
def ci_status
|
||||
status = project.gitlab_ci_service.commit_status(merge_request.last_commit.sha)
|
||||
response = { status: status }
|
||||
|
||||
render json: response
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def merge_request
|
||||
|
|
|
@ -12,11 +12,12 @@ class MilestonesController < ProjectResourceController
|
|||
|
||||
def index
|
||||
@milestones = case params[:f]
|
||||
when 'all'; @project.milestones
|
||||
else @project.milestones.active
|
||||
when 'all'; @project.milestones.order("closed, due_date DESC")
|
||||
when 'closed'; @project.milestones.closed.order("due_date DESC")
|
||||
else @project.milestones.active.order("due_date ASC")
|
||||
end
|
||||
|
||||
@milestones = @milestones.includes(:project).order("due_date")
|
||||
@milestones = @milestones.includes(:project)
|
||||
@milestones = @milestones.page(params[:page]).per(20)
|
||||
end
|
||||
|
||||
|
@ -42,6 +43,7 @@ class MilestonesController < ProjectResourceController
|
|||
|
||||
def create
|
||||
@milestone = @project.milestones.new(params[:milestone])
|
||||
@milestone.author_id_of_changes = current_user.id
|
||||
|
||||
if @milestone.save
|
||||
redirect_to project_milestone_path(@project, @milestone)
|
||||
|
@ -51,7 +53,7 @@ class MilestonesController < ProjectResourceController
|
|||
end
|
||||
|
||||
def update
|
||||
@milestone.update_attributes(params[:milestone])
|
||||
@milestone.update_attributes(params[:milestone].merge(author_id_of_changes: current_user.id))
|
||||
|
||||
respond_to do |format|
|
||||
format.js
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
class OmniauthCallbacksController < Devise::OmniauthCallbacksController
|
||||
Gitlab.config.omniauth_providers.each do |provider|
|
||||
Gitlab.config.omniauth.providers.each do |provider|
|
||||
define_method provider['name'] do
|
||||
handle_omniauth
|
||||
end
|
||||
|
|
|
@ -46,6 +46,10 @@ class ProjectsController < ProjectResourceController
|
|||
format.js
|
||||
end
|
||||
end
|
||||
|
||||
rescue Project::TransferError => ex
|
||||
@error = ex
|
||||
render :update_failed
|
||||
end
|
||||
|
||||
def show
|
||||
|
@ -54,12 +58,12 @@ class ProjectsController < ProjectResourceController
|
|||
|
||||
respond_to do |format|
|
||||
format.html do
|
||||
unless @project.empty_repo?
|
||||
@last_push = current_user.recent_push(@project.id)
|
||||
render :show
|
||||
else
|
||||
render "projects/empty"
|
||||
end
|
||||
unless @project.empty_repo?
|
||||
@last_push = current_user.recent_push(@project.id)
|
||||
render :show
|
||||
else
|
||||
render "projects/empty"
|
||||
end
|
||||
end
|
||||
format.js
|
||||
end
|
||||
|
@ -86,12 +90,18 @@ class ProjectsController < ProjectResourceController
|
|||
end
|
||||
|
||||
def graph
|
||||
graph = Gitlab::Graph::JsonBuilder.new(project)
|
||||
|
||||
@days_json, @commits_json = graph.days_json, graph.commits_json
|
||||
respond_to do |format|
|
||||
format.html
|
||||
format.json do
|
||||
graph = Gitlab::Graph::JsonBuilder.new(project)
|
||||
render :json => graph.to_json
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def destroy
|
||||
return access_denied! unless can?(current_user, :remove_project, project)
|
||||
|
||||
# Disable the UsersProject update_repository call, otherwise it will be
|
||||
# called once for every person removed from the project
|
||||
UsersProject.skip_callback(:destroy, :after, :update_repository)
|
||||
|
|
|
@ -16,7 +16,7 @@ class SnippetsController < ProjectResourceController
|
|||
respond_to :html
|
||||
|
||||
def index
|
||||
@snippets = @project.snippets
|
||||
@snippets = @project.snippets.fresh
|
||||
end
|
||||
|
||||
def new
|
||||
|
@ -62,7 +62,7 @@ class SnippetsController < ProjectResourceController
|
|||
redirect_to project_snippets_path(@project)
|
||||
end
|
||||
|
||||
def raw
|
||||
def raw
|
||||
send_data(
|
||||
@snippet.content,
|
||||
type: "text/plain",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue