Commit 123715d5 authored by GitLab Bot's avatar GitLab Bot

Merge remote-tracking branch 'upstream/master' into ce-to-ee-2018-08-08

# Conflicts:
#	db/schema.rb
#	spec/services/notes/create_service_spec.rb
#	spec/support/shared_examples/services/boards/issues_move_service.rb

[ci skip]
parents fffdce87 6f21652f
module RepositorySettingsRedirect
extend ActiveSupport::Concern
def redirect_to_repository_settings(project)
redirect_to project_settings_repository_path(project)
def redirect_to_repository_settings(project, anchor: nil)
redirect_to project_settings_repository_path(project, anchor: anchor)
end
end
......@@ -86,7 +86,7 @@ class GroupsController < Groups::ApplicationController
def update
if Groups::UpdateService.new(@group, current_user, group_params).execute
redirect_to edit_group_path(@group), notice: "Group '#{@group.name}' was successfully updated."
redirect_to edit_group_path(@group, anchor: params[:update_section]), notice: "Group '#{@group.name}' was successfully updated."
else
@group.restore_path!
......
......@@ -21,6 +21,6 @@ class Projects::AvatarsController < Projects::ApplicationController
@project.save
redirect_to edit_project_path(@project), status: :found
redirect_to edit_project_path(@project, anchor: 'js-general-project-settings'), status: :found
end
end
......@@ -10,7 +10,7 @@ class Projects::DeployKeysController < Projects::ApplicationController
def index
respond_to do |format|
format.html { redirect_to_repository_settings(@project) }
format.html { redirect_to_repository_settings(@project, anchor: 'js-deploy-keys-settings') }
format.json do
render json: Projects::Settings::DeployKeysPresenter.new(@project, current_user: current_user).as_json
end
......@@ -18,7 +18,7 @@ class Projects::DeployKeysController < Projects::ApplicationController
end
def new
redirect_to_repository_settings(@project)
redirect_to_repository_settings(@project, anchor: 'js-deploy-keys-settings')
end
def create
......@@ -30,7 +30,7 @@ class Projects::DeployKeysController < Projects::ApplicationController
flash[:alert] = @key.errors.full_messages.join(', ').html_safe
end
redirect_to_repository_settings(@project)
redirect_to_repository_settings(@project, anchor: 'js-deploy-keys-settings')
end
def edit
......@@ -39,7 +39,7 @@ class Projects::DeployKeysController < Projects::ApplicationController
def update
if deploy_key.update(update_params)
flash[:notice] = 'Deploy key was successfully updated.'
redirect_to_repository_settings(@project)
redirect_to_repository_settings(@project, anchor: 'js-deploy-keys-settings')
else
render 'edit'
end
......@@ -51,7 +51,7 @@ class Projects::DeployKeysController < Projects::ApplicationController
log_audit_event(@key.title, action: :create)
respond_to do |format|
format.html { redirect_to_repository_settings(@project) }
format.html { redirect_to_repository_settings(@project, anchor: 'js-deploy-keys-settings') }
format.json { head :ok }
end
end
......@@ -65,7 +65,7 @@ class Projects::DeployKeysController < Projects::ApplicationController
log_audit_event(@key.title, action: :destroy)
respond_to do |format|
format.html { redirect_to_repository_settings(@project) }
format.html { redirect_to_repository_settings(@project, anchor: 'js-deploy-keys-settings') }
format.json { head :ok }
end
end
......
......@@ -5,6 +5,6 @@ class Projects::DeployTokensController < Projects::ApplicationController
@token = @project.deploy_tokens.find(params[:id])
@token.revoke!
redirect_to project_settings_repository_path(project)
redirect_to project_settings_repository_path(project, anchor: 'js-deploy-tokens')
end
end
......@@ -11,7 +11,7 @@ class Projects::MirrorsController < Projects::ApplicationController
layout "project_settings"
def show
redirect_to_repository_settings(project)
redirect_to_repository_settings(project, anchor: 'js-push-remote-settings')
end
def update
......@@ -24,7 +24,7 @@ class Projects::MirrorsController < Projects::ApplicationController
end
respond_to do |format|
format.html { redirect_to_repository_settings(project) }
format.html { redirect_to_repository_settings(project, anchor: 'js-push-remote-settings') }
format.json do
if project.errors.present?
render json: project.errors, status: :unprocessable_entity
......@@ -41,7 +41,7 @@ class Projects::MirrorsController < Projects::ApplicationController
flash[:notice] = "The remote repository is being updated..."
end
redirect_to_repository_settings(project)
redirect_to_repository_settings(project, anchor: 'js-push-remote-settings')
end
private
......
......@@ -19,7 +19,7 @@ class Projects::ProtectedRefsController < Projects::ApplicationController
flash[:alert] = protected_ref.errors.full_messages.join(', ').html_safe
end
redirect_to_repository_settings(@project)
redirect_to_repository_settings(@project, anchor: params[:update_section])
end
def show
......@@ -40,7 +40,7 @@ class Projects::ProtectedRefsController < Projects::ApplicationController
destroy_service_class.new(@project, current_user).execute(@protected_ref)
respond_to do |format|
format.html { redirect_to_repository_settings(@project) }
format.html { redirect_to_repository_settings(@project, anchor: params[:update_section]) }
format.js { head :ok }
end
end
......
......@@ -63,7 +63,7 @@ class ProjectsController < Projects::ApplicationController
flash[:notice] = _("Project '%{project_name}' was successfully updated.") % { project_name: @project.name }
format.html do
redirect_to(edit_project_path(@project))
redirect_to(edit_project_path(@project, anchor: 'js-general-project-settings'))
end
else
flash.now[:alert] = result[:message]
......@@ -176,7 +176,7 @@ class ProjectsController < Projects::ApplicationController
)
rescue ::Projects::HousekeepingService::LeaseTaken => ex
redirect_to(
edit_project_path(@project),
edit_project_path(@project, anchor: 'js-project-advanced-settings'),
alert: ex.to_s
)
end
......@@ -185,7 +185,7 @@ class ProjectsController < Projects::ApplicationController
@project.add_export_job(current_user: current_user)
redirect_to(
edit_project_path(@project),
edit_project_path(@project, anchor: 'js-export-project'),
notice: _("Project export started. A download link will be sent by email.")
)
end
......@@ -197,7 +197,7 @@ class ProjectsController < Projects::ApplicationController
send_file export_project_path, disposition: 'attachment'
else
redirect_to(
edit_project_path(@project),
edit_project_path(@project, anchor: 'js-export-project'),
alert: _("Project export link has expired. Please generate a new export from your project settings.")
)
end
......@@ -210,7 +210,7 @@ class ProjectsController < Projects::ApplicationController
flash[:alert] = _("Project export could not be deleted.")
end
redirect_to(edit_project_path(@project))
redirect_to(edit_project_path(@project, anchor: 'js-export-project'))
end
def generate_new_export
......@@ -218,7 +218,7 @@ class ProjectsController < Projects::ApplicationController
export
else
redirect_to(
edit_project_path(@project),
edit_project_path(@project, anchor: 'js-export-project'),
alert: _("Project export could not be deleted.")
)
end
......
# frozen_string_literal: true
# == AccessRequestable concern
#
# Contains functionality related to objects that can receive request for access.
......
# frozen_string_literal: true
# Adapter class to unify the interface between mounted uploaders and the
# Ci::Artifact model
# Meant to be prepended so the interface can stay the same
......
# frozen_string_literal: true
# Include atomic internal id generation scheme for a model
#
# This allows us to atomically generate internal ids that are
......
# frozen_string_literal: true
module Avatarable
extend ActiveSupport::Concern
......@@ -57,7 +59,8 @@ module Avatarable
only_path = false
end
url_base = ""
url_base = []
if use_asset_host
url_base << asset_host unless only_path
else
......@@ -65,7 +68,7 @@ module Avatarable
url_base << gitlab_config.relative_url_root
end
url_base + avatar.local_url + query_params
url_base.join + avatar.local_url + query_params
end
# Path that is persisted in the tracking Upload model. Used to fetch the
......
# frozen_string_literal: true
module Awardable
extend ActiveSupport::Concern
......
# frozen_string_literal: true
# Provides a way to work around Rails issue where dependent objects are all
# loaded into memory before destroyed: https://github.com/rails/rails/issues/22510.
#
......
# frozen_string_literal: true
module BlobLike
extend ActiveSupport::Concern
include Linguist::BlobHelper
......
# frozen_string_literal: true
# Overrides `as_json` and `to_json` to raise an exception when called in order
# to prevent accidentally exposing attributes
#
......
# frozen_string_literal: true
# Returns and caches in thread max member access for a resource
#
module BulkMemberAccessLoad
......
# frozen_string_literal: true
# This module takes care of updating cache columns for Markdown-containing
# fields. Use like this in the body of your class:
#
......
# frozen_string_literal: true
module CacheableAttributes
extend ActiveSupport::Concern
......
# frozen_string_literal: true
# Concern for querying columns with specific case sensitivity handling.
module CaseSensitivity
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module ChronicDurationAttribute
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module CreatedAtFilterable
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module DeploymentPlatform
# EE would override this and utilize environment argument
# rubocop:disable Gitlab/ModuleWithInstanceVariables
......
# frozen_string_literal: true
module DiffFile
extend ActiveSupport::Concern
......
# frozen_string_literal: true
# Contains functionality shared between `DiffDiscussion` and `LegacyDiffDiscussion`.
module DiscussionOnDiff
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module EachBatch
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module Editable
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module EnumWithNil
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module Expirable
extend ActiveSupport::Concern
......
# frozen_string_literal: true
##
# This module is for replacing `dependent: :destroy` and `before_destroy` hooks.
#
......
# frozen_string_literal: true
module FasterCacheKeys
# A faster version of Rails' "cache_key" method.
#
......
# frozen_string_literal: true
module FeatureGate
def flipper_id
return nil if new_record?
......
# frozen_string_literal: true
module GhostUser
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module GroupDescendant
# Returns the hierarchy of a project or group in the from of a hash upto a
# given top.
......
# frozen_string_literal: true
module HasStatus
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module HasVariable
extend ActiveSupport::Concern
......
# frozen_string_literal: true
# Module that can be included into a model to make it easier to ignore database
# columns.
#
......
# frozen_string_literal: true
module IidRoutes
##
# This automagically enforces all related routes to use `iid` instead of `id`
......
# frozen_string_literal: true
module Importable
extend ActiveSupport::Concern
......
# frozen_string_literal: true
# == Issuable concern
#
# Contains common functionality shared between Issues and MergeRequests
......
# frozen_string_literal: true
module LoadedInGroupList
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module ManualInverseAssociation
extend ActiveSupport::Concern
......
# frozen_string_literal: true
# == Mentionable concern
#
# Contains functionality related to objects that can mention Users, Issues, MergeRequests, Commits or Snippets by
......
# frozen_string_literal: true
module Mentionable
module ReferenceRegexes
def self.reference_pattern(link_patterns, issue_pattern)
......
# frozen_string_literal: true
module Milestoneish
def closed_items_count(user)
memoize_per_user(user, :closed_items_count) do
......
# frozen_string_literal: true
# Contains functionality shared between `DiffNote` and `LegacyDiffNote`.
module NoteOnDiff
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module Noteable
# Names of all implementers of `Noteable` that support resolvable notes.
RESOLVABLE_TYPES = %w(MergeRequest).freeze
......
# frozen_string_literal: true
# == Participable concern
#
# Contains functionality related to objects that can have participants, such as
......
# frozen_string_literal: true
module Presentable
extend ActiveSupport::Concern
......
# frozen_string_literal: true
# Makes api V4 compatible with old project features permissions methods
#
# After migrating issues_enabled merge_requests_enabled builds_enabled snippets_enabled and wiki_enabled
......
# frozen_string_literal: true
module PrometheusAdapter
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module ProtectedBranchAccess
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module ProtectedRef
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module ProtectedRefAccess
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module ProtectedTagAccess
extend ActiveSupport::Concern
......
# frozen_string_literal: true
# The ReactiveCaching concern is used to fetch some data in the background and
# store it in the Rails cache, keeping it up-to-date for as long as it is being
# requested. If the data hasn't been requested for +reactive_cache_lifetime+,
......
# frozen_string_literal: true
module ReactiveService
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module RedisCacheable
extend ActiveSupport::Concern
include Gitlab::Utils::StrongMemoize
......
# frozen_string_literal: true
# == Referable concern
#
# Contains functionality related to making a model referable in Markdown, such
......
# frozen_string_literal: true
module RelativePositioning
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module ResolvableDiscussion
extend ActiveSupport::Concern
include ::Gitlab::Utils::StrongMemoize
......
# frozen_string_literal: true
module ResolvableNote
extend ActiveSupport::Concern
......
# frozen_string_literal: true
# Store object full path in separate table for easy lookup and uniq validation
# Object must have name and path db fields and respond to parent and parent_changed? methods.
module Routable
......
# frozen_string_literal: true
module SelectForProjectAuthorization
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module ShaAttribute
extend ActiveSupport::Concern
......
# frozen_string_literal: true
# == Sortable concern
#
# Set default scope for ordering objects
......
# frozen_string_literal: true
module Spammable
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module Storage
module LegacyNamespace
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module Storage
module LegacyProjectWiki
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module Storage
module LegacyRepository
extend ActiveSupport::Concern
......
# frozen_string_literal: true
# == Strip Attribute module
#
# Contains functionality to clean attributes before validation
......
# frozen_string_literal: true
# == Subscribable concern
#
# Users can subscribe to these models.
......
# frozen_string_literal: true
require 'task_list'
require 'task_list/filter'
......
# frozen_string_literal: true
# ThrottledTouch can be used to throttle the number of updates triggered by
# calling "touch" on an ActiveRecord model.
module ThrottledTouch
......
# frozen_string_literal: true
# == TimeTrackable concern
#
# Contains functionality related to objects that support time tracking.
......
# frozen_string_literal: true
module TokenAuthenticatable
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module TriggerableHooks
AVAILABLE_TRIGGERS = {
repository_update_hooks: :repository_update_events,
......
# frozen_string_literal: true
# Uniquify
#
# Return a version of the given 'base' string that is unique
......
# frozen_string_literal: true
module UpdatedAtFilterable
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module ValidAttribute
extend ActiveSupport::Concern
......
# frozen_string_literal: true
# Mounted uploaders are destroyed by carrierwave's after_commit
# hook. This hook fetches upload location (local vs remote) from
# Upload model. So it's neccessary to make sure that during that
......
# frozen_string_literal: true
module ConversationalDevelopmentIndex
class Card
attr_accessor :metric, :title, :description, :feature, :blog, :docs
......
# frozen_string_literal: true
module ConversationalDevelopmentIndex
class IdeaToProductionStep
attr_accessor :metric, :title, :features
......
# frozen_string_literal: true
module ConversationalDevelopmentIndex
class Metric < ActiveRecord::Base
include Presentable
......
# frozen_string_literal: true
module DiffViewer
class Added < Base
include Simple
......
# frozen_string_literal: true
module DiffViewer
class Base
PARTIAL_PATH_PREFIX = 'projects/diffs/viewers'.freeze
......
# frozen_string_literal: true
module DiffViewer
module ClientSide
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module DiffViewer
class Deleted < Base
include Simple
......
# frozen_string_literal: true
module DiffViewer
class Image < Base
include Rich
......
# frozen_string_literal: true
module DiffViewer
class ModeChanged < Base
include Simple
......
# frozen_string_literal: true
module DiffViewer
class NoPreview < Base
include Simple
......
# frozen_string_literal: true
module DiffViewer
class NotDiffable < Base
include Simple
......
# frozen_string_literal: true
module DiffViewer
class Renamed < Base
include Simple
......
# frozen_string_literal: true
module DiffViewer
module Rich
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module DiffViewer
module ServerSide
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module DiffViewer
module Simple
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module DiffViewer
module Static
extend ActiveSupport::Concern
......
# frozen_string_literal: true
module DiffViewer
class Text < Base
include Simple
......
# frozen_string_literal: true
class ProjectHook < WebHook
include CustomModelNaming
include TriggerableHooks
......
# frozen_string_literal: true
class ServiceHook < WebHook
belongs_to :service
validates :service, presence: true
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
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