<%inherit file="master.html"/> <%namespace name="captcha" module="bodhi.server.captcha"/> <%namespace name="json" module="json"/> <% try: from urllib.parse import urljoin except ImportError: from urlparse import urljoin %> <%block name="pagetitle"> % if update.alias: ${update.alias} % endif — ${update.type} update for ${update.beautify_title(amp=True) | n} — Fedora Updates System <% update.bugs.sort(key = lambda x: x.bug_id) %>

% if update.locked and update.date_locked: Locked % endif % if update.alias: ${update.alias} % else: ${update.get_title(', ', 2, ", …") | n}
${ "(+ " + str(len(update.builds) - 2) + " more)" if len(update.builds) > 2 else "" }
% endif % if update.type: ${self.util.type2icon(update.type) | n} % endif % if update.critpath: % endif % if can_edit: % if not update.locked:
% if not update.pushed: Edit % if update.request is None: % if update.status.description != 'testing': Push to Testing % endif % else: Revoke % endif % elif update.pushed and (update.status.description != 'stable' or (update.status.description == 'stable' and 'releng' in [group.name for group in request.user.groups])): Edit % if update.critpath and update.critpath_approved: ${self.util.push_to_batched_or_stable_button(update) | n} % elif update.request and update.request.description in ['batched', 'stable']: ${self.util.push_to_batched_or_stable_button(update) | n} % elif update.meets_testing_requirements: ${self.util.push_to_batched_or_stable_button(update) | n} % endif Unpush % endif % if self.util.can_waive_test_results(update): % endif
% else:
% if self.util.can_waive_test_results(update): % endif
% endif % endif

${update.type} update in ${update.release.long_name} for ${update.beautify_title(amp=True) | n}

Status: ${self.util.status2html(update.status) | n} % if 'pending' in update.status: ${self.util.age(update.date_submitted)} % elif 'testing' in update.status and update.date_testing: ${self.util.age(update.date_testing)} % elif 'stable' in update.status: ${self.util.age(update.date_stable)} % endif
% if update.notes: ${self.util.markup(update.notes) | n} % endif % if not 'unspecified' in update.suggest:
% if 'logout' in update.suggest:

Logout Required

After installing this update it is required that you logout of your current user session and log back in to ensure the changes supplied by this update are applied properly. % elif 'reboot' in update.suggest:

Reboot Required

After installing this update it is required that you reboot your system to ensure the changes supplied by this update are applied properly. % endif
% endif % if update.content_type: % if update.content_type.description == 'RPM' and ('testing' in update.status or 'stable' in update.status):

How to install

${self.util.update_install_command(update)}
% endif % endif

Comments ${len(update.comments)}

% for comment in update.comments:
${self.fragments.comment(comment, display_update=False)}
% endfor

Add Comment & Feedback
Toggle Preview

Comment fields support Fedora-Flavored Markdown. % if request.registry.settings.get('privacy_link'): Comments are governed under this privacy policy. % endif

% if not request.user:
% endif ${self.fragments.markdown_help_modal()}
% if not request.user: % else: % endif % if update.critpath: % endif % for bug in update.bugs: % endfor % for test in update.full_test_cases: % endfor
-1 0 +1 Feedback Guidelines

Is the update generally functional? (karma)

You need to be logged in to add karma!

Is the update generally functional? (karma)
Does the system's basic functionality continue to work after this update?
${self.util.bug_link(bug) | n}
${self.util.testcase_link(test) | n}
% if not request.user and request.registry.settings.get('captcha.secret'): <% captcha_key, captcha_url = captcha.generate_captcha(request) %>
% endif
% if update.content_type:
Content Type
${update.content_type.description | n}
% endif
Status
${self.util.status2html(update.status) | n} % if update.signed: % endif
% if request.registry.settings.get('test_gating.required'):
% if request.registry.settings.get('test_gating.url'): Test Gating % else: Test Gating % endif
% endif % if update.request:
Request
${self.util.request2html(update.request) | n}
% endif % if update.type:
Update Type
${self.util.type2html(update.type) | n}
% endif % if update.severity:
Update Severity
${self.util.severity2html(update.severity) | n}
% endif
Karma
${self.util.karma2html(update.karma) | n} % if update.stable_karma:
stable threshold: ${update.stable_karma} % endif % if update.unstable_karma:
unstable threshold: ${update.unstable_karma} % endif
Autopush
% if update.autokarma is True: Enabled % elif update.autokarma is False: Disabled % endif
Dates
% if update.date_testing: % endif % if update.date_stable: % endif % if update.days_to_stable and update.status.description == 'testing': % endif % if update.date_modified: % endif % if update.date_approved: % endif
submitted ${self.util.age(update.date_submitted)}
in testing ${self.util.age(update.date_testing)}
in stable ${self.util.age(update.date_stable)}
days to stable ${str(update.days_to_stable)}
modified ${self.util.age(update.date_modified)}
approved ${self.util.age(update.date_approved)}
% if update.bugs:

Related Bugs ${len(update.bugs)}

% for bug in update.bugs: % endfor
${self.util.karma2html(update.get_bug_karma(bug)) | n} ${self.util.bug_link(bug) | n}
% endif
% for build in update.builds: % endfor
<% koji_web_url = request.registry.settings.get('koji_web_url').strip('/') + '/' build_url = urljoin(koji_web_url, 'search?terms='+build.nvr+'&type=build&match=glob') %> ${build.nvr} % if build.signed: % endif % if can_edit: % if build.override: % else: % endif % endif

Automated Test Results

% if update.test_cases:

Test Cases

% for test in update.full_test_cases: % endfor
${self.util.karma2html(update.get_testcase_karma(test)) | n} ${self.util.testcase_link(test) | n}
% endif
% if self.util.can_waive_test_results(update): % endif