From aa74ce31a09532a13cb4f40f40d22e73dd936679 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Feb 02 2016 13:57:34 +0000 Subject: [PATCH 1/2] Allow specifying the user and repo names as arguments to the URL --- diff --git a/pagure/pfmarkdown.py b/pagure/pfmarkdown.py index 9f86b8f..4744390 100644 --- a/pagure/pfmarkdown.py +++ b/pagure/pfmarkdown.py @@ -95,11 +95,18 @@ class ImplicitIssuePattern(markdown.inlinepatterns.Pattern): root = flask.request.url_root url = flask.request.url - user = None - if 'fork/' in flask.request.url: - user, repo = url.split('fork/')[1].split('/', 2)[:2] - else: - repo = url.split(root)[1].split('/', 1)[0] + repo = user = None + + if flask.request.args.get('user'): + user = flask.request.args.get('user') + if flask.request.args.get('repo'): + repo = flask.request.args.get('repo') + + if not user and not repo: + if 'fork/' in flask.request.url: + user, repo = url.split('fork/')[1].split('/', 2)[:2] + else: + repo = url.split(root)[1].split('/', 1)[0] if not _issue_exists(user, repo, idx): return text From 6ea51869c5870a0e68ba1510b2b209ae6d277b0b Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Feb 02 2016 13:57:34 +0000 Subject: [PATCH 2/2] Fix indentation and specify the user and repo names as argument in the URL This allows adding the link to an issue in the preview of a comment as we do it with regular comments once they are posted. Fixes https://pagure.io/pagure/issue/678 --- diff --git a/pagure/templates/issue.html b/pagure/templates/issue.html index 2d1d003..67af0db 100644 --- a/pagure/templates/issue.html +++ b/pagure/templates/issue.html @@ -526,34 +526,36 @@ $( document ).ready(function() { function(event, ui) { if ($( "#previewinmarkdown" ).hasClass("inactive")){ var _text = $( "#comment" ).val(); - var _url = "{{ url_for('markdown_preview') }}"; - $.ajax({ - url: _url , - type: 'POST', - data: { - content: _text, - csrf_token: "{{ form.csrf_token.current_token }}", - }, - dataType: 'html', - success: function(res) { - var preview = emojione.toImage(res) - $( "#preview" ).html(preview); - $( "#previewinmarkdown" ).removeClass("inactive"); - $( "#previewinmarkdown" ).addClass("active"); - $( "#comment" ).hide(); - $( "#preview" ).show(); - }, - error: function() { - alert('Unable to generate preview!'); - } - }); - return false; - } else if ($( "#previewinmarkdown" ).hasClass("active")){ - $( "#previewinmarkdown" ).addClass("inactive"); - $( "#previewinmarkdown" ).removeClass("active"); - $( "#comment" ).show(); - $( "#preview" ).hide(); - } + var _url = "{{ url_for('markdown_preview', + user=repo.user.user if repo.is_fork, + repo=repo.name) | safe}}"; + $.ajax({ + url: _url , + type: 'POST', + data: { + content: _text, + csrf_token: "{{ form.csrf_token.current_token }}", + }, + dataType: 'html', + success: function(res) { + var preview = emojione.toImage(res) + $( "#preview" ).html(preview); + $( "#previewinmarkdown" ).removeClass("inactive"); + $( "#previewinmarkdown" ).addClass("active"); + $( "#comment" ).hide(); + $( "#preview" ).show(); + }, + error: function() { + alert('Unable to generate preview!'); + } + }); + return false; + } else if ($( "#previewinmarkdown" ).hasClass("active")){ + $( "#previewinmarkdown" ).addClass("inactive"); + $( "#previewinmarkdown" ).removeClass("active"); + $( "#comment" ).show(); + $( "#preview" ).hide(); + } } ); diff --git a/pagure/templates/pull_request.html b/pagure/templates/pull_request.html index a22f7e8..53789b9 100644 --- a/pagure/templates/pull_request.html +++ b/pagure/templates/pull_request.html @@ -644,34 +644,36 @@ function setup_reply_btns() { function(event, ui) { if ($( "#previewinmarkdown" ).hasClass("inactive")){ var _text = $( "#comment" ).val(); - var _url = "{{ url_for('markdown_preview') }}"; - $.ajax({ - url: _url , - type: 'POST', - data: { - content: _text, - csrf_token: "{{ mergeform.csrf_token.current_token }}", - }, - dataType: 'html', - success: function(res) { - var preview = emojione.toImage(res) - $( "#preview" ).html(preview); - $( "#previewinmarkdown" ).removeClass("inactive"); - $( "#previewinmarkdown" ).addClass("active"); - $( "#comment" ).hide(); - $( "#preview" ).show(); - }, - error: function() { - alert('Unable to generate preview!'); - } - }); - return false; - } else if ($( "#previewinmarkdown" ).hasClass("active")){ + var _url = "{{ url_for('markdown_preview', + user=repo.user.user if repo.is_fork, + repo=repo.name) | safe}}"; + $.ajax({ + url: _url , + type: 'POST', + data: { + content: _text, + csrf_token: "{{ mergeform.csrf_token.current_token }}", + }, + dataType: 'html', + success: function(res) { + var preview = emojione.toImage(res) + $( "#preview" ).html(preview); + $( "#previewinmarkdown" ).removeClass("inactive"); + $( "#previewinmarkdown" ).addClass("active"); + $( "#comment" ).hide(); + $( "#preview" ).show(); + }, + error: function() { + alert('Unable to generate preview!'); + } + }); + return false; + } else if ($( "#previewinmarkdown" ).hasClass("active")){ $( "#previewinmarkdown" ).addClass("inactive"); $( "#previewinmarkdown" ).removeClass("active"); $( "#comment" ).show(); $( "#preview" ).hide(); - } + } } );