Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/api/entities.rb2
-rw-r--r--lib/api/groups.rb2
-rw-r--r--lib/api/helpers.rb4
-rw-r--r--lib/api/internal.rb2
-rw-r--r--lib/gitlab/current_settings.rb14
-rw-r--r--lib/gitlab/git_access.rb2
6 files changed, 16 insertions, 10 deletions
diff --git a/lib/api/entities.rb b/lib/api/entities.rb
index 8d0664386b4..7572104fc16 100644
--- a/lib/api/entities.rb
+++ b/lib/api/entities.rb
@@ -65,7 +65,7 @@ module API
end
class Group < Grape::Entity
- expose :id, :name, :path, :owner_id, :description
+ expose :id, :name, :path, :description
end
class GroupDetail < Group
diff --git a/lib/api/groups.rb b/lib/api/groups.rb
index 384a28e41f5..a92abd4b690 100644
--- a/lib/api/groups.rb
+++ b/lib/api/groups.rb
@@ -33,9 +33,9 @@ module API
attrs = attributes_for_keys [:name, :path, :description]
@group = Group.new(attrs)
- @group.owner = current_user
if @group.save
+ @group.add_owner(current_user)
present @group, with: Entities::Group
else
render_api_error!("Failed to save group #{@group.errors.messages}", 400)
diff --git a/lib/api/helpers.rb b/lib/api/helpers.rb
index a50ee4659a3..228a719fbdf 100644
--- a/lib/api/helpers.rb
+++ b/lib/api/helpers.rb
@@ -83,7 +83,7 @@ module API
end
def authenticate_by_gitlab_shell_token!
- unauthorized! unless secret_token == params['secret_token']
+ unauthorized! unless secret_token == params['secret_token'].try(:chomp)
end
def authenticated_as_admin!
@@ -236,7 +236,7 @@ module API
end
def secret_token
- File.read(Rails.root.join('.gitlab_shell_secret'))
+ File.read(Rails.root.join('.gitlab_shell_secret')).chomp
end
def handle_member_errors(errors)
diff --git a/lib/api/internal.rb b/lib/api/internal.rb
index b5542c1874b..ba3fe619b92 100644
--- a/lib/api/internal.rb
+++ b/lib/api/internal.rb
@@ -74,7 +74,7 @@ module API
if message = BroadcastMessage.current
present message, with: Entities::BroadcastMessage
else
- not_found!
+ {}
end
end
end
diff --git a/lib/gitlab/current_settings.rb b/lib/gitlab/current_settings.rb
index 93e7edf508c..1a25eebe7d1 100644
--- a/lib/gitlab/current_settings.rb
+++ b/lib/gitlab/current_settings.rb
@@ -1,11 +1,15 @@
module Gitlab
module CurrentSettings
def current_application_settings
- if ActiveRecord::Base.connected? && ActiveRecord::Base.connection.table_exists?('application_settings')
- ApplicationSetting.current ||
- ApplicationSetting.create_from_defaults
- else
- fake_application_settings
+ key = :current_application_settings
+
+ RequestStore.store[key] ||= begin
+ if ActiveRecord::Base.connected? && ActiveRecord::Base.connection.table_exists?('application_settings')
+ RequestStore.store[:current_application_settings] =
+ (ApplicationSetting.current || ApplicationSetting.create_from_defaults)
+ else
+ fake_application_settings
+ end
end
end
diff --git a/lib/gitlab/git_access.rb b/lib/gitlab/git_access.rb
index 6444cec7eb5..9b31190a882 100644
--- a/lib/gitlab/git_access.rb
+++ b/lib/gitlab/git_access.rb
@@ -6,6 +6,8 @@ module Gitlab
attr_reader :params, :project, :git_cmd, :user
def self.can_push_to_branch?(user, project, ref)
+ return false unless user
+
if project.protected_branch?(ref) &&
!(project.developers_can_push_to_protected_branch?(ref) && project.team.developer?(user))
user.can?(:push_code_to_protected_branches, project)