a927a9bf6b
Koding: #index: landing page for Koding integration If enabled it will provide a link to open remote Koding instance url for now we are also providing the sneak preview video for how integration works in detail. Repository: check whether .koding.yml file exists on repository Projects: landing page: show Run in IDE (Koding) button if repo has stack file Projects: MR: show Run in IDE Koding button if repo has stack file on active branch ProjectHelpers: add_koding_stack: stack generator for provided project With this helper we will auto-generate the required stack template for a given project. For the feature we can request this base template from the running Koding instance on integration. Currently this will provide users to create a t2.nano instance on aws and it'll automatically configures the instance for basic requirements. Projects: empty state and landing page provide shortcuts to create stack projects_helper: use branch on checkout and provide an entry point This ${var.koding_queryString_branch} will be replaced with the branch provided in query string which will allow us to use same stack template for different branches of the same repository. ref:b8c0e43c4c
projects_helper: provide sha info in query string to use existing vms With this change we'll be able to query existing vms on Koding side based on the commit id that they've created. ref:1d630fadf3
Integration: Docs: Koding documentation added Disable /koding route if integration is disabled Use application settings to enable Koding Projects_helper: better indentation with strip_heredoc usage Projects_helper: return koding_url as is if there is no project provided current_settings: set koding_enabled: false by default Koding_Controller: to render not_found once integration is disabled Dashboard_specs: update spec for Koding enabled case Projects_Helper: make repo dynamic ref:4d615242f4
Updated documentation to have right format
115 lines
3.3 KiB
Ruby
115 lines
3.3 KiB
Ruby
module ApplicationSettingsHelper
|
|
def gravatar_enabled?
|
|
current_application_settings.gravatar_enabled?
|
|
end
|
|
|
|
def signup_enabled?
|
|
current_application_settings.signup_enabled?
|
|
end
|
|
|
|
def signin_enabled?
|
|
current_application_settings.signin_enabled?
|
|
end
|
|
|
|
def extra_sign_in_text
|
|
current_application_settings.sign_in_text
|
|
end
|
|
|
|
def after_sign_up_text
|
|
current_application_settings.after_sign_up_text
|
|
end
|
|
|
|
def shared_runners_text
|
|
current_application_settings.shared_runners_text
|
|
end
|
|
|
|
def user_oauth_applications?
|
|
current_application_settings.user_oauth_applications
|
|
end
|
|
|
|
def askimet_enabled?
|
|
current_application_settings.akismet_enabled?
|
|
end
|
|
|
|
def koding_enabled?
|
|
current_application_settings.koding_enabled?
|
|
end
|
|
|
|
def allowed_protocols_present?
|
|
current_application_settings.enabled_git_access_protocol.present?
|
|
end
|
|
|
|
def enabled_protocol
|
|
case current_application_settings.enabled_git_access_protocol
|
|
when 'http'
|
|
gitlab_config.protocol
|
|
when 'ssh'
|
|
'ssh'
|
|
end
|
|
end
|
|
|
|
def enabled_project_button(project, protocol)
|
|
case protocol
|
|
when 'ssh'
|
|
ssh_clone_button(project, 'bottom', append_link: false)
|
|
else
|
|
http_clone_button(project, 'bottom', append_link: false)
|
|
end
|
|
end
|
|
|
|
# Return a group of checkboxes that use Bootstrap's button plugin for a
|
|
# toggle button effect.
|
|
def restricted_level_checkboxes(help_block_id)
|
|
Gitlab::VisibilityLevel.options.map do |name, level|
|
|
checked = restricted_visibility_levels(true).include?(level)
|
|
css_class = 'btn'
|
|
css_class += ' active' if checked
|
|
checkbox_name = 'application_setting[restricted_visibility_levels][]'
|
|
|
|
label_tag(checkbox_name, class: css_class) do
|
|
check_box_tag(checkbox_name, level, checked,
|
|
autocomplete: 'off',
|
|
'aria-describedby' => help_block_id) + name
|
|
end
|
|
end
|
|
end
|
|
|
|
# Return a group of checkboxes that use Bootstrap's button plugin for a
|
|
# toggle button effect.
|
|
def import_sources_checkboxes(help_block_id)
|
|
Gitlab::ImportSources.options.map do |name, source|
|
|
checked = current_application_settings.import_sources.include?(source)
|
|
css_class = 'btn'
|
|
css_class += ' active' if checked
|
|
checkbox_name = 'application_setting[import_sources][]'
|
|
|
|
label_tag(checkbox_name, class: css_class) do
|
|
check_box_tag(checkbox_name, source, checked,
|
|
autocomplete: 'off',
|
|
'aria-describedby' => help_block_id) + name
|
|
end
|
|
end
|
|
end
|
|
|
|
def oauth_providers_checkboxes
|
|
button_based_providers.map do |source|
|
|
disabled = current_application_settings.disabled_oauth_sign_in_sources.include?(source.to_s)
|
|
css_class = 'btn'
|
|
css_class << ' active' unless disabled
|
|
checkbox_name = 'application_setting[enabled_oauth_sign_in_sources][]'
|
|
|
|
label_tag(checkbox_name, class: css_class) do
|
|
check_box_tag(checkbox_name, source, !disabled,
|
|
autocomplete: 'off') + Gitlab::OAuth::Provider.label_for(source)
|
|
end
|
|
end
|
|
end
|
|
|
|
def repository_storage_options_for_select
|
|
options = Gitlab.config.repositories.storages.map do |name, path|
|
|
["#{name} - #{path}", name]
|
|
end
|
|
|
|
options_for_select(options, @application_setting.repository_storage)
|
|
end
|
|
end
|