From 6eaaff265de2dfafb438601de703f9a517718bae Mon Sep 17 00:00:00 2001 From: Michael Hudson-Doyle Date: Wed, 25 Jan 2017 14:56:43 +1300 Subject: [PATCH] move code out of identity view into controller --- subiquity/controllers/identity.py | 20 ++++++++++++++++++-- subiquity/ui/views/identity.py | 22 ++-------------------- 2 files changed, 20 insertions(+), 22 deletions(-) diff --git a/subiquity/controllers/identity.py b/subiquity/controllers/identity.py index 4a26fa05..5359a2b5 100644 --- a/subiquity/controllers/identity.py +++ b/subiquity/controllers/identity.py @@ -18,8 +18,9 @@ import logging from subiquitycore.controller import BaseController from subiquitycore.models import IdentityModel -from subiquitycore import utils +from subiquitycore.user import create_user +from subiquity.curtin import curtin_write_postinst_config from subiquity.ui.views import IdentityView log = logging.getLogger('subiquity.controllers.identity') @@ -42,7 +43,22 @@ class IdentityController(BaseController): def cancel(self): self.signal.emit_signal('prev-screen') - # None of the commented out code below is actually called. Maybe it should be? + def create_user(self, result): + log.debug("User input: {}".format(result)) + self.model.add_user(result) + try: + curtin_write_postinst_config(result) + create_user(result, dryrun=self.opts.dry_run) + except PermissionError: + log.exception('Failed to write curtin post-install config') + self.signal.emit_signal('filesystem:error', + 'curtin_write_postinst_config', result) + return None + self.signal.emit_signal('installprogress:wrote-postinstall') + # show next view + self.signal.emit_signal('next-screen') + + # None of the commented out code below is actually called. Maybe it should be? ## def identity_done(self): ## self.login() diff --git a/subiquity/ui/views/identity.py b/subiquity/ui/views/identity.py index 192ed639..e8710a68 100644 --- a/subiquity/ui/views/identity.py +++ b/subiquity/ui/views/identity.py @@ -23,10 +23,8 @@ from subiquitycore.ui.interactive import (PasswordEditor, StringEditor, UsernameEditor) from subiquitycore.ui.utils import Padding, Color -from subiquitycore.user import create_user from subiquitycore.view import BaseView -from subiquity.curtin import curtin_write_postinst_config log = logging.getLogger("subiquity.views.identity") @@ -231,23 +229,7 @@ class IdentityView(BaseView): return log.debug("User input: {}".format(result)) - self.model.add_user(result) - - self.create_user(result) - - self.signal.emit_signal('installprogress:wrote-postinstall') - # show next view - self.signal.emit_signal('next-screen') - - def create_user(self, result): - try: - curtin_write_postinst_config(result) - create_user(result, dryrun=self.opts.dry_run) - except PermissionError: - log.exception('Failed to write curtin post-install config') - self.signal.emit_signal('filesystem:error', - 'curtin_write_postinst_config', result) - return None + self.controller.create_user(result) def cancel(self, button): - self.signal.prev_signal() + self.controller.cancel()