Add prev/next buttons when viewing upgrade details
This commit is contained in:
parent
852bafdfa0
commit
c0a28716f5
|
@ -26,6 +26,24 @@
|
||||||
% endif
|
% endif
|
||||||
</%def>
|
</%def>
|
||||||
|
|
||||||
|
<%def name="content_title()">
|
||||||
|
% if master.supports_prev_next:
|
||||||
|
<div style="float: right;">
|
||||||
|
% if prev_instance:
|
||||||
|
${h.link_to(u"« Older", url('{}.view'.format(route_prefix), uuid=prev_instance.uuid), class_='button')}
|
||||||
|
% else:
|
||||||
|
${h.link_to(u"« Older", '#', class_='button', disabled='disabled')}
|
||||||
|
% endif
|
||||||
|
% if next_instance:
|
||||||
|
${h.link_to(u"Newer »", url('{}.view'.format(route_prefix), uuid=next_instance.uuid), class_='button')}
|
||||||
|
% else:
|
||||||
|
${h.link_to(u"Newer »", '#', class_='button', disabled='disabled')}
|
||||||
|
% endif
|
||||||
|
</div>
|
||||||
|
% endif
|
||||||
|
<h1>${instance_title}</h1>
|
||||||
|
</%def>
|
||||||
|
|
||||||
<%def name="context_menu_items()">
|
<%def name="context_menu_items()">
|
||||||
<li>${h.link_to("Permalink for this {}".format(model_title), action_url('view', instance))}</li>
|
<li>${h.link_to("Permalink for this {}".format(model_title), action_url('view', instance))}</li>
|
||||||
% if master.has_versions and request.rattail_config.versioning_enabled() and request.has_perm('{}.versions'.format(permission_prefix)):
|
% if master.has_versions and request.rattail_config.versioning_enabled() and request.has_perm('{}.versions'.format(permission_prefix)):
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
## -*- coding: utf-8; -*-
|
## -*- coding: utf-8; -*-
|
||||||
<%inherit file="tailbone:templates/master/view.mako" />
|
<%inherit file="tailbone:templates/master/view.mako" />
|
||||||
|
|
||||||
<%def name="content_title()">
|
## TODO: remove this once it's safe (no callers use it)...
|
||||||
<h1>${instance_title}</h1>
|
|
||||||
</%def>
|
|
||||||
|
|
||||||
${parent.body()}
|
${parent.body()}
|
||||||
|
|
|
@ -75,6 +75,7 @@ class MasterView(View):
|
||||||
executable = False
|
executable = False
|
||||||
execute_progress_template = None
|
execute_progress_template = None
|
||||||
execute_progress_initial_msg = None
|
execute_progress_initial_msg = None
|
||||||
|
supports_prev_next = False
|
||||||
|
|
||||||
supports_mobile = False
|
supports_mobile = False
|
||||||
mobile_creatable = False
|
mobile_creatable = False
|
||||||
|
|
|
@ -56,6 +56,7 @@ class UpgradeView(MasterView):
|
||||||
executable = True
|
executable = True
|
||||||
execute_progress_template = '/upgrade.mako'
|
execute_progress_template = '/upgrade.mako'
|
||||||
execute_progress_initial_msg = "Upgrading"
|
execute_progress_initial_msg = "Upgrading"
|
||||||
|
supports_prev_next = True
|
||||||
|
|
||||||
labels = {
|
labels = {
|
||||||
'executed_by': "Executed by",
|
'executed_by': "Executed by",
|
||||||
|
@ -127,6 +128,18 @@ class UpgradeView(MasterView):
|
||||||
if upgrade.status_code == self.enum.UPGRADE_STATUS_EXECUTING:
|
if upgrade.status_code == self.enum.UPGRADE_STATUS_EXECUTING:
|
||||||
return 'notice'
|
return 'notice'
|
||||||
|
|
||||||
|
def template_kwargs_view(self, **kwargs):
|
||||||
|
upgrade = kwargs['instance']
|
||||||
|
upgrades = self.Session.query(model.Upgrade)\
|
||||||
|
.filter(model.Upgrade.uuid != upgrade.uuid)
|
||||||
|
kwargs['prev_instance'] = upgrades.filter(model.Upgrade.created <= upgrade.created)\
|
||||||
|
.order_by(model.Upgrade.created.desc())\
|
||||||
|
.first()
|
||||||
|
kwargs['next_instance'] = upgrades.filter(model.Upgrade.created >= upgrade.created)\
|
||||||
|
.order_by(model.Upgrade.created)\
|
||||||
|
.first()
|
||||||
|
return kwargs
|
||||||
|
|
||||||
def configure_form(self, f):
|
def configure_form(self, f):
|
||||||
super(UpgradeView, self).configure_form(f)
|
super(UpgradeView, self).configure_form(f)
|
||||||
f.set_enum('status_code', self.enum.UPGRADE_STATUS)
|
f.set_enum('status_code', self.enum.UPGRADE_STATUS)
|
||||||
|
|
Loading…
Reference in a new issue