From 986344743b8f0ff4744301e8d2d6c28b17669397 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Nov 02 2015 15:04:37 +0000 Subject: Fix uploading images when editing the first comment of a ticket --- diff --git a/pagure/templates/new_issue.html b/pagure/templates/new_issue.html index 30dfb47..b68089c 100644 --- a/pagure/templates/new_issue.html +++ b/pagure/templates/new_issue.html @@ -23,8 +23,9 @@ enctype="multipart/form-data"> {% elif type and type == 'edit' %} -
+ {% endif %} diff --git a/pagure/ui/issues.py b/pagure/ui/issues.py index bde3335..41a48cf 100644 --- a/pagure/ui/issues.py +++ b/pagure/ui/issues.py @@ -621,11 +621,39 @@ def edit_issue(repo, issueid, username=None): redis=REDIS, ) SESSION.commit() + + # If there is a file attached, attach it. + filestream = flask.request.files.get('filestream') + if filestream and '' in issue.content: + new_filename = pagure.lib.git.add_file_to_git( + repo=repo, + issue=issue, + ticketfolder=APP.config['TICKETS_FOLDER'], + user=flask.g.fas_user, + filename=filestream.filename, + filestream=filestream.stream, + ) + # Replace the tag in the comment with the link + # to the actual image + filelocation = flask.url_for( + 'view_issue_raw_file', + repo=repo.name, + username=username, + filename=new_filename, + ) + new_filename = new_filename.split('-', 1)[1] + url = '[![%s](%s)](%s)' % ( + new_filename, filelocation, filelocation) + issue.content = issue.content.replace('', url) + SESSION.add(issue) + SESSION.commit() flask.flash(message) url = flask.url_for( 'view_issue', username=username, repo=repo.name, issueid=issueid) return flask.redirect(url) + except pagure.exceptions.PagureException, err: + flask.flash(str(err), 'error') except SQLAlchemyError, err: # pragma: no cover SESSION.rollback() flask.flash(str(err), 'error')