forked from gitea/gitea
		
	WIP: Allow attachments for issues, not only comments
This commit is contained in:
		
							parent
							
								
									4617bef895
								
							
						
					
					
						commit
						34304e6a0c
					
				| @ -96,6 +96,11 @@ func (i *Issue) GetAssignee() (err error) { | ||||
| 	return err | ||||
| } | ||||
| 
 | ||||
| func (i *Issue) Attachments() []*Attachment { | ||||
| 	a, _ := GetAttachmentsForIssue(i.Id) | ||||
| 	return a | ||||
| } | ||||
| 
 | ||||
| func (i *Issue) AfterDelete() { | ||||
| 	_, err := DeleteAttachmentsByIssue(i.Id, true) | ||||
| 
 | ||||
| @ -871,8 +876,9 @@ func GetIssueComments(issueId int64) ([]Comment, error) { | ||||
| } | ||||
| 
 | ||||
| // Attachments returns the attachments for this comment. | ||||
| func (c *Comment) Attachments() ([]*Attachment, error) { | ||||
| 	return GetAttachmentsByComment(c.Id) | ||||
| func (c *Comment) Attachments() []*Attachment { | ||||
| 	a, _ := GetAttachmentsByComment(c.Id) | ||||
| 	return a | ||||
| } | ||||
| 
 | ||||
| func (c *Comment) AfterDelete() { | ||||
| @ -928,10 +934,16 @@ func GetAttachmentById(id int64) (*Attachment, error) { | ||||
| 	return m, nil | ||||
| } | ||||
| 
 | ||||
| func GetAttachmentsForIssue(issueId int64) ([]*Attachment, error) { | ||||
| 	attachments := make([]*Attachment, 0, 10) | ||||
| 	err := x.Where("issue_id = ?", issueId).Where("comment_id = 0").Find(&attachments) | ||||
| 	return attachments, err | ||||
| } | ||||
| 
 | ||||
| // GetAttachmentsByIssue returns a list of attachments for the given issue | ||||
| func GetAttachmentsByIssue(issueId int64) ([]*Attachment, error) { | ||||
| 	attachments := make([]*Attachment, 0, 10) | ||||
| 	err := x.Where("issue_id = ?", issueId).Find(&attachments) | ||||
| 	err := x.Where("issue_id = ?", issueId).Where("comment_id > 0").Find(&attachments) | ||||
| 	return attachments, err | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -525,6 +525,7 @@ function initIssue() { | ||||
|         var $attachments = $("input[name=attachments]"); | ||||
|         var $addButton = $("#attachments-button"); | ||||
| 
 | ||||
|         var commentId = $addButton.attr("data-comment-id"); // "0" == for issue, "" == for comment
 | ||||
|         var accepted = $addButton.attr("data-accept"); | ||||
| 
 | ||||
|         $addButton.on("click", function() { | ||||
|  | ||||
| @ -173,7 +173,10 @@ func CreateIssue(ctx *middleware.Context, params martini.Params) { | ||||
| 		ctx.Handle(500, "issue.CreateIssue(GetCollaborators)", err) | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	ctx.Data["AllowedTypes"] = setting.AttachmentAllowedTypes | ||||
| 	ctx.Data["Collaborators"] = us | ||||
| 
 | ||||
| 	ctx.HTML(200, ISSUE_CREATE) | ||||
| } | ||||
| 
 | ||||
| @ -1030,6 +1033,10 @@ func IssuePostAttachment(ctx *middleware.Context, params martini.Params) { | ||||
| 		return | ||||
| 	} | ||||
| 
 | ||||
| 	if commentId == 0 { | ||||
| 		commentId = -1 | ||||
| 	} | ||||
| 
 | ||||
| 	file, header, err := ctx.Req.FormFile("attachment") | ||||
| 
 | ||||
| 	if err != nil { | ||||
|  | ||||
| @ -101,8 +101,14 @@ | ||||
|                         <div class="tab-pane issue-preview-content" id="issue-preview">loading...</div> | ||||
|                     </div> | ||||
|                 </div> | ||||
|                 <div> | ||||
|                     <div id="attached"></div> | ||||
|                 </div> | ||||
|                 <div class="text-right panel-body"> | ||||
|                     <div class="form-group"> | ||||
|                         <input type="hidden" name="attachments" value="" /> | ||||
|                         <button data-accept="{{AllowedTypes}}" data-comment-id="0" class="btn-default btn attachment-add" id="attachments-button">Add Attachments...</button> | ||||
| 
 | ||||
|                         <input type="hidden" value="id" name="repo-id"/> | ||||
|                         <button class="btn-success btn">Create new issue</button> | ||||
|                     </div> | ||||
|  | ||||
| @ -46,6 +46,11 @@ | ||||
|                                     </div> | ||||
|                                 </div> | ||||
|                             </div> | ||||
|                             <div class="attachments"> | ||||
|                                 {{range .Attachments}} | ||||
|                                 <a class="attachment" href="{{.IssueId}}/attachment/{{.Id}}">{{.Name}}</a> | ||||
|                                 {{end}} | ||||
|                             </div>                             | ||||
|                         </div> | ||||
|                     </div> | ||||
|                     {{range .Comments}} | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user
	 Justin Nuß
						Justin Nuß