Пример #1
0
    def render(self):
        if not app.steps:
            return self.finish()

        self.view = ShowStepsView()
        self.view.show()
        app.loop.create_task(self.show_steps())
Пример #2
0
class ShowStepsController:
    def __init__(self):
        self.view = None

    def render(self):
        common.load_steps()
        if not app.steps:
            return self.finish()

        self.view = ShowStepsView()
        self.view.show()
        app.loop.create_task(self.show_steps())

    async def show_steps(self):
        for step in filter(attrgetter('viewable'), app.steps):
            await self.show_step(step)

        return self.finish()

    async def show_step(self, step):
        step_widget = StepForm(app, step)
        self.view.add_step(step_widget)
        await step_widget.complete.wait()
        if step_widget.sudo_input:
            app.sudo_pass = step_widget.sudo_input.value
        for field in step_widget.fields:
            app.steps_data[step.name][field.key] = field.input.value

    def finish(self):
        return controllers.use('configapps').render()
Пример #3
0
class ShowStepsController:
    def __init__(self):
        self.view = None

    def render(self):
        if not app.steps:
            return self.finish()

        self.view = ShowStepsView()
        self.view.show()
        app.loop.create_task(self.show_steps())

    async def show_steps(self):
        steps = app.steps + AddonModel.selected_addons_steps()
        for step in filter(attrgetter('viewable'), steps):
            if not (step.additional_input or step.needs_sudo):
                continue
            if step.cloud_whitelist and app.provider.cloud_type \
               not in step.cloud_whitelist:
                continue
            await self.show_step(step)

        return self.finish()

    async def show_step(self, step):
        step_widget = StepForm(app, step)
        self.view.add_step(step_widget)
        await step_widget.complete.wait()
        if step_widget.sudo_input:
            app.sudo_pass = step_widget.sudo_input.value
        for field in step_widget.fields:
            app.steps_data[step.name][field.key] = field.input.value

    def finish(self):
        return controllers.use('configapps').render()
Пример #4
0
    def render(self, going_back=False):
        if not app.steps:
            if going_back:
                return self.back()
            else:
                return self.finish()

        self.view = ShowStepsView(None, self.back)
        self.view.show()
        app.loop.create_task(self.show_steps())
Пример #5
0
class ShowStepsController:
    def __init__(self):
        self.view = None

    def render(self, going_back=False):
        if not app.steps:
            if going_back:
                return self.back()
            else:
                return self.finish()

        self.view = ShowStepsView(None, self.back)
        self.view.show()
        app.loop.create_task(self.show_steps())

    async def show_steps(self):
        steps = app.steps + AddonModel.selected_addons_steps()
        for step in filter(attrgetter('viewable'), steps):
            if not (step.additional_input or step.needs_sudo):
                continue
            if step.cloud_whitelist and app.provider.cloud_type \
               not in step.cloud_whitelist:
                continue
            await self.show_step(step)

        return self.finish()

    async def show_step(self, step):
        step_widget = StepForm(app, step)
        self.view.add_step(step_widget)
        await step_widget.complete.wait()
        if step_widget.sudo_input:
            app.sudo_pass = step_widget.sudo_input.value
        for field in step_widget.fields:
            app.steps_data[step.name][field.key] = field.input.value
        await step.after_input(app.ui.set_footer)

    def finish(self):
        steps = app.steps + AddonModel.selected_addons_steps()
        updates = any(step.bundle_add or step.bundle_remove for step in steps)
        if updates:
            utils.setup_metadata_controller()
        return controllers.use('configapps').render()

    def back(self):
        controllers.use('jaaslogin').render(going_back=True)