diff --git a/ttadmin/users/models.py b/ttadmin/users/models.py index 78fc98f..ca0713f 100644 --- a/ttadmin/users/models.py +++ b/ttadmin/users/models.py @@ -78,6 +78,13 @@ class Townie(User): def home(self): return os.path.join('/home', self.username) + def generate_gift(self): + command = '/town/bin/generate_welcome_present.sh' + error = _guarded_run(['sudo', command, self.username]) + if error: + logger.error(error) + return + def send_welcome_email(self): welcome_tmpl = get_template('users/welcome_email.txt') context = { @@ -250,9 +257,11 @@ def on_townie_pre_save(sender, instance, **kwargs): instance.create_on_disk() instance.write_authorized_keys() except Exception as e: - logger.error('Failed syncing user {} to disk: {}'.format(instance.username, e) + logger.error('Failed syncing user {} to disk: {}'.format(instance.username, e)) else: instance.send_welcome_email() + instance.generate_gift() + return else: # This user state transition is currently undefined. In the future, we can check for things