Skip to content
Snippets Groups Projects
Commit dac7c44a authored by Dmitriy Zaporozhets's avatar Dmitriy Zaporozhets
Browse files

Updated readme, Roles in progress

parent 37224dc9
No related branches found
No related tags found
No related merge requests found
Showing
with 164 additions and 66 deletions
app/assets/images/help_commit.png

95.7 KiB

app/assets/images/help_merge_request.png

54.5 KiB

Loading
Loading
@@ -6,6 +6,10 @@ a {
}
}
 
.vlink {
color: $link_color !important;
}
.pills .active a {
background-color: #474D57;
}
Loading
Loading
@@ -27,6 +31,7 @@ a {
.cgray { color:gray; }
.cred { color:#D12F19; }
.cgreen { color:#44aa22; }
.cblack { color:#111; }
 
/** COMMON STYLES **/
.left {
Loading
Loading
@@ -259,3 +264,5 @@ img.lil_av {
}
 
}
.help li { color:#111 }
Loading
Loading
@@ -6,6 +6,8 @@ class ProtectedBranchesController < ApplicationController
before_filter :authorize_read_project!
before_filter :require_non_empty_project
 
before_filter :authorize_admin_project!, :only => [:destroy, :create]
layout "project"
 
def index
Loading
Loading
@@ -19,5 +21,11 @@ class ProtectedBranchesController < ApplicationController
end
 
def destroy
@project.protected_branches.find(params[:id]).destroy
respond_to do |format|
format.html { redirect_to project_protected_branches_path }
format.js { render :nothing => true }
end
end
end
Loading
Loading
@@ -34,7 +34,9 @@ module ProjectsHelper
 
def repository_tab_class
if controller.controller_name == "repositories" ||
controller.controller_name == "hooks"
controller.controller_name == "hooks" ||
controller.controller_name == "protected_branches" ||
controller.controller_name == "deploy_keys"
"current"
end
end
Loading
Loading
class UsersProject < ActiveRecord::Base
REPORTER = 21
DEVELOPER = 22
MASTER = 33
belongs_to :user
belongs_to :project
 
Loading
Loading
@@ -41,6 +45,18 @@ class UsersProject < ActiveRecord::Base
end
end
 
def self.access_roles
{
"Reporter" => REPORTER,
"Developer" => DEVELOPER,
"Master" => MASTER
}
end
def role_access
"#{project_access}#{repo_access}"
end
def update_repository
Gitlabhq::GitHost.system.new.configure do |c|
c.update_project(project.path, project)
Loading
Loading
- bash_lexer = Pygments::Lexer[:bash]
%div.help_content
%h2
Gitlabhq
%span.right v2.1
%hr
%h3 Self Hosted Git Management
%h3 Fast, secure and stable solution based on Ruby on Rails & Gitolite.
%h3
Gitlabhq
%span.right v2.2
%hr
%h4 Self Hosted Git Management
%h4 Fast, secure and stable solution based on Ruby on Rails & Gitolite.
 
%hr
%hr
 
.menu
%h3= link_to "Workflow", "#", :class => "active"
%h3 Help
 
.content
%h3 Clone project
.bash
%pre
git clone git@example.com:project-name.git
%ol
%li
= link_to "Workflow", help_workflow_path
 
%h3 Create branch with your feature
.bash
%pre
git checkout -b $feature_name
%h3 Write code. Commit changes
.bash
%pre
git commit -am "My feature is ready"
%h3 Push your branch to gitlabhq
.bash
%pre
git push origin $feature_name
%h3 Review your code
.bash= image_tag "help_commit.png", :width => 600
%h3 Open a merge request
.bash= image_tag "help_merge_request.png", :width => 600
%h3 Your team lead will review code &amp; merge it to main branch
%li
= link_to "Permissions", help_permissions_path
%h3 Permissions
%hr
%h4 Reporter
%ul
%li Pull project code
%li Create new issue
%li Create new merge request
%li Write on project wall
%h4 Developer
%ul
%li Pull project code
%li Create new branches
%li Push to non-protected branches
%li Remove non-protected branches
%li Add tags
%li Create new issue
%li Create new merge request
%li Write on project wall
%h4 Master
%ul
%li Full repository access
%li Full project access
%li Add new team members
- bash_lexer = Pygments::Lexer[:bash]
%h3 Workflow
%hr
%ol.help
%li
%p Clone project
.bash
%pre
git clone git@example.com:project-name.git
%li
%p Create branch with your feature
.bash
%pre
git checkout -b $feature_name
%li
%p Write code. Commit changes
.bash
%pre
git commit -am "My feature is ready"
%li
%p Push your branch to gitlabhq
.bash
%pre
git push origin $feature_name
%li
%p Review your code on Commits page
%li
%p Create a merge request
%li
%p Your team lead will review code &amp; merge it to main branch
Loading
Loading
@@ -4,9 +4,9 @@
.alert-message.block-message
= link_to new_project_team_member_path(@project), :class => "btn small right", :title => "New Team Member" do
New Team Member
Manage project team from this page.
%br
To open team member profile - click on avatar.
%p Ream more about project permissions #{link_to "here", help_permissions_path, :class => "vlink"}
%p To open team member profile - click on avatar.
 
= render :partial => "team", :locals => {:project => @project}
 
= render "repositories/branches_head"
 
= form_for [@project, @protected_branch] do |f|
-if @protected_branch.errors.any?
.alert-message.block-message.error
%ul
- @protected_branch.errors.full_messages.each do |msg|
%li= msg
.alert-message.block-message
%p Protected branches designed to prevent push for all except #{link_to "masters", help_permissions_path, :class => "vlink"}.
%p This ability allows:
%ul
%li keep stable branches secured
%li forced code review before merge to protected branches
%p Ream more about project permissions #{link_to "here", help_permissions_path, :class => "vlink"}
 
.clearfix
= f.label :name
.input= f.select(:name, @project.open_branches.map { |br| [br.name, br.name] } , { :include_blank => "Select branch" }, { :style => "width:300px" })
.actions
= f.submit 'Add', :class => "primary btn"
 
 
- unless @branches.empty?
%table
%table.zebra-striped
%thead
%tr
%th Name
%th Last commit
%th
%tbody
- @branches.each do |branch|
%tr
Loading
Loading
@@ -33,6 +30,25 @@
= truncate branch.commit.id.to_s, :length => 10
= time_ago_in_words(branch.commit.committed_date)
ago
%td
- if can? current_user, :admin_project, @project
= link_to 'Unprotect', [@project, branch], :confirm => 'Are you sure?', :method => :delete, :class => "danger btn small"
- if can? current_user, :admin_project, @project
= form_for [@project, @protected_branch] do |f|
-if @protected_branch.errors.any?
.alert-message.block-message.error
%ul
- @protected_branch.errors.full_messages.each do |msg|
%li= msg
.clearfix
= f.label :name
.input= f.select(:name, @project.open_branches.map { |br| [br.name, br.name] } , { :include_blank => "Select branch" }, { :style => "width:300px" })
.actions
= f.submit 'Add', :class => "primary btn"
 
 
:javascript
Loading
Loading
Loading
Loading
@@ -6,4 +6,4 @@
%li{:class => ("active" if current_page?(project_protected_branches_path(@project)))}
= link_to project_protected_branches_path(@project) do
Protected
%hr
Loading
Loading
@@ -11,13 +11,20 @@
= f.label :user_id, "Name"
.input= f.select(:user_id, User.not_in_project(@project).all.collect {|p| [ p.name, p.id ] }, { :include_blank => "Select user" }, { :style => "width:300px" })
 
.clearfix
= f.label :project_access, "Project Access"
.input= f.select :project_access, options_for_select(Project.access_options, @team_member.project_access), {}, :class => "project-access-select"
.input= f.select :_project_access, options_for_select(UsersProject.access_roles, @team_member.role_access), {}, :class => "project-access-select"
 
.clearfix
= f.label :repo_access, "Repository Access"
.input= f.select :repo_access, options_for_select(Repository.access_options, @team_member.repo_access), {}, :class => "repo-access-select"
-#.clearfix
-#= f.label :project_access, "Project Access"
-#.input= f.select :project_access, options_for_select(Project.access_options, @team_member.project_access), {}, :class => "project-access-select"
-#.clearfix
-#= f.label :repo_access, "Repository Access"
-#.input= f.select :repo_access, options_for_select(Repository.access_options, @team_member.repo_access), {}, :class => "repo-access-select"
 
.actions
= f.submit 'Save', :class => "btn primary"
Loading
Loading
@@ -30,5 +37,6 @@
 
:javascript
$('select#team_member_user_id').chosen();
$('select#team_member_repo_access').chosen();
$('select#team_member_project_access').chosen();
$('select#team_member__project_access').chosen();
//$('select#team_member_repo_access').chosen();
//$('select#team_member_project_access').chosen();
Loading
Loading
@@ -11,9 +11,9 @@
 
.span3
= form_for(member, :as => :team_member, :url => project_team_member_path(@project, member)) do |f|
= f.select :project_access, options_for_select(Project.access_options, member.project_access), {}, :class => "medium project-access-select", :disabled => !allow_admin
.span3
= form_for(member, :as => :team_member, :url => project_team_member_path(@project, member)) do |f|
= f.select :repo_access, options_for_select(Repository.access_options, member.repo_access), {}, :class => "medium repo-access-select", :disabled => !allow_admin
= f.select :_project_access, options_for_select(UsersProject.access_roles, member.role_access), {}, :class => "medium project-access-select", :disabled => !allow_admin
-#.span3
-#= form_for(member, :as => :team_member, :url => project_team_member_path(@project, member)) do |f|
-#= f.select :repo_access, options_for_select(Repository.access_options, member.repo_access), {}, :class => "medium repo-access-select", :disabled => !allow_admin
- if @project.owner == user
%span.label Project Owner
Loading
Loading
@@ -5,6 +5,8 @@ Gitlab::Application.routes.draw do
mount Resque::Server.new, at: '/info/resque'
 
get 'help' => 'help#index'
get 'help/permissions' => 'help#permissions'
get 'help/workflow' => 'help#workflow'
 
namespace :admin do
resources :users do
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment