patterns: enabled global !NUM match for new style pull-request references.
This commit is contained in:
parent
b807af96dd
commit
ad7ff3bf73
3 changed files with 33 additions and 15 deletions
|
|
@ -734,7 +734,6 @@ class TestAdminSettingsIssueTracker(object):
|
|||
|
||||
post_url = route_path('admin_settings_issuetracker_delete')
|
||||
post_data = {
|
||||
'_method': 'delete',
|
||||
'uid': uid,
|
||||
'csrf_token': csrf_token
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1627,6 +1627,11 @@ def _process_url_func(match_obj, repo_name, uid, entry,
|
|||
'%(pref)s<a class="tooltip %(cls)s" href="%(url)s" title="%(title)s">'
|
||||
'%(issue-prefix)s%(id-repr)s'
|
||||
'</a>')
|
||||
elif link_format == 'html+hovercard':
|
||||
tmpl = (
|
||||
'%(pref)s<a class="tooltip-hovercard %(cls)s" href="%(url)s" data-hovercard-url="%(hovercard_url)s">'
|
||||
'%(issue-prefix)s%(id-repr)s'
|
||||
'</a>')
|
||||
elif link_format == 'rst':
|
||||
tmpl = '`%(issue-prefix)s%(id-repr)s <%(url)s>`_'
|
||||
elif link_format == 'markdown':
|
||||
|
|
@ -1647,6 +1652,7 @@ def _process_url_func(match_obj, repo_name, uid, entry,
|
|||
# named regex variables
|
||||
named_vars.update(match_obj.groupdict())
|
||||
_url = string.Template(entry['url']).safe_substitute(**named_vars)
|
||||
desc = string.Template(entry['desc']).safe_substitute(**named_vars)
|
||||
|
||||
def quote_cleaner(input_str):
|
||||
"""Remove quotes as it's HTML"""
|
||||
|
|
@ -1659,7 +1665,8 @@ def _process_url_func(match_obj, repo_name, uid, entry,
|
|||
'id-repr': issue_id,
|
||||
'issue-prefix': entry['pref'],
|
||||
'serv': entry['url'],
|
||||
'title': entry['desc']
|
||||
'title': desc,
|
||||
'hovercard_url': ''
|
||||
}
|
||||
if return_raw_data:
|
||||
return {
|
||||
|
|
@ -1723,6 +1730,18 @@ def process_patterns(text_string, repo_name, link_format='html', active_entries=
|
|||
new_text = pattern.sub(url_func, new_text)
|
||||
log.debug('processed prefix:uid `%s`', uid)
|
||||
|
||||
# finally use global replace, eg !123 -> pr-link, those will not catch
|
||||
# if already similar pattern exists
|
||||
pr_entry = {
|
||||
'pref': '!',
|
||||
'url': '/_admin/pull-requests/${id}',
|
||||
'desc': 'Pull Request !${id}'
|
||||
}
|
||||
pr_url_func = partial(
|
||||
_process_url_func, repo_name=repo_name, entry=pr_entry, uid=None)
|
||||
new_text = re.compile(r'(?:(?:^!)|(?: !))(\d+)').sub(pr_url_func, new_text)
|
||||
log.debug('processed !pr pattern')
|
||||
|
||||
return new_text, issues_data
|
||||
|
||||
|
||||
|
|
@ -1734,24 +1753,24 @@ def urlify_commit_message(commit_text, repository=None, active_pattern_entries=N
|
|||
:param commit_text:
|
||||
:param repository:
|
||||
"""
|
||||
def escaper(string):
|
||||
return string.replace('<', '<').replace('>', '>')
|
||||
def escaper(_text):
|
||||
return _text.replace('<', '<').replace('>', '>')
|
||||
|
||||
newtext = escaper(commit_text)
|
||||
new_text = escaper(commit_text)
|
||||
|
||||
# extract http/https links and make them real urls
|
||||
newtext = urlify_text(newtext, safe=False)
|
||||
new_text = urlify_text(new_text, safe=False)
|
||||
|
||||
# urlify commits - extract commit ids and make link out of them, if we have
|
||||
# the scope of repository present.
|
||||
if repository:
|
||||
newtext = urlify_commits(newtext, repository)
|
||||
new_text = urlify_commits(new_text, repository)
|
||||
|
||||
# process issue tracker patterns
|
||||
newtext, issues = process_patterns(newtext, repository or '',
|
||||
active_entries=active_pattern_entries)
|
||||
new_text, issues = process_patterns(new_text, repository or '',
|
||||
active_entries=active_pattern_entries)
|
||||
|
||||
return literal(newtext)
|
||||
return literal(new_text)
|
||||
|
||||
|
||||
def render_binary(repo_name, file_obj):
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@
|
|||
<a class="edit_issuetracker_entry" href="">${_('Edit')}</a>
|
||||
</span>
|
||||
<span class="edit">
|
||||
${h.hidden('uid', uid)}
|
||||
<input id="uid_${uid}" name="uid" type="hidden" value="${uid}">
|
||||
</span>
|
||||
</div>
|
||||
<div class="grid_delete">
|
||||
|
|
@ -93,11 +93,10 @@
|
|||
|
||||
var delete_pattern = function(entry) {
|
||||
if (confirm("${_('Confirm to remove this pattern:')} "+$(entry).data('desc'))) {
|
||||
var request = $.ajax({
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
url: "${delete_url}",
|
||||
data: {
|
||||
'_method': 'delete',
|
||||
'csrf_token': CSRF_TOKEN,
|
||||
'uid':$(entry).data('uid')
|
||||
},
|
||||
|
|
@ -182,7 +181,8 @@
|
|||
<textarea id="test_pattern_data" >
|
||||
This commit fixes ticket #451.
|
||||
This is an example text for testing issue tracker patterns, add a pattern here and
|
||||
hit preview to see the link
|
||||
hit preview to see the link.
|
||||
Open a pull request !101 to contribute !
|
||||
</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -190,7 +190,7 @@ hit preview to see the link
|
|||
<div class="test_pattern_preview">
|
||||
<div id="test_pattern" class="btn btn-small" >${_('Preview')}</div>
|
||||
<p>${_('Test Pattern Preview')}</p>
|
||||
<div id="test_pattern_result"></div>
|
||||
<div id="test_pattern_result" style="white-space: pre-wrap"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue