Add dedicated perm for replacing poser report module

This commit is contained in:
Lance Edgar 2022-03-02 18:52:28 -06:00
parent 72177aef0a
commit d99f2541df
3 changed files with 16 additions and 10 deletions

View file

@ -2,7 +2,7 @@
################################################################################
#
# Rattail -- Retail Software Framework
# Copyright © 2010-2021 Lance Edgar
# Copyright © 2010-2022 Lance Edgar
#
# This file is part of Rattail.
#
@ -87,7 +87,7 @@ class AuthenticationView(View):
# Store current URL in session, for smarter redirect after login.
self.request.session['next_url'] = self.request.current_route_url()
next_url = self.request.route_url('login')
self.request.session.flash(msg, allow_duplicate=False)
self.request.session.flash(msg, 'warning', allow_duplicate=False)
return self.redirect(next_url)
def login(self, **kwargs):

View file

@ -252,22 +252,26 @@ class PoserReportView(MasterView):
@classmethod
def defaults(cls, config):
cls._poser_report_defaults(config)
cls._defaults(config)
cls._poser_report_defaults(config)
@classmethod
def _poser_report_defaults(cls, config):
route_prefix = cls.get_route_prefix()
permission_prefix = cls.get_permission_prefix()
instance_url_prefix = cls.get_instance_url_prefix()
model_title = cls.get_model_title()
# replace module
config.add_tailbone_permission(permission_prefix,
'{}.replace'.format(permission_prefix),
"Upload replacement module for {}".format(model_title))
config.add_route('{}.replace'.format(route_prefix),
'{}/replace'.format(instance_url_prefix),
request_method='POST')
config.add_view(cls, attr='replace',
route_name='{}.replace'.format(route_prefix),
# TODO: requires root, should add custom permission?
permission='admin')
permission='{}.replace'.format(permission_prefix))
class PoserReportSchema(colander.MappingSchema):