The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Name

QBit::Application - base class for create applications.

Description

It union all project models.

RO accessors

  • timelog

Package methods

config_opts

Short method description

Arguments:

  • %opts - additional arguments:

Return value: type, description

use_config

Short method description

Arguments:

  • $filename - type, description

Return value: type, description

Methods

get_option

return option by name

Arguments:

  • $name - string

  • $default - default value

Return value: value

    #> pwd
    #
    # /home/app
    #
    #> cat ./lib/Application.cfg
    #
    # salt => 'terc3s',
    # path => '${ApplicationPath}data',
    # lib  => ['./t_lib', '${ApplicationPath}lib'],
    # opt  => {
    #     key => 'value',
    # }

    my $salt = $self->get_option('salt', 's3cret'); # 'terc3s'

    my $salt2 = $self->get_option('salt2', 's3cret'); # 's3cret'

    my $path = $self->get_option('path'); # '/home/app/data'

    my $lib = $self->get_option('lib'); # ['./t_lib', '/home/app/lib']

    my $opts = $self->get_option('opt', {key => 'value2'}); # {key => 'value'}

set_option

set option

Arguments:

  • $name - string

  • $value - value

Return value: value

    $app->set_option('salt', 's3cret');
    
    $app->set_option('locales', [qw(ru en)]);

cur_user

set or get current user

Arguments:

  • $user - hash ref

Return value: hash ref

    my $user = {id => 1};

    $cur_user = $app->cur_user($user); # set current user

    # if use rbac
    # {id => 1, roles => {3 => {id => 3, name => 'ROLE 3', description => 'ROLE 3'}}, rights => ['RIGHT1', 'RIGHT2']}
    # or
    # {id => 1}

    $cur_user = $app->cur_user(); # return current user or {}

    $app->cur_user({}); # remove current user

set_cur_user_rights

set rights for current user

Arguments:

  • $rights - array ref

    $app->set_cur_user_rights([qw(RIGHT1 RIGHT2)]);

revoke_cur_user_rights

revoke rights for current user

Arguments:

  • $rights - array ref

    $app->revoke_cur_user_rights([qw(RIGHT1 RIGHT2)]);

refresh_rights

refresh rights for current user

    my $cur_user_id = $app->cur_user()->{'id'};

    $app->rbac->set_user_role($cur_user_id, 3); # role_id = 3

    $app->refresh_rights();

get_models

Short method description

No arguments.

Return value: type, description

get_registered_rights

Short method description

No arguments.

Return value: type, description

get_registered_right_groups

Short method description

No arguments.

Return value: type, description

check_rights

check rights for current user

Arguments:

  • @rights - array of strings or array ref

Return value: boolean

    $app->check_rights('RIGHT1', 'RIGHT2'); # TRUE if has rights 'RIGHT1' and 'RIGHT2'

    $app->check_rights(['RIGHT1', 'RIGHT2']); # TRUE if has rights 'RIGHT1' or 'RIGHT2'

set_app_locale

Short method description

Arguments:

  • $locale_id - type, description

Return value: type, description

set_tmp_app_locale

Short method description

Arguments:

  • $locale_id - type, description

Return value: type, description

add_tmp_rights

Short method description

Arguments:

  • @rights - type, description

Return value: type, description

pre_run

Short method description

No arguments.

Return value: type, description

post_run

Short method description

No arguments.

Return value: type, description

process_mem_cycles

Short method description

Arguments:

  • $cycles - type, description

Return value: type, description

process_timelog

Short method description

No arguments.

Return value: type, description

_push_pkg_opts

Short method description

Arguments:

  • $filename - type, description

  • $config - type, description

Return value: type, description