gitlabhq/gitlabhq

View on GitHub
app/views/groups/edit.html.haml

Summary

Maintainability
Test Coverage
.row
  .span2
    %ul.nav.nav-pills.nav-stacked.nav-stacked-menu
      %li.active
        = link_to '#tab-edit', 'data-toggle' => 'tab' do
          %i.icon-edit
          Edit Group
      %li
        = link_to '#tab-projects', 'data-toggle' => 'tab' do
          %i.icon-folder-close
          Projects
      %li
        = link_to 'Transfer', '#tab-transfer', 'data-toggle' => 'tab'
      %li
        = link_to 'Remove', '#tab-remove', 'data-toggle' => 'tab'

  .span10
    .tab-content
      .tab-pane.active#tab-edit
        .ui-box
          .title
            %strong= @group.name
            group settings:
          %div.form-holder
            = form_for @group do |f|
              - if @group.errors.any?
                .alert.alert-error
                  %span= @group.errors.full_messages.first
              .control-group
                = f.label :name do
                  Group name is
                .controls
                  = f.text_field :name, placeholder: "Ex. OpenSource", class: "input-xxlarge left"

              .control-group.group-description-holder
                = f.label :description, "Details"
                .controls
                  = f.text_area :description, maxlength: 250, class: "input-xxlarge js-gfm-input", rows: 4

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

      .tab-pane#tab-projects
        .ui-box
          .title
            %strong= @group.name
            projects:
            - if can? current_user, :manage_group, @group
              %span.pull-right
                = link_to new_project_path(namespace_id: @group.id), class: "btn btn-tiny" do
                  %i.icon-plus
                  New Project
          %ul.well-list
            - @group.projects.each do |project|
              %li
                - if project.public
                  = public_icon
                - else
                  = private_icon
                = link_to project.name_with_namespace, project
                .pull-right
                  = link_to 'Members', project_team_index_path(project), id: "edit_#{dom_id(project)}", class: "btn btn-small"
                  = link_to 'Edit', edit_project_path(project), id: "edit_#{dom_id(project)}", class: "btn btn-small"
                  = link_to 'Remove', project, confirm: remove_project_message(project), method: :delete, class: "btn btn-small btn-remove"
            - if @group.projects.blank?
              %p.nothing_here_message This group has no projects yet

      .tab-pane#tab-transfer
        .ui-box.ui-box-danger
          .title Transfer group
          .ui-box-body
            %p
              Transferring group will cause loss of admin control over group and all child projects
            = form_for @group do |f|
              = users_select_tag(:'group[owner_id]')
              %hr
              = f.submit 'Transfer group', class: "btn btn-small btn-remove"

      .tab-pane#tab-remove
        .ui-box.ui-box-danger
          .title Remove group
          .ui-box-body
            %p
              Remove of group will cause removing all child projects and resources.
            %p
              %strong Removed group can not be restored!

            = link_to 'Remove Group', @group, confirm: 'Removed group can not be restored! Are you sure?', method: :delete, class: "btn btn-remove"