<%inherit file="master.html"/> <%namespace name="json" module="json"/> <% from urllib.parse import 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 update.type: ${self.util.type2icon(update.type) | n} % endif % if update.critpath:
% endif
% 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.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'): help_content = help_content + "

Comments are governed under this privacy policy." %>
${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
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)}
% 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 self.util.can_waive_test_results(update): % endif
% if can_edit and config.get('test_gating.required'): % endif
% endif
Builds
${len(update.builds)} % if request.user and update.from_tag and not update.release.composed_by_bodhi: ${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=glob') %> % endfor
Settings
% if update.unstable_karma:
Unstable by Karma
${update.unstable_karma}
% endif % if update.autokarma is True and update.stable_karma:
Stable by Karma
${update.stable_karma}
% endif % if update.autotime is True and update.stable_days:
Stable by Time
${update.stable_days} days
% 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: % 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.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 % if self.util.can_trigger_tests(update): % endif <%block name="javascript"> ${parent.javascript()}