summaryrefslogtreecommitdiff
path: root/app/controllers/projects_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/projects_controller.rb')
-rw-r--r--app/controllers/projects_controller.rb33
1 files changed, 15 insertions, 18 deletions
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index 507a8b66942..6cdfdfa9e2f 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -39,9 +39,8 @@ class ProjectsController < Projects::ApplicationController
push_frontend_feature_flag(:refactor_blob_viewer, @project, default_enabled: :yaml)
push_frontend_feature_flag(:highlight_js, @project, default_enabled: :yaml)
push_frontend_feature_flag(:increase_page_size_exponentially, @project, default_enabled: :yaml)
- push_frontend_feature_flag(:new_dir_modal, @project, default_enabled: :yaml)
push_licensed_feature(:file_locks) if @project.present? && @project.licensed_feature_available?(:file_locks)
- push_frontend_feature_flag(:work_items, @project, default_enabled: :yaml)
+ push_force_frontend_feature_flag(:work_items, @project&.work_items_feature_flag_enabled?)
end
layout :determine_layout
@@ -57,7 +56,8 @@ class ProjectsController < Projects::ApplicationController
feature_category :code_review, [:unfoldered_environment_names]
feature_category :portfolio_management, [:planning_hierarchy]
- urgency :low, [:refs]
+ # TODO: Set high urgency for #show https://gitlab.com/gitlab-org/gitlab/-/issues/334444
+ urgency :low, [:refs, :show]
urgency :high, [:unfoldered_environment_names]
def index
@@ -69,6 +69,13 @@ class ProjectsController < Projects::ApplicationController
@namespace = Namespace.find_by(id: params[:namespace_id]) if params[:namespace_id]
return access_denied! if @namespace && !can?(current_user, :create_projects, @namespace)
+ @current_user_group =
+ if current_user.manageable_groups(include_groups_with_developer_maintainer_access: true).count == 1
+ current_user.manageable_groups(include_groups_with_developer_maintainer_access: true).first
+ else
+ nil
+ end
+
@project = Project.new(namespace_id: @namespace&.id)
end
# rubocop: enable CodeReuse/ActiveRecord
@@ -82,13 +89,6 @@ class ProjectsController < Projects::ApplicationController
@project = ::Projects::CreateService.new(current_user, project_params(attributes: project_params_create_attributes)).execute
if @project.saved?
- experiment(:new_project_sast_enabled, user: current_user).track(:created,
- property: active_new_project_tab,
- checked: Gitlab::Utils.to_boolean(project_params[:initialize_with_sast]),
- project: @project,
- namespace: @project.namespace
- )
-
redirect_to(
project_path(@project, custom_import_params),
notice: _("Project '%{project_name}' was successfully created.") % { project_name: @project.name }
@@ -305,12 +305,7 @@ class ProjectsController < Projects::ApplicationController
end
if find_tags && @repository.tag_count.nonzero?
- tags = begin
- TagsFinder.new(@repository, refs_params).execute
- rescue Gitlab::Git::CommandError
- []
- end
-
+ tags = TagsFinder.new(@repository, refs_params).execute
options['Tags'] = tags.take(100).map(&:name)
end
@@ -321,6 +316,8 @@ class ProjectsController < Projects::ApplicationController
end
render json: options.to_json
+ rescue Gitlab::Git::CommandError
+ render json: { error: _('Unable to load refs') }, status: :service_unavailable
end
# rubocop: enable CodeReuse/ActiveRecord
@@ -545,9 +542,9 @@ class ProjectsController < Projects::ApplicationController
def check_export_rate_limit!
prefixed_action = "project_#{params[:action]}".to_sym
- project_scope = params[:action] == 'download_export' ? @project : nil
+ group_scope = params[:action] == 'download_export' ? @project.namespace : nil
- check_rate_limit!(prefixed_action, scope: [current_user, project_scope].compact)
+ check_rate_limit!(prefixed_action, scope: [current_user, group_scope].compact)
end
def render_edit