edit.html.haml 6.17 KB
.project-edit-container
  .project-edit-errors
  .project-edit-content
    .ui-box.white
      .title
        %strong= @project.name
        Project Settings:
      .form-holder
        = form_for(@project, remote: true) do |f|
          %fieldset
            .clearfix.project_name_holder
              = f.label :name do
                Project name is
              .input
                = f.text_field :name, placeholder: "Example Project", class: "span5"


            .clearfix
              = f.label :description do
                Project description
                %span.light (optional)
              .input
                = f.text_area :description, placeholder: "awesome project", class: "span5", rows: 3, maxlength: 250

            - unless @project.empty_repo?
              .clearfix
                = f.label :default_branch, "Default Branch"
                .input= f.select(:default_branch, @repository.branch_names, {}, {class: 'chosen'})


          - if can?(current_user, :change_public_mode, @project)
            %fieldset.public-mode
              %legend
                Public mode:
              .control-group
                = f.label :public, class: 'control-label' do
                  %span Public access
                .controls
                  = f.check_box :public
                  %span.descr
                    If checked, this project can be cloned
                    %em without any
                    authentication.
                    It will also be listed on the #{link_to "public access directory", public_root_path}.
                    %em Any
                    user will have #{link_to "Guest", help_permissions_path} permissions on the repository.

          %fieldset.features
            %legend
              Labels:
            .control-group
              = f.label :label_list, "Labels", class: 'control-label'
              .controls
                = f.text_field :label_list, maxlength: 2000, class: "span5"
                %p.hint Separate with comma.

          %fieldset.features
            %legend
              Features:
            .control-group
              = f.label :issues_enabled, "Issues", class: 'control-label'
              .controls
                = f.check_box :issues_enabled
                %span.descr Lightweight issue tracking system for this project

            - if Project.issues_tracker.values.count > 1
              .control-group
                = f.label :issues_tracker, "Issues tracker", class: 'control-label'
                .input= f.select(:issues_tracker, Project.issues_tracker.values, {}, { disabled: !@project.issues_enabled })

              .clearfix
                = f.label :issues_tracker_id, "Project name or id in issues tracker", class: 'control-label'
                .input= f.text_field :issues_tracker_id, disabled: !@project.can_have_issues_tracker_id?

            .control-group
              = f.label :merge_requests_enabled, "Merge Requests", class: 'control-label'
              .controls
                = f.check_box :merge_requests_enabled
                %span.descr Submit changes to be merged upstream.

            .control-group
              = f.label :wiki_enabled, "Wiki", class: 'control-label'
              .controls
                = f.check_box :wiki_enabled
                %span.descr Pages for project documentation

            .control-group
              = f.label :wall_enabled, "Wall", class: 'control-label'
              .controls
                = f.check_box :wall_enabled
                %span.descr Simple chat system for broadcasting inside project

            .control-group
              = f.label :snippets_enabled, "Snippets", class: 'control-label'
              .controls
                = f.check_box :snippets_enabled
                %span.descr Share code pastes with others out of git repository


          .form-actions
            = f.submit 'Save', class: "btn btn-save"

    - if can?(current_user, :change_namespace, @project)
      .ui-box.ui-box-danger
        .title Transfer project
        .errors-holder
        .form-holder
          = form_for(@project, url: transfer_project_path(@project), remote: true, html: { class: 'transfer-project' }) do |f|
            .control-group
              = f.label :namespace_id do
                %span Namespace
              .controls
                .clearfix
                  = f.select :namespace_id, namespaces_options(@project.namespace_id), {prompt: 'Choose a project namespace'}, {class: 'chosen'}
                %ul
                  %li Be careful. Changing project namespace can have unintended side effects
                  %li You can transfer project only to namespaces you can manage
                  %li You will need to update your local repositories to point to the new location.
            .form-actions
              = f.submit 'Transfer', class: "btn btn-remove"
    - else
      %p.nothing_here_message Only project owner can transfer a project

    .ui-box.ui-box-danger
      .title Rename repository
      .errors-holder
      .form-holder
        = form_for(@project) do |f|
          .control-group
            = f.label :path do
              %span Path
            .controls
              .clearfix
                = f.text_field :path
              %ul
                %li Be careful. Rename of project repo can have unintended side effects
                %li You will need to update your local repositories to point to the new location.
          .form-actions
            = f.submit 'Rename', class: "btn btn-remove"

    - if can?(current_user, :remove_project, @project)
      .ui-box.ui-box-danger
        .title Remove project
        .ui-box-body
          %p
            Remove of project will cause removing repository and all related resources like issues, merge requests etc.
          %p
            %strong Removed project can not be restored!

          = link_to 'Remove project', @project, confirm: remove_project_message(@project), method: :delete, class: "btn btn-remove btn-small"
    - else
      %p.nothing_here_message Only project owner can remove a project

.save-project-loader.hide
  %center
    = image_tag "ajax_loader.gif"
    %h3 Saving project. Please wait a moment, this page will automatically refresh when ready.