mirror of
				https://github.com/go-gitea/gitea
				synced 2025-11-03 21:08:25 +00:00 
			
		
		
		
	Add edit issue
This commit is contained in:
		@@ -18,23 +18,24 @@ var (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
// Issue represents an issue or pull request of repository.
 | 
					// Issue represents an issue or pull request of repository.
 | 
				
			||||||
type Issue struct {
 | 
					type Issue struct {
 | 
				
			||||||
	Id          int64
 | 
						Id              int64
 | 
				
			||||||
	Index       int64 // Index in one repository.
 | 
						Index           int64 // Index in one repository.
 | 
				
			||||||
	Name        string
 | 
						Name            string
 | 
				
			||||||
	RepoId      int64       `xorm:"index"`
 | 
						RepoId          int64       `xorm:"index"`
 | 
				
			||||||
	Repo        *Repository `xorm:"-"`
 | 
						Repo            *Repository `xorm:"-"`
 | 
				
			||||||
	PosterId    int64
 | 
						PosterId        int64
 | 
				
			||||||
	Poster      *User `xorm:"-"`
 | 
						Poster          *User `xorm:"-"`
 | 
				
			||||||
	MilestoneId int64
 | 
						MilestoneId     int64
 | 
				
			||||||
	AssigneeId  int64
 | 
						AssigneeId      int64
 | 
				
			||||||
	IsPull      bool // Indicates whether is a pull request or not.
 | 
						IsPull          bool // Indicates whether is a pull request or not.
 | 
				
			||||||
	IsClosed    bool
 | 
						IsClosed        bool
 | 
				
			||||||
	Labels      string `xorm:"TEXT"`
 | 
						Labels          string `xorm:"TEXT"`
 | 
				
			||||||
	Mentions    string `xorm:"TEXT"`
 | 
						Mentions        string `xorm:"TEXT"`
 | 
				
			||||||
	Content     string `xorm:"TEXT"`
 | 
						Content         string `xorm:"TEXT"`
 | 
				
			||||||
	NumComments int
 | 
						RenderedContent string `xorm:"-"`
 | 
				
			||||||
	Created     time.Time `xorm:"created"`
 | 
						NumComments     int
 | 
				
			||||||
	Updated     time.Time `xorm:"updated"`
 | 
						Created         time.Time `xorm:"created"`
 | 
				
			||||||
 | 
						Updated         time.Time `xorm:"updated"`
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// CreateIssue creates new issue for repository.
 | 
					// CreateIssue creates new issue for repository.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -152,7 +152,7 @@ func ViewIssue(ctx *middleware.Context, params martini.Params) {
 | 
				
			|||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	issue.Poster = u
 | 
						issue.Poster = u
 | 
				
			||||||
	issue.Content = string(base.RenderMarkdown([]byte(issue.Content), ""))
 | 
						issue.RenderedContent = string(base.RenderMarkdown([]byte(issue.Content), ""))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Get comments.
 | 
						// Get comments.
 | 
				
			||||||
	comments, err := models.GetIssueComments(issue.Id)
 | 
						comments, err := models.GetIssueComments(issue.Id)
 | 
				
			||||||
@@ -216,8 +216,12 @@ func UpdateIssue(ctx *middleware.Context, params martini.Params, form auth.Creat
 | 
				
			|||||||
		return
 | 
							return
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	ctx.Data["Title"] = issue.Name
 | 
						ctx.JSON(200, map[string]interface{}{
 | 
				
			||||||
	ctx.Data["Issue"] = issue
 | 
							"ok":          true,
 | 
				
			||||||
 | 
							"title":       issue.Name,
 | 
				
			||||||
 | 
							"content":     string(base.RenderMarkdown([]byte(issue.Content), "")),
 | 
				
			||||||
 | 
							"raw_content": issue.Content,
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func Comment(ctx *middleware.Context, params martini.Params) {
 | 
					func Comment(ctx *middleware.Context, params martini.Params) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,17 +4,17 @@
 | 
				
			|||||||
{{template "repo/toolbar" .}}
 | 
					{{template "repo/toolbar" .}}
 | 
				
			||||||
<div id="body" class="container">
 | 
					<div id="body" class="container">
 | 
				
			||||||
    <div id="issue">
 | 
					    <div id="issue">
 | 
				
			||||||
        <div id="issue-{issue.id}" class="issue-whole issue-is-opening">
 | 
					        <div id="issue-{{.Issue.Id}}" class="issue-whole issue-is-opening">
 | 
				
			||||||
            <div class="issue-head clearfix">
 | 
					            <div class="issue-head clearfix">
 | 
				
			||||||
                <div class="number pull-right">#{{.Issue.Index}}</div>
 | 
					                <div class="number pull-right">#{{.Issue.Index}}</div>
 | 
				
			||||||
                <a class="author pull-left" href="/user/{{.Issue.Poster.Name}}"><img class="avatar" src="{{.Issue.Poster.AvatarLink}}" alt="" width="30"/></a>
 | 
					                <a class="author pull-left" href="/user/{{.Issue.Poster.Name}}"><img class="avatar" src="{{.Issue.Poster.AvatarLink}}" alt="" width="30"/></a>
 | 
				
			||||||
                <h1 class="title pull-left">{{.Issue.Name}}</h1>
 | 
					                <h1 class="title pull-left">{{.Issue.Name}}</h1>
 | 
				
			||||||
                <input id="issue-edit-title" class="form-control input-lg pull-left hidden" type="text" value="{issue.title}" data-ajax-rel="issue-edit-save" data-ajax-val="val" data-ajax-field="title"/>
 | 
					                <input id="issue-edit-title" class="form-control input-lg pull-left hidden" type="text" value="{{.Issue.Name}}" data-ajax-rel="issue-edit-save" data-ajax-val="val" data-ajax-field="title"/>
 | 
				
			||||||
                <input type="hidden" value="{issue.id}" data-ajax-rel="issue-edit-save" data-ajax-val="val" data-ajax-field="issue_id"/>
 | 
					                <input type="hidden" value="{{.Issue.Id}}" data-ajax-rel="issue-edit-save" data-ajax-val="val" data-ajax-field="issue_id"/>
 | 
				
			||||||
                <p class="info pull-left">
 | 
					                <p class="info pull-left">
 | 
				
			||||||
                    <a class="btn btn-default pull-right issue-edit" href="#" id="issue-edit-btn">Edit</a>
 | 
					                    <a class="btn btn-default pull-right issue-edit" href="#" id="issue-edit-btn">Edit</a>
 | 
				
			||||||
                    <a class="btn btn-danger pull-right issue-edit-cancel hidden" href="#">Cancel</a>
 | 
					                    <a class="btn btn-danger pull-right issue-edit-cancel hidden" href="#">Cancel</a>
 | 
				
			||||||
                    <a class="btn btn-primary pull-right issue-edit-save hidden" href="#" data-ajax="{issue.edit.save.link}" data-ajax-name="issue-edit-save" data-ajax-method="post">Save</a>
 | 
					                    <a class="btn btn-primary pull-right issue-edit-save hidden" href="#" data-ajax="/{{.RepositoryLink}}/issues/{{.Issue.Index}}" data-ajax-name="issue-edit-save" data-ajax-method="post">Save</a>
 | 
				
			||||||
                    <span class="status label label-{{if .Issue.IsClosed}}danger{{else}}success{{end}}">{{if .Issue.IsClosed}}Closed{{else}}Open{{end}}</span>
 | 
					                    <span class="status label label-{{if .Issue.IsClosed}}danger{{else}}success{{end}}">{{if .Issue.IsClosed}}Closed{{else}}Open{{end}}</span>
 | 
				
			||||||
                    <a href="/user/{{.Issue.Poster.Name}}" class="author"><strong>{{.Issue.Poster.Name}}</strong></a> opened this issue
 | 
					                    <a href="/user/{{.Issue.Poster.Name}}" class="author"><strong>{{.Issue.Poster.Name}}</strong></a> opened this issue
 | 
				
			||||||
                    <span class="time">{{TimeSince .Issue.Created}}</span> · {{.Issue.NumComments}} comments
 | 
					                    <span class="time">{{TimeSince .Issue.Created}}</span> · {{.Issue.NumComments}} comments
 | 
				
			||||||
@@ -24,13 +24,13 @@
 | 
				
			|||||||
               <div class="panel panel-default issue-content">
 | 
					               <div class="panel panel-default issue-content">
 | 
				
			||||||
                   <div class="panel-body markdown">
 | 
					                   <div class="panel-body markdown">
 | 
				
			||||||
                       <div class="content">
 | 
					                       <div class="content">
 | 
				
			||||||
                           {{str2html .Issue.Content}}
 | 
					                           {{str2html .Issue.RenderedContent}}
 | 
				
			||||||
                       </div>
 | 
					                       </div>
 | 
				
			||||||
                       <textarea class="form-control hidden" name="content" id="issue-edit-content" rows="10" data-ajax-rel="issue-edit-save" data-ajax-val="val" data-ajax-field="content">{issue.content}</textarea>
 | 
					                       <textarea class="form-control hidden" name="content" id="issue-edit-content" rows="10" data-ajax-rel="issue-edit-save" data-ajax-val="val" data-ajax-field="content">{{.Issue.Content}}</textarea>
 | 
				
			||||||
                   </div>
 | 
					                   </div>
 | 
				
			||||||
               </div>
 | 
					               </div>
 | 
				
			||||||
               {{range .Comments}}
 | 
					               {{range .Comments}}
 | 
				
			||||||
               <div class="issue-child" id="issue-comment-{issue.comment.id}">
 | 
					               <div class="issue-child" id="issue-comment-{{.Id}}">
 | 
				
			||||||
                   <a class="user pull-left" href="/user/{{.Poster.Name}}"><img class="avatar" src="{{.Poster.AvatarLink}}" alt=""/></a>
 | 
					                   <a class="user pull-left" href="/user/{{.Poster.Name}}"><img class="avatar" src="{{.Poster.AvatarLink}}" alt=""/></a>
 | 
				
			||||||
                   <div class="issue-content panel panel-default">
 | 
					                   <div class="issue-content panel panel-default">
 | 
				
			||||||
                       <div class="panel-heading">
 | 
					                       <div class="panel-heading">
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user