diff options
author | Lanre Adelowo <yo@lanre.wtf> | 2020-08-17 04:07:38 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-16 23:07:38 -0400 |
commit | 4027c5dd7c11c1256094e202be591ec1b86a011e (patch) | |
tree | 49e361a50395f0496c49d52bfd571ee47c1ebf44 /modules | |
parent | d285b5d35a44bf9fde0682532aeef9550f78cf83 (diff) | |
download | gitea-4027c5dd7c11c1256094e202be591ec1b86a011e.tar.gz gitea-4027c5dd7c11c1256094e202be591ec1b86a011e.zip |
Kanban board (#8346)
Co-authored-by: 6543 <6543@obermui.de>
Co-authored-by: jaqra <48099350+jaqra@users.noreply.github.com>
Co-authored-by: Kerry <flatline-studios@users.noreply.github.com>
Co-authored-by: Jaqra <jaqra@hotmail.com>
Co-authored-by: Kyle Evans <kevans91@users.noreply.github.com>
Co-authored-by: Tsakiridis Ilias <TsakiDev@users.noreply.github.com>
Co-authored-by: Ilias Tsakiridis <ilias.tsakiridis@outlook.com>
Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
Co-authored-by: silverwind <me@silverwind.io>
Co-authored-by: zeripath <art27@cantab.net>
Co-authored-by: techknowlogick <techknowlogick@gitea.io>
Diffstat (limited to 'modules')
-rw-r--r-- | modules/auth/repo_form.go | 31 | ||||
-rw-r--r-- | modules/context/repo.go | 1 | ||||
-rw-r--r-- | modules/setting/project.go | 24 | ||||
-rw-r--r-- | modules/setting/setting.go | 1 | ||||
-rw-r--r-- | modules/structs/repo.go | 3 |
5 files changed, 60 insertions, 0 deletions
diff --git a/modules/auth/repo_form.go b/modules/auth/repo_form.go index 6c3421e4f7..696d3b9a53 100644 --- a/modules/auth/repo_form.go +++ b/modules/auth/repo_form.go @@ -128,6 +128,7 @@ type RepoSettingForm struct { ExternalTrackerURL string TrackerURLFormat string TrackerIssueStyle string + EnableProjects bool EnablePulls bool PullsIgnoreWhitespace bool PullsAllowMerge bool @@ -364,6 +365,7 @@ type CreateIssueForm struct { AssigneeIDs string `form:"assignee_ids"` Ref string `form:"ref"` MilestoneID int64 + ProjectID int64 AssigneeID int64 Content string Files []string @@ -422,6 +424,35 @@ func (i IssueLockForm) HasValidReason() bool { return false } +// __________ __ __ +// \______ \_______ ____ |__| ____ _____/ |_ ______ +// | ___/\_ __ \/ _ \ | |/ __ \_/ ___\ __\/ ___/ +// | | | | \( <_> ) | \ ___/\ \___| | \___ \ +// |____| |__| \____/\__| |\___ >\___ >__| /____ > +// \______| \/ \/ \/ + +// CreateProjectForm form for creating a project +type CreateProjectForm struct { + Title string `binding:"Required;MaxSize(100)"` + Content string + BoardType models.ProjectBoardType +} + +// UserCreateProjectForm is a from for creating an individual or organization +// form. +type UserCreateProjectForm struct { + Title string `binding:"Required;MaxSize(100)"` + Content string + BoardType models.ProjectBoardType + UID int64 `binding:"Required"` +} + +// EditProjectBoardTitleForm is a form for editing the title of a project's +// board +type EditProjectBoardTitleForm struct { + Title string `binding:"Required;MaxSize(100)"` +} + // _____ .__.__ __ // / \ |__| | ____ _______/ |_ ____ ____ ____ // / \ / \| | | _/ __ \ / ___/\ __\/ _ \ / \_/ __ \ diff --git a/modules/context/repo.go b/modules/context/repo.go index 5ebed0eb7e..4aac0c05aa 100644 --- a/modules/context/repo.go +++ b/modules/context/repo.go @@ -818,5 +818,6 @@ func UnitTypes() macaron.Handler { ctx.Data["UnitTypeWiki"] = models.UnitTypeWiki ctx.Data["UnitTypeExternalWiki"] = models.UnitTypeExternalWiki ctx.Data["UnitTypeExternalTracker"] = models.UnitTypeExternalTracker + ctx.Data["UnitTypeProjects"] = models.UnitTypeProjects } } diff --git a/modules/setting/project.go b/modules/setting/project.go new file mode 100644 index 0000000000..56505b0ca4 --- /dev/null +++ b/modules/setting/project.go @@ -0,0 +1,24 @@ +// Copyright 2020 The Gitea Authors. All rights reserved. +// Use of this source code is governed by a MIT-style +// license that can be found in the LICENSE file. + +package setting + +import "code.gitea.io/gitea/modules/log" + +// Project settings +var ( + Project = struct { + ProjectBoardBasicKanbanType []string + ProjectBoardBugTriageType []string + }{ + ProjectBoardBasicKanbanType: []string{"To Do", "In Progress", "Done"}, + ProjectBoardBugTriageType: []string{"Needs Triage", "High Priority", "Low Priority", "Closed"}, + } +) + +func newProject() { + if err := Cfg.Section("project").MapTo(&Project); err != nil { + log.Fatal("Failed to map Project settings: %v", err) + } +} diff --git a/modules/setting/setting.go b/modules/setting/setting.go index d77df2d75f..33854a2300 100644 --- a/modules/setting/setting.go +++ b/modules/setting/setting.go @@ -1124,4 +1124,5 @@ func NewServices() { newIndexerService() newTaskService() NewQueueService() + newProject() } diff --git a/modules/structs/repo.go b/modules/structs/repo.go index 2ff1a1ec26..217a6f74ad 100644 --- a/modules/structs/repo.go +++ b/modules/structs/repo.go @@ -82,6 +82,7 @@ type Repository struct { HasWiki bool `json:"has_wiki"` ExternalWiki *ExternalWiki `json:"external_wiki,omitempty"` HasPullRequests bool `json:"has_pull_requests"` + HasProjects bool `json:"has_projects"` IgnoreWhitespaceConflicts bool `json:"ignore_whitespace_conflicts"` AllowMerge bool `json:"allow_merge_commits"` AllowRebase bool `json:"allow_rebase"` @@ -147,6 +148,8 @@ type EditRepoOption struct { DefaultBranch *string `json:"default_branch,omitempty"` // either `true` to allow pull requests, or `false` to prevent pull request. HasPullRequests *bool `json:"has_pull_requests,omitempty"` + // either `true` to enable project unit, or `false` to disable them. + HasProjects *bool `json:"has_projects,omitempty"` // either `true` to ignore whitespace for conflicts, or `false` to not ignore whitespace. `has_pull_requests` must be `true`. IgnoreWhitespaceConflicts *bool `json:"ignore_whitespace_conflicts,omitempty"` // either `true` to allow merging pull requests with a merge commit, or `false` to prevent merging pull requests with merge commits. `has_pull_requests` must be `true`. |