Tweak how we assign 'runas' user for commands

This commit is contained in:
Lance Edgar 2018-11-19 21:27:57 -06:00
parent d3f327e396
commit 6207645f29
2 changed files with 7 additions and 4 deletions

View file

@ -357,7 +357,10 @@ class Subcommand(object):
from rattail.db.util import short_session
if username is None:
username = self.runas_username or self.config.require('rattail', 'runas.default')
if hasattr(self, 'runas_username'):
username = self.runas_username
if not username:
username = self.config.require('rattail', 'runas.default')
with short_session(session) as s:
user = s.query(self.model.User).filter_by(username=username).one()
if not session:

View file

@ -71,9 +71,9 @@ class ImportSubcommand(Subcommand):
kwargs.setdefault('config', getattr(self, 'config', None))
kwargs.setdefault('command', self)
kwargs.setdefault('progress', self.progress)
if hasattr(self, 'runas_username'):
kwargs.setdefault('runas_username', self.runas_username)
kwargs.setdefault('runas_user', self.get_runas_user())
user = self.get_runas_user()
kwargs.setdefault('runas_user', user)
kwargs.setdefault('runas_username', user.username)
if 'args' in kwargs:
args = kwargs['args']
kwargs.setdefault('dry_run', args.dry_run)