Jifty

 view release on metacpan or  search on metacpan

lib/Jifty/Plugin/SetupWizard/View.pm  view on Meta::CPAN


    config_field(
        field   => 'Password',
        context => '/framework/Database',
        value_args => {
            render_as => 'password',
        },
        empty_is_undef => 1,
    );
}

template '/__jifty/admin/setupwizard/database/mysql' => sub {
    _configure_database_connectivity('mysql');
};

template '/__jifty/admin/setupwizard/database/Pg' => sub {
    _configure_database_connectivity('Pg');

    config_field(
        field   => 'RequireSSL',
        context => '/framework/Database',
        value_args => {
            label     => _('Use SSL?'),
            render_as => 'checkbox',
        },
    );
};

template '/__jifty/admin/setupwizard/database/test_connectivity_button' => sub {
    hyperlink(
        label     => _("Test connectivity"),
        as_button => 1,
        onclick   => {
            # Submit all actions
            submit => undef,

            # Actually test connectivity
            replace_with => '/__jifty/admin/setupwizard/database/test_connectivity',
        },
    );
};

template '/__jifty/admin/setupwizard/database/test_connectivity' => sub {
    my $db_args = Jifty->config->framework('Database');
    my $action = Jifty::Plugin::SetupWizard::Action::TestDatabaseConnectivity->new(
        arguments => {
            driver     => $db_args->{Driver},
            database   => $db_args->{Database},
            host       => $db_args->{Host},
            port       => $db_args->{Port},
            user       => $db_args->{User},
            password   => $db_args->{Password},
            requiressl => $db_args->{RequireSSL},
        },
    );
    $action->validate;
    $action->run;

    if ($action->result->success) {
        p {
            attr { class => 'popup_message' };
            outs $action->result->message;
        }
    }
    else {
        p {
            attr { class => 'popup_error' };
            outs $action->result->error;
        }
    }

    show '/__jifty/admin/setupwizard/database/test_connectivity_button';
};

template '/__jifty/admin/setupwizard/web' => sub {
    p { _("You may change web server settings.") };

    my $appname = lc Jifty->config->framework('ApplicationName');
    $appname =~ s/-//g;

    config_field(
        field      => 'BaseURL',
        context    => '/framework/Web',
        value_args => {
            hints => _('The root URL for the web server (examples: http://%1.yourcompany.com, http://business.com/%1)', $appname),
        },
    );

    config_field(
        field   => 'Port',
        context => '/framework/Web',
    );
};

template '/__jifty/admin/setupwizard/finalize' => sub {
    p { _("You may finalize your configuration.") };

    my $appname = Jifty->config->framework('ApplicationName');
    my $action = config_field(
        field      => 'SetupMode',
        context    => '/framework',
        message    => _('Setup finished. Welcome to %1!', $appname),
        value_args => {
            render_as     => 'hidden',
            default_value => 0,
        },
    );

    form_next_page url => '/';
    form_submit( label => _('Done!') );
};

1;

__END__

=head1 NAME

Jifty::Plugin::SetupWizard::View - templates for SetupWizard

=head1 FUNCTIONS

=head2 step_link

A helper function for constructing a link to a different step. Expected
arguments: the C<index> of the step and the C<label> for the link.



( run in 1.045 second using v1.01-cache-2.11-cpan-364913b4093 )