summaryrefslogtreecommitdiffstats
path: root/templates
diff options
context:
space:
mode:
authorJakobDev <jakobdev@gmx.de>2023-03-28 20:22:07 +0200
committerGitHub <noreply@github.com>2023-03-28 14:22:07 -0400
commitf384b13f1cd44be3a87df5553a0099390dacd010 (patch)
tree08b2744df3a8792ef2f50e4d559d55e4a349c198 /templates
parent5cd1d6c93ba9b8399f826e671b8940eb5294b872 (diff)
downloadgitea-f384b13f1cd44be3a87df5553a0099390dacd010.tar.gz
gitea-f384b13f1cd44be3a87df5553a0099390dacd010.zip
Implement Issue Config (#20956)
Closes #20955 This PR adds the possibility to disable blank Issues, when the Repo has templates. This can be done by creating the file `.gitea/issue_config.yaml` with the content `blank_issues_enabled` in the Repo.
Diffstat (limited to 'templates')
-rw-r--r--templates/repo/issue/choose.tmpl39
-rw-r--r--templates/swagger/v1_json.tmpl127
2 files changed, 158 insertions, 8 deletions
diff --git a/templates/repo/issue/choose.tmpl b/templates/repo/issue/choose.tmpl
index 688e98bfc6..b5316454ba 100644
--- a/templates/repo/issue/choose.tmpl
+++ b/templates/repo/issue/choose.tmpl
@@ -20,17 +20,40 @@
</div>
</div>
{{end}}
- <div class="ui attached segment">
- <div class="ui two column grid">
- <div class="column left aligned">
- <strong>{{.locale.Tr "repo.issues.choose.blank"}}</strong>
- <br>{{.locale.Tr "repo.issues.choose.blank_about"}}
+ {{range .IssueConfig.ContactLinks}}
+ <div class="ui attached segment">
+ <div class="ui two column grid">
+ <div class="column left aligned">
+ <strong>{{.Name | RenderEmojiPlain}}</strong>
+ <br>{{.About | RenderEmojiPlain}}
+ </div>
+ <div class="column right aligned">
+ <a href="{{.URL}}" class="ui green button">{{svg "octicon-link-external"}} {{$.locale.Tr "repo.issues.choose.open_external_link"}}</a>
+ </div>
</div>
- <div class="column right aligned">
- <a href="{{.RepoLink}}/issues/new?{{if .milestone}}&milestone={{.milestone}}{{end}}{{if $.project}}&project={{$.project}}{{end}}" class="ui green button">{{$.locale.Tr "repo.issues.choose.get_started"}}</a>
+ </div>
+ {{end}}
+ {{if .IssueConfig.BlankIssuesEnabled}}
+ <div class="ui attached segment">
+ <div class="ui two column grid">
+ <div class="column left aligned">
+ <strong>{{.locale.Tr "repo.issues.choose.blank"}}</strong>
+ <br/>{{.locale.Tr "repo.issues.choose.blank_about"}}
+ </div>
+ <div class="column right aligned">
+ <a href="{{.RepoLink}}/issues/new?{{if .milestone}}&milestone={{.milestone}}{{end}}{{if $.project}}&project={{$.project}}{{end}}" class="ui green button">{{$.locale.Tr "repo.issues.choose.get_started"}}</a>
+ </div>
</div>
</div>
- </div>
+ {{end}}
+ {{- if .IssueConfigError}}{{/* normal warning flash makes problems here*/}}
+ <div class="ui warning message">
+ <div class="text left">
+ <div>{{.locale.Tr "repo.issues.choose.invalid_config"}}</div>
+ <diy>{{.IssueConfigError}}</div>
+ </div>
+ </div>
+ {{end}}
</div>
</div>
{{template "base/footer" .}}
diff --git a/templates/swagger/v1_json.tmpl b/templates/swagger/v1_json.tmpl
index 2401b5d15e..fe3f31b13d 100644
--- a/templates/swagger/v1_json.tmpl
+++ b/templates/swagger/v1_json.tmpl
@@ -5013,6 +5013,72 @@
}
}
},
+ "/repos/{owner}/{repo}/issue_config": {
+ "get": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "repository"
+ ],
+ "summary": "Returns the issue config for a repo",
+ "operationId": "repoGetIssueConfig",
+ "parameters": [
+ {
+ "type": "string",
+ "description": "owner of the repo",
+ "name": "owner",
+ "in": "path",
+ "required": true
+ },
+ {
+ "type": "string",
+ "description": "name of the repo",
+ "name": "repo",
+ "in": "path",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "$ref": "#/responses/RepoIssueConfig"
+ }
+ }
+ }
+ },
+ "/repos/{owner}/{repo}/issue_config/validate": {
+ "get": {
+ "produces": [
+ "application/json"
+ ],
+ "tags": [
+ "repository"
+ ],
+ "summary": "Returns the validation information for a issue config",
+ "operationId": "repoValidateIssueConfig",
+ "parameters": [
+ {
+ "type": "string",
+ "description": "owner of the repo",
+ "name": "owner",
+ "in": "path",
+ "required": true
+ },
+ {
+ "type": "string",
+ "description": "name of the repo",
+ "name": "repo",
+ "in": "path",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "$ref": "#/responses/RepoIssueConfigValidation"
+ }
+ }
+ }
+ },
"/repos/{owner}/{repo}/issue_templates": {
"get": {
"produces": [
@@ -18165,6 +18231,55 @@
},
"x-go-package": "code.gitea.io/gitea/modules/structs"
},
+ "IssueConfig": {
+ "type": "object",
+ "properties": {
+ "blank_issues_enabled": {
+ "type": "boolean",
+ "x-go-name": "BlankIssuesEnabled"
+ },
+ "contact_links": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IssueConfigContactLink"
+ },
+ "x-go-name": "ContactLinks"
+ }
+ },
+ "x-go-package": "code.gitea.io/gitea/modules/structs"
+ },
+ "IssueConfigContactLink": {
+ "type": "object",
+ "properties": {
+ "about": {
+ "type": "string",
+ "x-go-name": "About"
+ },
+ "name": {
+ "type": "string",
+ "x-go-name": "Name"
+ },
+ "url": {
+ "type": "string",
+ "x-go-name": "URL"
+ }
+ },
+ "x-go-package": "code.gitea.io/gitea/modules/structs"
+ },
+ "IssueConfigValidation": {
+ "type": "object",
+ "properties": {
+ "message": {
+ "type": "string",
+ "x-go-name": "Message"
+ },
+ "valid": {
+ "type": "boolean",
+ "x-go-name": "Valid"
+ }
+ },
+ "x-go-package": "code.gitea.io/gitea/modules/structs"
+ },
"IssueDeadline": {
"description": "IssueDeadline represents an issue deadline",
"type": "object",
@@ -21444,6 +21559,18 @@
"$ref": "#/definitions/RepoCollaboratorPermission"
}
},
+ "RepoIssueConfig": {
+ "description": "RepoIssueConfig",
+ "schema": {
+ "$ref": "#/definitions/IssueConfig"
+ }
+ },
+ "RepoIssueConfigValidation": {
+ "description": "RepoIssueConfigValidation",
+ "schema": {
+ "$ref": "#/definitions/IssueConfigValidation"
+ }
+ },
"Repository": {
"description": "Repository",
"schema": {