move code out of identity view into controller

This commit is contained in:
Michael Hudson-Doyle 2017-01-25 14:56:43 +13:00
parent 78ca3c610f
commit 6eaaff265d
2 changed files with 20 additions and 22 deletions

View File

@ -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()

View File

@ -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()