app/helpers/extend_projects_helper.rb
# frozen_string_literal: true
module ExtendProjectsHelper
def render_feature(repository, feature)
method = "#{feature}_feature"
label, css_class, enabled = send method, repository
# Get css class
base_class = ['icon-git']
base_class << css_class
base_class << 'icon-git-disabled' unless enabled
# Get label
base_label = []
base_label << label
base_label << "(#{l :label_disabled})" unless enabled
tag.i '', title: base_label.join(' '), class: base_class
end
def deployment_credentials_feature(repository)
label = l :label_deployment_credentials
css_class = 'fas fa-lock'
enabled = repository.deployment_credentials.active.any?
[label, css_class, enabled]
end
def post_receive_urls_feature(repository)
label = l :label_post_receive_urls
css_class = 'fas fa-external-link-alt'
enabled = repository.post_receive_urls.active.any?
[label, css_class, enabled]
end
def mirrors_feature(repository)
label = l :label_repository_mirrors
css_class = 'fas fa-cloud-upload-alt'
enabled = repository.mirrors.active.any?
[label, css_class, enabled]
end
def git_daemon_feature(repository)
label = l :label_git_daemon
css_class = 'fab fa-git'
enabled = repository.git_access_available?
[label, css_class, enabled]
end
def git_http_feature(repository)
label = l :label_smart_http
css_class = 'fas fa-cloud-download-alt'
enabled = repository.smart_http_enabled?
[label, css_class, enabled]
end
def git_notify_feature(repository)
label = l :label_git_notify
css_class = 'fas fa-bullhorn'
enabled = repository.git_notification_enabled?
[label, css_class, enabled]
end
def protected_branch_feature(repository)
label = l :label_protected_branch
css_class = 'fas fa-shield-alt'
enabled = repository.protected_branches_available?
[label, css_class, enabled]
end
def git_annex_feature(repository)
label = l :label_git_annex
css_class = 'fas fa-cloud-upload-alt'
enabled = repository.git_annex_enabled?
[label, css_class, enabled]
end
def public_repo_feature(repository)
label = l :label_public_repo
css_class = 'fas fa-users'
enabled = repository.public_repo?
[label, css_class, enabled]
end
end