$def with (request, username, can_merge)
$# request : dict : Dict containing information about a single merge request.
$# username : str | None : The patron's username, if currently authenticated. `None` if unauthenticated.
$# can_merge : boolean : `True` if patron has merge privileges.
$ request_title = request.get('title', _('An untitled work') if request['mr_type'] != 2 else _('An unnamed author'))
$ comments = request.get('comments', {}).get('comments', [])
$ is_open = request['status'] == 1
$ review_url = "%s&mrid=%s" % (request['url'], request['id'])
$ is_submitter = username == request['submitter']
$code:
# Maps request statuses to status dot class names
status_dot_mapping = {
0: 'dot--closed',
1: 'dot--open',
2: 'dot--merged'
}
$# Start : Status dot indicator
$ dot_status_class = status_dot_mapping[request['status']]
$ status = _('Open request') if is_open else _('Closed request')
$# End : Status dot indicator
$request_title
$# Start : Most recent comment preview
$# End : Most recent comment preview
$# Start : Comment section
$# XXX : Replace this with a modal form
$# End : Comment section
$# Start : Submitted by line
$:_('MR #%(id)s opened %(date)s by ', id=request['id'], date=datestr(request["created"]), submitter=request["submitter"])
$if is_open and is_submitter:
×
$# End : Submitted by line
|
$ show_review_button = is_open and can_merge and not request.get('reviewer', '')
$ request_reviewer = request.get('reviewer', '')
$if request_reviewer:
$ request_reviewer = '@' + request_reviewer
$if is_open:
$ icon_classes = 'mr-review-actions__unassign'
$if not can_merge:
$ icon_classes = '%s hidden' % icon_classes
$ icon_content = '×'
$else:
$ icon_classes = 'mr-review-actions__checkmark'
$ icon_content = '✓'
$request_reviewer
$:icon_content
$_('Review')
|