forgeplus/app/helpers/projects_helper.rb

57 lines
1.5 KiB
Ruby

module ProjectsHelper
def render_zh_project_type(project_type)
case project_type
when 'common' then "开源托管项目"
when 'sync_mirror' then "镜像托管项目"
when 'mirror' then "开源镜像项目"
end
end
def render_zip_url(project, archive_name)
[gitea_domain, project.owner.login, project.identifier, "archive", "#{archive_name}.zip"].join('/')
end
def render_tar_url(project, archive_name)
[gitea_domain, project.owner.login, project.identifier, "archive", "#{archive_name}.tar.gz"].join('/')
end
def render_http_url(project)
[gitea_domain, project.owner.login, "#{project.identifier}.git"].join('/')
end
def gitea_domain
Gitea.gitea_config[:domain]
end
def find_user_by_login_or_mail(identifier)
(User.find_by_login identifier) || (User.find_by_mail identifier)
end
def json_response(project)
repo = project.repository
tmp_json = {}
unless project.common?
tmp_json = tmp_json.merge({
mirror_status: repo.mirror_status,
mirror_num: repo.mirror_num,
mirror_url: repo.mirror_url,
first_sync: repo.first_sync?
})
end
tmp_json = tmp_json.merge({
identifier: project.identifier,
name: project.name,
id: project.id,
type: project.numerical_for_project_type,
author: {
login: project.owner.login,
name: project.owner.real_name,
image_url: url_to_avatar(project.owner)
}
}).compact
render json: tmp_json
end
end