Add basic upgrades support, remove 'better' theme references

This commit is contained in:
Lance Edgar 2017-08-13 22:37:38 -05:00
parent fe19b5ae65
commit 8df12a1774
5 changed files with 47 additions and 8 deletions

View file

@ -1,4 +1,4 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8; -*-
""" """
Pyramid web application Pyramid web application
""" """
@ -15,9 +15,8 @@ def main(global_config, **settings):
# set some defaults for PostgreSQL # set some defaults for PostgreSQL
app.provide_postgresql_settings(settings) app.provide_postgresql_settings(settings)
# prefer demo templates over tailbone; use 'better' theme # prefer demo templates over tailbone
settings.setdefault('mako.directories', ['rattail_demo.web:templates', settings.setdefault('mako.directories', ['rattail_demo.web:templates',
'tailbone:templates/themes/better',
'tailbone:templates',]) 'tailbone:templates',])
# make config objects # make config objects

View file

@ -1,5 +1,5 @@
## -*- coding: utf-8 -*- ## -*- coding: utf-8; -*-
<%inherit file="tailbone:templates/themes/better/base.mako" /> <%inherit file="tailbone:templates/base.mako" />
<%def name="global_title()">${"[STAGE] " if not request.rattail_config.production() else ''}Rattail Demo</%def> <%def name="global_title()">${"[STAGE] " if not request.rattail_config.production() else ''}Rattail Demo</%def>

View file

@ -1,4 +1,4 @@
## -*- coding: utf-8 -*- ## -*- coding: utf-8; -*-
<%def name="main_menu_items()"> <%def name="main_menu_items()">
@ -110,7 +110,7 @@
</li> </li>
% endif % endif
% if request.has_any_perm('users.list', 'roles.list', 'emailprofiles.list', 'datasync.list', 'settings.list'): % if request.has_any_perm('users.list', 'roles.list', 'emailprofiles.list', 'datasync.list', 'settings.list', 'upgrades.list'):
<li> <li>
<a>Admin</a> <a>Admin</a>
<ul> <ul>
@ -129,6 +129,9 @@
% if request.has_perm('settings.list'): % if request.has_perm('settings.list'):
<li>${h.link_to("Settings", url('settings'))}</li> <li>${h.link_to("Settings", url('settings'))}</li>
% endif % endif
% if request.has_perm('upgrades.list'):
<li>${h.link_to("Rattail Demo Upgrades", url('upgrades'))}</li>
% endif
</ul> </ul>
</li> </li>
% endif % endif

View file

@ -1,4 +1,4 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8; -*-
""" """
Web views Web views
""" """
@ -11,6 +11,7 @@ def includeme(config):
# core views # core views
config.include('rattail_demo.web.views.common') config.include('rattail_demo.web.views.common')
config.include('rattail_demo.web.views.auth') config.include('rattail_demo.web.views.auth')
config.include('tailbone.views.progress')
# main table views # main table views
config.include('tailbone.views.brands') config.include('tailbone.views.brands')
@ -30,6 +31,7 @@ def includeme(config):
config.include('tailbone.views.stores') config.include('tailbone.views.stores')
config.include('tailbone.views.subdepartments') config.include('tailbone.views.subdepartments')
config.include('rattail_demo.web.views.tempmon') config.include('rattail_demo.web.views.tempmon')
config.include('rattail_demo.web.views.upgrades')
config.include('rattail_demo.web.views.users') config.include('rattail_demo.web.views.users')
config.include('tailbone.views.vendors') config.include('tailbone.views.vendors')

View file

@ -0,0 +1,35 @@
# -*- coding: utf-8; -*-
"""
Upgrade views
"""
from __future__ import unicode_literals, absolute_import
import re
from tailbone.views import upgrades as base
class UpgradeView(base.UpgradeView):
def get_changelog_url(self, project, old_version, new_version):
if project == 'rattail-demo':
if self.commit_hash_pattern.match(new_version):
if new_version == old_version:
return 'https://rattailproject.org/trac/log/rattail-demo/?rev={}&limit=100'.format(
new_version)
else:
return 'https://rattailproject.org/trac/log/rattail-demo/?rev={}&stop_rev={}&limit=100'.format(
new_version, old_version)
elif re.match(r'^\d+\.\d+\.\d+$', new_version):
return 'https://rattailproject.org/trac/browser/rattail-demo/CHANGES.rst?rev=v{}'.format(
new_version)
else:
return 'https://rattailproject.org/trac/browser/rattail-demo/CHANGES.rst'
return super(UpgradeView, self).get_changelog_url(project, old_version, new_version)
def includeme(config):
UpgradeView.defaults(config)