<%inherit file="master.html"/> <%namespace name="json" module="json"/> <% from urllib.parse import quote, urljoin from bodhi.server import models from bodhi.server.config import config install_command = update.install_command %> <%block name="pagetitle"> ${update.alias} — ${update.type} update for ${update.get_title(amp=True,beautify=True) | h} — Fedora Updates System <% update.bugs.sort(key = lambda x: x.bug_id) %> <%block name="css"> ${parent.css()} <% actions = {} if can_edit and update.release.composed_by_bodhi: if not update.locked: if not update.pushed: if update.request is None: if update.status.value != 'testing': actions['push to testing'] = True else: actions['revoke'] = True elif update.pushed and (update.status.value != 'stable' or (update.status.value == 'stable' and 'releng' in [group.name for group in request.user.groups])): if update.request: actions['revoke'] = True actions['unpush'] = True if update.meets_testing_requirements and not update.request: actions['push to stable'] = True %>
% if can_edit and (not update.locked and update.status.value != 'stable'): Edit % elif update.locked and update.date_locked: Locked % endif ${self.fragments.status_text(update)} % if actions: % endif
% if update.type: ${self.util.type2icon(update.type) | n} % endif % if update.critpath_groups:
% elif update.critpath:
% endif

${update.get_title(amp=True,nvr=True,beautify=True) | h}

${update.alias} created by ${update['user']['name']} ${self.util.age(update['date_submitted'])} for ${update['release']['long_name']}
% 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 install_command:

How to install

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

% if request.user:
<% help_content = "Comments support Fedora-Flavored Markdown" if request.registry.settings.get('privacy_link'): privacy_link = request.registry.settings.get('privacy_link') help_content = help_content + "

Comments are governed under this privacy policy.".format(privacy_link) %>
${self.fragments.karma(-1)}
${self.fragments.karma(0)}
${self.fragments.karma(1)}
Karma: Is the update generally functional?
% if update.bugs:
${self.fragments.karma(-1)}
${self.fragments.karma(0)}
${self.fragments.karma(1)}
Bugs
% for bug in update.bugs:
${self.util.bug_link(bug) | n}
% endfor % endif % if update.full_test_cases:
${self.fragments.karma(-1)}
${self.fragments.karma(0)}
${self.fragments.karma(1)}
Test Cases
% for test in update.full_test_cases:
${self.util.testcase_link(test) | n}
% endfor % endif
% else:

% if request.matched_route: Please login to add feedback. % else: Please login to add feedback. % endif

%endif
% if update.release.state == models.ReleaseState.frozen and (update.status == models.UpdateStatus.pending or update.status == models.UpdateStatus.testing):
Frozen release
This update will not be pushed to stable until freeze is lifted from ${update.release.long_name}.
% endif
Metadata
% if update.type:
Type
${self.util.type2icon(update.type) | n} ${update.type.value}
% endif % if update.severity and update.severity.value != 'unspecified':
Severity
${update.severity.value}
% endif
Karma
${self.fragments.karma(update.karma, show_digit=True, show_details=update._composite_karma)}
% if update.signed:
Signed
% endif % if update.content_type:
Content Type
${update.content_type.description | n}
% endif
% if request.registry.settings.get('test_gating.required'):
% if request.registry.settings.get('test_gating.url'): Test Gating % else: Test Gating % endif
% if can_edit and update.test_gating_status == models.TestGatingStatus.failed and update.status == models.UpdateStatus.testing:
Re-Trigger Tests
% endif % if can_edit and self.util.can_waive_test_results(update): % endif
% endif
Builds
${len(update.builds)} % if request.user and update.from_tag: ${update.from_tag} % endif
% for build in update.builds: <% koji_web_url = request.registry.settings.get('koji_web_url').strip('/') + '/' build_url = urljoin(koji_web_url, 'search?terms='+build.nvr+'&type=build&match=exact') %> % endfor
Settings
% if update.unstable_karma:
Unstable by Karma
${update.unstable_karma}
% endif
Stable by Karma
% if update.autokarma is True and update.stable_karma: ${update.stable_karma} % else: disabled % endif
Stable by Time
% if update.autotime is True and update.stable_days is not None: ${update.stable_days} days % else: disabled % endif
Dates
submitted
${self.util.age(update.date_submitted)}
% if update.date_testing:
in testing
${self.util.age(update.date_testing)}
% endif % if update.date_stable:
in stable
${self.util.age(update.date_stable)}
% endif % if update.days_to_stable and update.status.value == 'testing':
days to stable
${str(update.days_to_stable)}
% endif % if update.date_modified:
modified
${self.util.age(update.date_modified)}
% endif % if update.date_approved:
approved
${self.util.age(update.date_approved)}
% endif
% if update.bugs:
% for bug in update.bugs:
${self.util.bug_link(bug) | n}
${self.fragments.karma(update.get_bug_karma(bug)[0], show_digit=True, zero_thumbsup=False)}
${self.fragments.karma(update.get_bug_karma(bug)[1], show_digit=True, zero_thumbsup=True)}
% endfor
% endif
% for build in update.builds:
% if build.signed: % endif
<% koji_web_url = request.registry.settings.get('koji_web_url').strip('/') + '/' build_url = urljoin(koji_web_url, 'search?terms='+quote(build.nvr)+'&type=build&match=exact') %> ${build.nvr}
% if can_edit: % if build.override: % else: % endif % endif
% endfor

Automated Test Results

% if update.test_cases:

Test Cases

% for test in update.full_test_cases: % endfor
${self.fragments.karma(update.get_testcase_karma(test)[0], show_digit=True, zero_thumbsup=False)} ${self.fragments.karma(update.get_testcase_karma(test)[1], show_digit=True, zero_thumbsup=True)} ${self.util.testcase_link(test) | n}
% endif
% if self.util.can_waive_test_results(update): % endif <%block name="javascript"> ${parent.javascript()}