Commit d97a9d49 authored by Marin Jankovski's avatar Marin Jankovski

Merge branch 'master' of github.com:gitlabhq/gitlabhq

parents a835b0ce 9f45e229
No related merge requests found
......@@ -13,6 +13,7 @@ v 7.4.0
- API: filter project issues by milestone (Julien Bianchi)
- Fail harder in the backup script
- Zen mode for wiki and milestones (Robert Schilling)
- Move Emoji parsing to html-pipeline-gitlab (Robert Schilling)
v 7.3.2
- Fix creating new file via web editor
......
......@@ -62,7 +62,7 @@ class ApplicationController < ActionController::Base
end
end
def after_sign_in_path_for resource
def after_sign_in_path_for(resource)
if resource.is_a?(User) && resource.respond_to?(:blocked?) && resource.blocked?
sign_out resource
flash[:alert] = "Your account is blocked. Retry when an admin has unblocked it."
......
......@@ -15,11 +15,11 @@ class RegistrationsController < Devise::RegistrationsController
super
end
def after_sign_up_path_for resource
def after_sign_up_path_for(resource)
new_user_session_path
end
def after_inactive_sign_up_path_for resource
def after_inactive_sign_up_path_for(resource)
new_user_session_path
end
......
......@@ -19,7 +19,7 @@ module EventsHelper
[event.action_name, target].join(" ")
end
def event_filter_link key, tooltip
def event_filter_link(key, tooltip)
key = key.to_s
inactive = if @event_filter.active? key
nil
......
module IssuesHelper
def issue_css_classes issue
def issue_css_classes(issue)
classes = "issue"
classes << " closed" if issue.closed?
classes << " today" if issue.today?
......@@ -84,7 +84,7 @@ module IssuesHelper
'id', 'name', object.assignee_id)
end
def milestone_options object
def milestone_options(object)
options_from_collection_for_select(object.project.milestones.active,
'id', 'title', object.milestone_id)
end
......
......@@ -24,14 +24,14 @@ module MergeRequestsHelper
}
end
def mr_css_classes mr
def mr_css_classes(mr)
classes = "merge-request"
classes << " closed" if mr.closed?
classes << " merged" if mr.merged?
classes
end
def ci_build_details_path merge_request
def ci_build_details_path(merge_request)
merge_request.source_project.ci_service.build_page(merge_request.last_commit.sha)
end
......
module ProfileHelper
def oauth_active_class provider
def oauth_active_class(provider)
if current_user.provider == provider.to_s
'active'
end
......
......@@ -3,7 +3,7 @@ module ProjectsHelper
"You are going to remove #{user.name} from #{project.name} project team. Are you sure?"
end
def link_to_project project
def link_to_project(project)
link_to project do
title = content_tag(:span, project.name, class: 'project-name')
......@@ -39,7 +39,7 @@ module ProjectsHelper
end
end
def project_title project
def project_title(project)
if project.group
content_tag :span do
link_to(simple_sanitize(project.group.name), group_path(project.group)) + " / " + project.name
......
......@@ -89,7 +89,7 @@ module TabHelper
end
# Use nav_tab for save controller/action but different params
def nav_tab key, value, &block
def nav_tab(key, value, &block)
o = {}
o[:class] = ""
......
module TagsHelper
def tag_path tag
def tag_path(tag)
"/tags/#{tag}"
end
def tag_list project
def tag_list(project)
html = ''
project.tag_list.each do |tag|
html += link_to tag, tag_path(tag)
......
......@@ -80,7 +80,7 @@ module TreeHelper
end
end
def up_dir_path tree
def up_dir_path(tree)
file = File.join(@path, "..")
tree_join(@ref, file)
end
......
......@@ -184,7 +184,7 @@ class Ability
]
end
def group_abilities user, group
def group_abilities(user, group)
rules = []
if user.admin? || group.users.include?(user) || ProjectsFinder.new.execute(user, group: group).any?
......@@ -209,7 +209,7 @@ class Ability
rules.flatten
end
def namespace_abilities user, namespace
def namespace_abilities(user, namespace)
rules = []
# Only namespace owner and administrators can manage it
......
......@@ -90,7 +90,7 @@ class Commit
# Discover issues should be closed when this commit is pushed to a project's
# default branch.
def closes_issues project
def closes_issues(project)
Gitlab::ClosingIssueExtractor.closed_by_message_in_project(safe_message, project)
end
......
......@@ -10,7 +10,7 @@ module Mentionable
module ClassMethods
# Indicate which attributes of the Mentionable to search for GFM references.
def attr_mentionable *attrs
def attr_mentionable(*attrs)
mentionable_attrs.concat(attrs.map(&:to_s))
end
......@@ -38,7 +38,7 @@ module Mentionable
# Determine whether or not a cross-reference Note has already been created between this Mentionable and
# the specified target.
def has_mentioned? target
def has_mentioned?(target)
Note.cross_reference_exists?(target, local_reference)
end
......@@ -64,7 +64,7 @@ module Mentionable
end
# Extract GFM references to other Mentionables from this Mentionable. Always excludes its #local_reference.
def references p = project, text = mentionable_text
def references(p = project, text = mentionable_text)
return [] if text.blank?
ext = Gitlab::ReferenceExtractor.new
ext.analyze(text)
......@@ -72,7 +72,7 @@ module Mentionable
end
# Create a cross-reference Note for each GFM reference to another Mentionable found in +mentionable_text+.
def create_cross_references! p = project, a = author, without = []
def create_cross_references!(p = project, a = author, without = [])
refs = references(p) - without
refs.each do |ref|
Note.create_cross_reference_note(ref, local_reference, a, p)
......@@ -81,7 +81,7 @@ module Mentionable
# If the mentionable_text field is about to change, locate any *added* references and create cross references for
# them. Invoke from an observer's #before_save implementation.
def notice_added_references p = project, a = author
def notice_added_references(p = project, a = author)
ch = changed_attributes
original, mentionable_changed = "", false
self.class.mentionable_attrs.each do |attr|
......
......@@ -77,7 +77,7 @@ class ProjectMember < Member
false
end
def truncate_team project
def truncate_team(project)
truncate_teams [project.id]
end
......
......@@ -38,7 +38,7 @@ class Namespace < ActiveRecord::Base
scope :root, -> { where('type IS NULL') }
def self.search query
def self.search(query)
where("name LIKE :query OR path LIKE :query", query: "%#{query}%")
end
......
......@@ -6,7 +6,7 @@ module Network
@max_count ||= 650
end
def initialize project, ref, commit, filter_ref
def initialize(project, ref, commit, filter_ref)
@project = project
@ref = ref
@commit = commit
......
......@@ -331,7 +331,7 @@ class Project < ActiveRecord::Base
path
end
def items_for entity
def items_for(entity)
case entity
when 'issue' then
issues
......@@ -504,7 +504,7 @@ class Project < ActiveRecord::Base
end
# Check if current branch name is marked as protected in the system
def protected_branch? branch_name
def protected_branch?(branch_name)
protected_branches_names.include?(branch_name)
end
......
......@@ -27,7 +27,7 @@ class GitlabCiService < CiService
hook.save
end
def commit_status_path sha
def commit_status_path(sha)
project_url + "/builds/#{sha}/status.json?token=#{token}"
end
......@@ -54,7 +54,7 @@ class GitlabCiService < CiService
end
end
def build_page sha
def build_page(sha)
project_url + "/builds/#{sha}"
end
......
......@@ -11,7 +11,7 @@ class ProjectTeam
# @team << [@user, :master]
# @team << [@users, :master]
#
def << args
def <<(args)
users = args.first
if users.respond_to?(:each)
......
......@@ -203,7 +203,7 @@ class User < ActiveRecord::Base
User.where(name: name).first
end
def filter filter_name
def filter(filter_name)
case filter_name
when "admins"; self.admins
when "blocked"; self.blocked
......@@ -213,7 +213,7 @@ class User < ActiveRecord::Base
end
end
def search query
def search(query)
where("lower(name) LIKE :query OR lower(email) LIKE :query OR lower(username) LIKE :query", query: "%#{query.downcase}%")
end
......@@ -332,7 +332,7 @@ class User < ActiveRecord::Base
several_namespaces? || admin
end
def can? action, subject
def can?(action, subject)
abilities.allowed?(self, action, subject)
end
......@@ -353,7 +353,7 @@ class User < ActiveRecord::Base
(personal_projects.count.to_f / projects_limit) * 100
end
def recent_push project_id = nil
def recent_push(project_id = nil)
# Get push events not earlier than 2 hours ago
events = recent_events.code_push.where("created_at > ?", Time.now - 2.hours)
events = events.where(project_id: project_id) if project_id
......@@ -382,11 +382,11 @@ class User < ActiveRecord::Base
project.team_member_by_id(self.id)
end
def already_forked? project
def already_forked?(project)
!!fork_of(project)
end
def fork_of project
def fork_of(project)
links = ForkedProjectLink.where(forked_from_project_id: project, forked_to_project_id: personal_projects)
if links.any?
......@@ -512,7 +512,7 @@ class User < ActiveRecord::Base
NotificationService.new
end
def log_info message
def log_info(message)
Gitlab::AppLogger.info message
end
......
......@@ -25,7 +25,7 @@ class BaseService
EventCreateService.new
end
def log_info message
def log_info(message)
Gitlab::AppLogger.info message
end
......
......@@ -75,7 +75,7 @@ class GitPushService
# Extract any GFM references from the pushed commit messages. If the configured issue-closing regex is matched,
# close the referenced Issue. Create cross-reference Notes corresponding to any other referenced Mentionables.
def process_commit_messages ref
def process_commit_messages(ref)
is_default_branch = is_default_branch?(ref)
@push_commits.each do |commit|
......@@ -165,34 +165,34 @@ class GitPushService
data
end
def push_to_existing_branch? ref, oldrev
def push_to_existing_branch?(ref, oldrev)
ref_parts = ref.split('/')
# Return if this is not a push to a branch (e.g. new commits)
ref_parts[1] =~ /heads/ && oldrev != "0000000000000000000000000000000000000000"
end
def push_to_new_branch? ref, oldrev
def push_to_new_branch?(ref, oldrev)
ref_parts = ref.split('/')
ref_parts[1] =~ /heads/ && oldrev == "0000000000000000000000000000000000000000"
end
def push_remove_branch? ref, newrev
def push_remove_branch?(ref, newrev)
ref_parts = ref.split('/')
ref_parts[1] =~ /heads/ && newrev == "0000000000000000000000000000000000000000"
end
def push_to_branch? ref
def push_to_branch?(ref)
ref =~ /refs\/heads/
end
def is_default_branch? ref
def is_default_branch?(ref)
ref == "refs/heads/#{project.default_branch}"
end
def commit_user commit
def commit_user(commit)
User.find_for_commit(commit.author_email, commit.author_name) || user
end
end
......@@ -15,7 +15,8 @@
Commit message
.col-sm-10
= render 'shared/commit_message_container', {textarea: text_area_tag('commit_message',
params[:commit_message], placeholder: "Removed this file because...", required: true, rows: 3, class: 'form-control')}
params[:commit_message], placeholder: "Remove #{@blob.name}",
required: true, rows: 3, class: 'form-control')}
.form-group
.col-sm-2
.col-sm-10
......
......@@ -19,4 +19,4 @@ class RepositoryImportWorker
project.import_fail
end
end
end
\ No newline at end of file
end
......@@ -201,7 +201,7 @@ class Spinach::Features::Groups < Spinach::FeatureSteps
protected
def assigned_to_me key
def assigned_to_me(key)
project.send(key).where(assignee_id: current_user.id)
end
......
......@@ -232,8 +232,5 @@ class Spinach::Features::ProjectIssues < Spinach::FeatureSteps
def filter_issue(text)
fill_in 'issue_search', with: text
# make sure AJAX request finished
URI.parse(current_url).request_uri == project_issues_path(project, issue_search: text)
end
end
......@@ -71,7 +71,7 @@ module API
forbidden! unless current_user.is_admin?
end
def authorize! action, subject
def authorize!(action, subject)
unless abilities.allowed?(current_user, action, subject)
forbidden!
end
......
......@@ -23,7 +23,7 @@ class EventFilter
end
end
def initialize params
def initialize(params)
@params = if params
params.dup
else
......@@ -31,7 +31,7 @@ class EventFilter
end
end
def apply_filter events
def apply_filter(events)
return events unless params.present?
filter = params.dup
......@@ -50,7 +50,7 @@ class EventFilter
events = events.where(action: actions)
end
def options key
def options(key)
filter = params.dup
if filter.include? key
......@@ -62,7 +62,7 @@ class EventFilter
filter
end
def active? key
def active?(key)
params.include? key
end
end
......@@ -213,7 +213,7 @@ module Gitlab
FileUtils.rm_r(satellites_path, force: true)
end
def url_to_repo path
def url_to_repo(path)
Gitlab.config.gitlab_shell.ssh_path_prefix + "#{path}.git"
end
......
......@@ -72,7 +72,7 @@ module Gitlab
end
end
def html_escape str
def html_escape(str)
replacements = { '&' => '&amp;', '>' => '&gt;', '<' => '&lt;', '"' => '&quot;', "'" => '&#39;' }
str.gsub(/[&"'><]/, replacements)
end
......
......@@ -5,7 +5,7 @@ module Gitlab
START = "#!idiff-start!#"
FINISH = "#!idiff-finish!#"
def processing diff_arr
def processing(diff_arr)
indexes = _indexes_of_changed_lines diff_arr
indexes.each do |index|
......@@ -52,7 +52,7 @@ module Gitlab
diff_arr
end
def _indexes_of_changed_lines diff_arr
def _indexes_of_changed_lines(diff_arr)
chain_of_first_symbols = ""
diff_arr.each_with_index do |line, i|
chain_of_first_symbols += line[0]
......@@ -68,7 +68,7 @@ module Gitlab
indexes
end
def replace_markers line
def replace_markers(line)
line.gsub!(START, "<span class='idiff'>")
line.gsub!(FINISH, "</span>")
line
......
......@@ -15,7 +15,7 @@ module Gitlab
tail_output.split("\n")
end
def self.read_latest_for filename
def self.read_latest_for(filename)
path = Rails.root.join("log", filename)
tail_output, _ = Gitlab::Popen.popen(%W(tail -n 2000 #{path}))
tail_output.split("\n")
......
......@@ -9,38 +9,38 @@ module Gitlab
@users, @issues, @merge_requests, @snippets, @commits = [], [], [], [], []
end
def analyze string
def analyze(string)
parse_references(string.dup)
end
# Given a valid project, resolve the extracted identifiers of the requested type to
# model objects.
def users_for project
def users_for(project)
users.map do |identifier|
project.users.where(username: identifier).first
end.reject(&:nil?)
end
def issues_for project
def issues_for(project)
issues.map do |identifier|
project.issues.where(iid: identifier).first
end.reject(&:nil?)
end
def merge_requests_for project
def merge_requests_for(project)
merge_requests.map do |identifier|
project.merge_requests.where(iid: identifier).first
end.reject(&:nil?)
end
def snippets_for project
def snippets_for(project)
snippets.map do |identifier|
project.snippets.where(id: identifier).first
end.reject(&:nil?)
end
def commits_for project
def commits_for(project)
repo = project.repository
return [] if repo.nil?
......
......@@ -11,7 +11,7 @@ module Gitlab
@project = project
end
def log message
def log(message)
Gitlab::Satellite::Logger.error(message)
end
......
......@@ -97,7 +97,7 @@ describe 'Gitlab::Satellite::Action' do
end
class FileLockStatusChecker < File
def flocked? &block
def flocked?(&block)
status = flock LOCK_EX|LOCK_NB
case status
when false
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment