|
|
|
@ -19,6 +19,7 @@ import (
|
|
|
|
|
macaron "gopkg.in/macaron.v1"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
// PullRequest contains informations to make a pull request
|
|
|
|
|
type PullRequest struct {
|
|
|
|
|
BaseRepo *models.Repository
|
|
|
|
|
Allowed bool
|
|
|
|
@ -26,6 +27,7 @@ type PullRequest struct {
|
|
|
|
|
HeadInfo string // [<user>:]<branch>
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// Repository contains informations to operate a repository
|
|
|
|
|
type Repository struct {
|
|
|
|
|
AccessMode models.AccessMode
|
|
|
|
|
IsWatching bool
|
|
|
|
@ -96,6 +98,7 @@ func (r *Repository) GetEditorconfig() (*editorconfig.Editorconfig, error) {
|
|
|
|
|
return editorconfig.ParseBytes(data)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// RetrieveBaseRepo retrieves base repository
|
|
|
|
|
func RetrieveBaseRepo(ctx *Context, repo *models.Repository) {
|
|
|
|
|
// Non-fork repository will not return error in this method.
|
|
|
|
|
if err := repo.GetBaseRepo(); err != nil {
|
|
|
|
@ -130,6 +133,7 @@ func earlyResponseForGoGetMeta(ctx *Context) {
|
|
|
|
|
})))
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// RepoAssignment returns a macaron to handle repository assignment
|
|
|
|
|
func RepoAssignment(args ...bool) macaron.Handler {
|
|
|
|
|
return func(ctx *Context) {
|
|
|
|
|
var (
|
|
|
|
@ -446,6 +450,7 @@ func RepoRef() macaron.Handler {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// RequireRepoAdmin returns a macaron middleware for requiring repository admin permission
|
|
|
|
|
func RequireRepoAdmin() macaron.Handler {
|
|
|
|
|
return func(ctx *Context) {
|
|
|
|
|
if !ctx.IsSigned || (!ctx.Repo.IsAdmin() && !ctx.User.IsAdmin) {
|
|
|
|
@ -455,6 +460,7 @@ func RequireRepoAdmin() macaron.Handler {
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// RequireRepoWriter returns a macaron middleware for requiring repository write permission
|
|
|
|
|
func RequireRepoWriter() macaron.Handler {
|
|
|
|
|
return func(ctx *Context) {
|
|
|
|
|
if !ctx.IsSigned || (!ctx.Repo.IsWriter() && !ctx.User.IsAdmin) {
|
|
|
|
|