2018-05-09 12:01:36 +05:30
- can_collaborate = can_collaborate_with_project?(@project)
- can_create_mr_from_fork = can?(current_user, :fork_project, @project) && can?(current_user, :create_merge_request_in, @project)
2017-09-10 17:25:29 +05:30
.tree-ref-container
.tree-ref-holder
2018-03-17 18:26:18 +05:30
= render 'shared/ref_switcher', destination: 'tree', path: @path, show_create: true
2017-08-17 22:00:37 +05:30
2018-03-17 18:26:18 +05:30
- if on_top_of_branch?
2019-09-04 21:01:54 +05:30
- addtotree_toggle_attributes = { 'data-toggle': 'dropdown', 'data-target': '.add-to-tree-dropdown', 'data-boundary': 'window' }
2018-03-17 18:26:18 +05:30
- else
- addtotree_toggle_attributes = { title: _("You can only add files when you are on a branch"), data: { container: 'body' }, class: 'disabled has-tooltip' }
2019-09-04 21:01:54 +05:30
- if vue_file_list_enabled?
2019-09-30 21:07:59 +05:30
#js-repo-breadcrumb{ data: breadcrumb_data_attributes }
2019-09-04 21:01:54 +05:30
- else
%ul.breadcrumb.repo-breadcrumb
2018-11-08 19:23:39 +05:30
%li.breadcrumb-item
2019-09-04 21:01:54 +05:30
= link_to project_tree_path(@project, @ref) do
= @project.path
- path_breadcrumbs do |title, path|
%li.breadcrumb-item
= link_to truncate(title, length: 40), project_tree_path(@project, tree_join(@ref, path))
2018-03-17 18:26:18 +05:30
2019-09-04 21:01:54 +05:30
- if can_collaborate || can_create_mr_from_fork
%li.breadcrumb-item
%button.btn.add-to-tree.qa-add-to-tree{ addtotree_toggle_attributes, type: 'button' }
= sprite_icon('plus', size: 16, css_class: 'float-left')
= sprite_icon('arrow-down', size: 16, css_class: 'float-left')
- if on_top_of_branch?
.add-to-tree-dropdown
%ul.dropdown-menu
- if can_edit_tree?
%li.dropdown-header
#{ _('This directory') }
%li
= link_to project_new_blob_path(@project, @id), class: 'qa-new-file-option' do
#{ _('New file') }
%li
= link_to '#modal-upload-blob', { 'data-target' => '#modal-upload-blob', 'data-toggle' => 'modal' } do
#{ _('Upload file') }
%li
= link_to '#modal-create-new-dir', { 'data-target' => '#modal-create-new-dir', 'data-toggle' => 'modal' } do
#{ _('New directory') }
2019-12-21 20:55:43 +05:30
- elsif can_create_mr_from_fork
2019-09-04 21:01:54 +05:30
%li
- continue_params = { to: project_new_blob_path(@project, @id),
notice: edit_in_new_fork_notice,
notice_now: edit_in_new_fork_notice_now }
- fork_path = project_forks_path(@project, namespace_key: current_user.namespace.id, continue: continue_params)
= link_to fork_path, method: :post do
#{ _('New file') }
%li
- continue_params = { to: request.fullpath,
notice: edit_in_new_fork_notice + " Try to upload a file again.",
notice_now: edit_in_new_fork_notice_now }
- fork_path = project_forks_path(@project, namespace_key: current_user.namespace.id, continue: continue_params)
= link_to fork_path, method: :post do
#{ _('Upload file') }
%li
- continue_params = { to: request.fullpath,
notice: edit_in_new_fork_notice + " Try to create a new directory again.",
notice_now: edit_in_new_fork_notice_now }
- fork_path = project_forks_path(@project, namespace_key: current_user.namespace.id, continue: continue_params)
= link_to fork_path, method: :post do
#{ _('New directory') }
2018-03-17 18:26:18 +05:30
2019-09-04 21:01:54 +05:30
- if can?(current_user, :push_code, @project)
%li.divider
%li.dropdown-header
#{ _('This repository') }
%li
= link_to new_project_branch_path(@project) do
#{ _('New branch') }
%li
= link_to new_project_tag_path(@project) do
#{ _('New tag') }
2015-11-26 14:37:03 +05:30
2020-01-01 13:55:28 +05:30
.tree-controls<
2019-09-30 21:07:59 +05:30
= render_if_exists 'projects/tree/lock_link'
2019-12-26 22:10:19 +05:30
- if vue_file_list_enabled?
#js-tree-history-link.d-inline-block{ data: { history_link: project_commits_path(@project, @ref) } }
- else
= link_to s_('Commits|History'), project_commits_path(@project, @id), class: 'btn'
2016-01-14 18:37:52 +05:30
2017-09-10 17:25:29 +05:30
= render 'projects/find_file_link'
2016-01-14 18:37:52 +05:30
2019-12-21 20:55:43 +05:30
- if can_create_mr_from_fork
2020-01-01 13:55:28 +05:30
- if can_collaborate || current_user&.already_forked?(@project)
- if vue_file_list_enabled?
#js-tree-web-ide-link.d-inline-block
2019-12-21 20:55:43 +05:30
- else
2020-01-01 13:55:28 +05:30
= link_to ide_edit_path(@project, @ref, @path), class: 'btn btn-default qa-web-ide-button' do
2019-12-21 20:55:43 +05:30
= _('Web IDE')
2020-01-01 13:55:28 +05:30
- else
= link_to '#modal-confirm-fork', class: 'btn btn-default qa-web-ide-button', data: { target: '#modal-confirm-fork', toggle: 'modal'} do
= _('Web IDE')
= render 'shared/confirm_fork_modal', fork_path: ide_fork_and_edit_path(@project, @ref, @path)
2018-05-09 12:01:36 +05:30
2019-02-15 15:39:39 +05:30
- if show_xcode_link?(@project)
2020-01-01 13:55:28 +05:30
.project-action-button.project-xcode.inline<
2019-02-15 15:39:39 +05:30
= render "projects/buttons/xcode_link"
2017-09-10 17:25:29 +05:30
= render 'projects/buttons/download', project: @project, ref: @ref