Skip to content

Commit

Permalink
Remove local i18nGettext calls in UI
Browse files Browse the repository at this point in the history
  • Loading branch information
oliwel committed Mar 12, 2015
1 parent 309e472 commit 18adceb
Show file tree
Hide file tree
Showing 17 changed files with 177 additions and 204 deletions.
14 changes: 8 additions & 6 deletions core/i18n/de_DE/openxpki.po
Original file line number Diff line number Diff line change
Expand Up @@ -1948,12 +1948,6 @@ msgstr ""
"oderauch andere Seriennummern in eindeutigen Namen (DN) unterzubringen. "
"Diesdient der sichern Identifikation von Personen oder Objekten."

msgid "I18N_OPENXPKI_SECRET_COMPLETE"
msgstr "Vollständig"

msgid "I18N_OPENXPKI_SECRET_INCOMPLETE"
msgstr "Unvollständig"

#, fuzzy
msgid "I18N_OPENXPKI_SERIALIZATION_FAST_DESERIALIZE_INCORRECT_SERIALIZATION_FORMAT"
msgstr "TLS-Server"
Expand Down Expand Up @@ -4974,6 +4968,14 @@ msgstr ""
msgid "I18N_OPENXPKI_UI_PROFILE_USER_LABEL"
msgstr "Nutzer"

#, fuzzy
msgid "I18N_OPENXPKI_UI_SECRET_COMPLETE"
msgstr "Vollständig"

#, fuzzy
msgid "I18N_OPENXPKI_UI_SECRET_INCOMPLETE"
msgstr "Unvollständig"

#, fuzzy
msgid "I18N_OPENXPKI_UI_TASKLIST_PENDING_ENROLLMENT_DESCRIPTION"
msgstr "SCEP-Zertifizierungsantrag"
Expand Down
14 changes: 7 additions & 7 deletions core/i18n/en_GB/openxpki.po
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: OpenXPKI 0.9\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2004-09-08 14:02+0200\n"
"PO-Revision-Date: 2015-03-12 16:14+0100\n"
"PO-Revision-Date: 2015-03-12 16:37+0100\n"
"Last-Translator: OpenXPKI Team <i18n@openxpki.org>\n"
"Language-Team: OpenXPKI developers list <openxpki-devel@lists.sourceforge."
"net>\n"
Expand Down Expand Up @@ -1666,12 +1666,6 @@ msgstr ""
"Uniform Ressource Identifier (URI) can be any address or reference to an "
"information source. Example: http://www.openxpki.org/~testuser/."

msgid "I18N_OPENXPKI_SECRET_COMPLETE"
msgstr "Ready"

msgid "I18N_OPENXPKI_SECRET_INCOMPLETE"
msgstr "Incomplete"

#, fuzzy
msgid "I18N_OPENXPKI_SERIALIZATION_FAST_DESERIALIZE_INCORRECT_SERIALIZATION_FORMAT"
msgstr "I18N_OPENXPKI_SERIALIZATION_FAST_DESERIALIZE_INCORRECT_SERIALIZATION_FORMAT"
Expand Down Expand Up @@ -4394,6 +4388,12 @@ msgstr "Username"
msgid "I18N_OPENXPKI_UI_PROFILE_USER_LABEL"
msgstr "People (Secure eMail / Authentication)"

msgid "I18N_OPENXPKI_UI_SECRET_COMPLETE"
msgstr "Ready"

msgid "I18N_OPENXPKI_UI_SECRET_INCOMPLETE"
msgstr "Incomplete"

msgid "I18N_OPENXPKI_UI_TASKLIST_PENDING_ENROLLMENT_DESCRIPTION"
msgstr "SCEP Enrollment workflows awaiting approval."

Expand Down
14 changes: 8 additions & 6 deletions core/i18n/ru_RU/openxpki.po
Original file line number Diff line number Diff line change
Expand Up @@ -1840,12 +1840,6 @@ msgstr ""
"Параметр URI (Uniform Resource Identifier) представляет собой адрес или "
"ссылку на источник информации. Например: www.openxpki.org/~testuser."

msgid "I18N_OPENXPKI_SECRET_COMPLETE"
msgstr "Завершено"

msgid "I18N_OPENXPKI_SECRET_INCOMPLETE"
msgstr "Не завершено"

#, fuzzy
msgid "I18N_OPENXPKI_SERIALIZATION_FAST_DESERIALIZE_INCORRECT_SERIALIZATION_FORMAT"
msgstr "SPKAC-строка пуста."
Expand Down Expand Up @@ -5032,6 +5026,14 @@ msgstr ""
msgid "I18N_OPENXPKI_UI_PROFILE_USER_LABEL"
msgstr "Профиль пользователя"

#, fuzzy
msgid "I18N_OPENXPKI_UI_SECRET_COMPLETE"
msgstr "Завершено"

#, fuzzy
msgid "I18N_OPENXPKI_UI_SECRET_INCOMPLETE"
msgstr "Не завершено"

#, fuzzy
msgid "I18N_OPENXPKI_UI_TASKLIST_PENDING_ENROLLMENT_DESCRIPTION"
msgstr "Прием заявок на сертификаты по протоколу SCEP"
Expand Down
20 changes: 2 additions & 18 deletions core/server/OpenXPKI/Client/UI/Bootstrap.pm
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ package OpenXPKI::Client::UI::Bootstrap;

use Moose;
use Data::Dumper;
use OpenXPKI::i18n qw( i18nGettext i18nTokenizer );
use OpenXPKI::i18n qw( i18nTokenizer );

extends 'OpenXPKI::Client::UI::Result';

Expand All @@ -21,23 +21,7 @@ sub init_structure {
my $menu = $self->send_command( 'get_menu' );
$self->logger()->trace('Menu ' . Dumper $menu);

# We need to translate the labels
my $nav = $menu->{main};
for (my $ii = 0; $ii < scalar (@{$nav}); $ii++) {

if ($nav->[$ii]->{label}) {
$nav->[$ii]->{label} = i18nGettext($nav->[$ii]->{label});
}

if (ref $nav->[$ii]->{entries}) {
for (my $jj = 0; $jj < scalar (@{$nav->[$ii]->{entries}}); $jj++) {
$nav->[$ii]->{entries}->[$jj]->{label}
= i18nGettext($nav->[$ii]->{entries}->[$jj]->{label});
}
}
}

$self->_result()->{structure} = $nav;
$self->_result()->{structure} = $menu->{main};

# persist the optional parts of the menu hash (landmark, tasklist, search attribs)
$self->_client->session()->param('landmark', $menu->{landmark} || {});
Expand Down
64 changes: 31 additions & 33 deletions core/server/OpenXPKI/Client/UI/Certificate.pm
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ use Moose;
use Data::Dumper;
use OpenXPKI::DN;
use Digest::SHA qw(sha1_base64);
use OpenXPKI::i18n qw( i18nGettext );


extends 'OpenXPKI::Client::UI::Result';

Expand Down Expand Up @@ -41,14 +39,14 @@ sub init_search {
my @profile_names = keys %{$profile};
@profile_names = sort @profile_names;

my @profile_list = map { $_ = {'value' => $_, 'label' => i18nGettext($profile->{$_}->{label})} } @profile_names ;
my @profile_list = map { $_ = {'value' => $_, 'label' => $profile->{$_}->{label}} } @profile_names ;

my @states = (
{ label => i18nGettext('I18N_OPENXPKI_UI_CERT_STATUS_ISSUED'), value => 'ISSUED'},
{ label => i18nGettext('I18N_OPENXPKI_UI_CERT_STATUS_VALID'), value => 'VALID'},
{ label => i18nGettext('I18N_OPENXPKI_UI_CERT_STATUS_EXPIRED'), value => 'EXPIRED'},
{ label => i18nGettext('I18N_OPENXPKI_UI_CERT_STATUS_REVOKED'), value => 'REVOKED'},
{ label => i18nGettext('I18N_OPENXPKI_UI_CERT_STATUS_CRL_PENDING'), value => 'CRL_ISSUANCE_PENDING'},
{ label => 'I18N_OPENXPKI_UI_CERT_STATUS_ISSUED', value => 'ISSUED'},
{ label => 'I18N_OPENXPKI_UI_CERT_STATUS_VALID', value => 'VALID'},
{ label => 'I18N_OPENXPKI_UI_CERT_STATUS_EXPIRED', value => 'EXPIRED'},
{ label => 'I18N_OPENXPKI_UI_CERT_STATUS_REVOKED', value => 'REVOKED'},
{ label => 'I18N_OPENXPKI_UI_CERT_STATUS_CRL_PENDING', value => 'CRL_ISSUANCE_PENDING'},
);

my $preset;
Expand Down Expand Up @@ -130,7 +128,7 @@ sub init_result {
push @result, [
$item->{CERTIFICATE_SERIAL},
$self->_escape($item->{SUBJECT}),
{ label => i18nGettext('I18N_OPENXPKI_UI_CERT_STATUS_'.$item->{STATUS}) , value => $item->{STATUS} },
{ label => 'I18N_OPENXPKI_UI_CERT_STATUS_'.$item->{STATUS} , value => $item->{STATUS} },
$item->{NOTBEFORE},
$item->{NOTAFTER},
$self->_escape($item->{ISSUER_DN}),
Expand Down Expand Up @@ -230,7 +228,7 @@ sub init_mine {
push @result, [
$item->{CERTIFICATE_SERIAL},
$self->_escape($item->{SUBJECT}),
{ label => i18nGettext('I18N_OPENXPKI_UI_CERT_STATUS_'.$item->{STATUS}) , value => $item->{STATUS} },
{ label => 'I18N_OPENXPKI_UI_CERT_STATUS_'.$item->{STATUS}, value => $item->{STATUS} },
$item->{NOTBEFORE},
$item->{NOTAFTER},
$self->_escape($item->{ISSUER_DN}),
Expand Down Expand Up @@ -313,7 +311,7 @@ sub init_detail {
{ label => 'Identifier', value => $cert_identifier },
{ label => 'not before', value => $cert->{NOTBEFORE}, format => 'timestamp' },
{ label => 'not after', value => $cert->{NOTAFTER}, format => 'timestamp' },
{ label => 'Status', value => { label => i18nGettext('I18N_OPENXPKI_UI_CERT_STATUS_'.$cert->{STATUS}) , value => $cert->{STATUS} }, format => 'certstatus' },
{ label => 'Status', value => { label => 'I18N_OPENXPKI_UI_CERT_STATUS_'.$cert->{STATUS} , value => $cert->{STATUS} }, format => 'certstatus' },
{ label => 'Issuer', format=>'link', value => { label => $cert->{ISSUER_DN}, page => 'certificate!chain!identifier!'. $cert_identifier } },
);

Expand All @@ -328,18 +326,18 @@ sub init_detail {
# TODO - add ACL, only owner should be allowed to dl key
if ($is_local_entity &&
$self->send_command ( "private_key_exists_for_cert", { IDENTIFIER => $cert_identifier })) {
$privkey = '<li><a href="#certificate!privkey!identifier!'.$cert_identifier.'">'.i18nGettext('I18N_OPENXPKI_UI_DOWNLOAD_PRIVATE_KEY').'</a></li>';
$privkey = '<li><a href="#certificate!privkey!identifier!'.$cert_identifier.'">I18N_OPENXPKI_UI_DOWNLOAD_PRIVATE_KEY</a></li>';
}

push @fields, { label => i18nGettext('I18N_OPENXPKI_UI_DOWNLOAD_LABEL'), value => '<ul class="list-unstyled">'.
sprintf ($pattern, 'pem', i18nGettext('I18N_OPENXPKI_UI_DOWNLOAD_PEM')).
# core bug see #185 sprintf ($pattern, 'txt', i18nGettext('I18N_OPENXPKI_UI_DOWNLOAD_TXT')).
sprintf ($pattern, 'der', i18nGettext('I18N_OPENXPKI_UI_DOWNLOAD_DER')).
sprintf ($pattern, 'pkcs7', i18nGettext('I18N_OPENXPKI_UI_DOWNLOAD_PKCS7')).
sprintf ($pattern, 'pkcs7!root!true', i18nGettext('I18N_OPENXPKI_UI_DOWNLOAD_PKCS7_WITH_ROOT')).
sprintf ($pattern, 'bundle', i18nGettext('I18N_OPENXPKI_UI_DOWNLOAD_BUNDLE')).
push @fields, { label => 'I18N_OPENXPKI_UI_DOWNLOAD_LABEL', value => '<ul class="list-unstyled">'.
sprintf ($pattern, 'pem', 'I18N_OPENXPKI_UI_DOWNLOAD_PEM').
# core bug see #185 sprintf ($pattern, 'txt', 'I18N_OPENXPKI_UI_DOWNLOAD_TXT').
sprintf ($pattern, 'der', 'I18N_OPENXPKI_UI_DOWNLOAD_DER').
sprintf ($pattern, 'pkcs7', 'I18N_OPENXPKI_UI_DOWNLOAD_PKCS7').
sprintf ($pattern, 'pkcs7!root!true', 'I18N_OPENXPKI_UI_DOWNLOAD_PKCS7_WITH_ROOT').
sprintf ($pattern, 'bundle', 'I18N_OPENXPKI_UI_DOWNLOAD_BUNDLE').
$privkey.
sprintf ($pattern, 'install', i18nGettext('I18N_OPENXPKI_UI_DOWNLOAD_INSTALL')).
sprintf ($pattern, 'install', 'I18N_OPENXPKI_UI_DOWNLOAD_INSTALL').
'</ul>'
};

Expand All @@ -349,19 +347,19 @@ sub init_detail {
if ($is_local_entity) {
my @actions;
if ($is_local_entity && ($cert->{STATUS} eq 'ISSUED' || $cert->{STATUS} eq 'EXPIRED')) {
push @actions, sprintf ($pattern, 'certificate_renewal_request', i18nGettext('I18N_OPENXPKI_UI_CERT_ACTION_RENEW'));
push @actions, sprintf ($pattern, 'certificate_renewal_request', 'I18N_OPENXPKI_UI_CERT_ACTION_RENEW');
}
if ($cert->{STATUS} eq 'ISSUED') {
push @actions, sprintf ($pattern, 'certificate_revocation_request_v2', i18nGettext('I18N_OPENXPKI_UI_CERT_ACTION_REVOKE'));
push @actions, sprintf ($pattern, 'certificate_revocation_request_v2', 'I18N_OPENXPKI_UI_CERT_ACTION_REVOKE');
}
push @actions, sprintf ($pattern, 'change_metadata', i18nGettext('I18N_OPENXPKI_UI_CERT_ACTION_UPDATE_METADATA'));
push @actions, sprintf ($pattern, 'change_metadata', 'I18N_OPENXPKI_UI_CERT_ACTION_UPDATE_METADATA');

push @fields, { label => i18nGettext('I18N_OPENXPKI_UI_CERT_ACTION_LABEL'), value => '<ul class="list-unstyled">'.join("", @actions).'</ul>' };
push @fields, { label => 'I18N_OPENXPKI_UI_CERT_ACTION_LABEL', value => '<ul class="list-unstyled">'.join("", @actions).'</ul>' };
}

push @fields, { label => i18nGettext('I18N_OPENXPKI_UI_CERT_RELATED_LABEL'), format => 'link', value => {
push @fields, { label => 'I18N_OPENXPKI_UI_CERT_RELATED_LABEL', format => 'link', value => {
page => 'certificate!related!identifier!'.$cert_identifier,
label => i18nGettext('I18N_OPENXPKI_UI_CERT_RELATED_HINT')
label => 'I18N_OPENXPKI_UI_CERT_RELATED_HINT'
}};

$self->add_section({
Expand Down Expand Up @@ -403,9 +401,9 @@ sub init_chain {
foreach my $cert (@{$chain->{CERTIFICATES}}) {

my $dl = '<ul class="list-inline">'.
sprintf ($pattern, $cert->{IDENTIFIER}, 'pem', i18nGettext('I18N_OPENXPKI_UI_DOWNLOAD_SHORT_PEM')).
sprintf ($pattern, $cert->{IDENTIFIER}, 'der', i18nGettext('I18N_OPENXPKI_UI_DOWNLOAD_SHORT_DER')).
sprintf ($pattern, $cert->{IDENTIFIER}, 'install', i18nGettext('I18N_OPENXPKI_UI_DOWNLOAD_SHORT_INSTALL')).
sprintf ($pattern, $cert->{IDENTIFIER}, 'pem', 'I18N_OPENXPKI_UI_DOWNLOAD_SHORT_PEM').
sprintf ($pattern, $cert->{IDENTIFIER}, 'der', 'I18N_OPENXPKI_UI_DOWNLOAD_SHORT_DER').
sprintf ($pattern, $cert->{IDENTIFIER}, 'install', 'I18N_OPENXPKI_UI_DOWNLOAD_SHORT_INSTALL').
'</ul>';

$self->add_section({
Expand All @@ -414,11 +412,11 @@ sub init_chain {
label => '',
description => '',
data => [
{ label => i18nGettext('I18N_OPENXPKI_UI_CERTIFICATE_SUBJECT'), format => 'link', 'value' => {
{ label => 'I18N_OPENXPKI_UI_CERTIFICATE_SUBJECT', format => 'link', 'value' => {
label => $cert->{SUBJECT}, page => 'certificate!detail!identifier!'.$cert->{IDENTIFIER} } },
{ label => i18nGettext('I18N_OPENXPKI_UI_CERTIFICATE_NOTBEFORE'), value => $cert->{NOTBEFORE}, format => 'timestamp' },
{ label => i18nGettext('I18N_OPENXPKI_UI_CERTIFICATE_NOTAFTER'), value => $cert->{NOTAFTER}, format => 'timestamp' },
{ label => i18nGettext('I18N_OPENXPKI_UI_DOWNLOAD_LABEL'), value => $dl },
{ label => 'I18N_OPENXPKI_UI_CERTIFICATE_NOTBEFORE', value => $cert->{NOTBEFORE}, format => 'timestamp' },
{ label => 'I18N_OPENXPKI_UI_CERTIFICATE_NOTAFTER', value => $cert->{NOTAFTER}, format => 'timestamp' },
{ label => 'I18N_OPENXPKI_UI_DOWNLOAD_LABEL', value => $dl },
],
}},
);
Expand Down
7 changes: 3 additions & 4 deletions core/server/OpenXPKI/Client/UI/Crl.pm
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ package OpenXPKI::Client::UI::Crl;

use Moose;
use Data::Dumper;
use OpenXPKI::i18n qw( i18nGettext );

extends 'OpenXPKI::Client::UI::Result';

Expand Down Expand Up @@ -201,9 +200,9 @@ sub __print_detail {
my $pattern = '<li><a href="'.$base.'%s" target="_blank">%s</a></li>';

push @fields, { label => 'Download', value => '<ul class="list-unstyled">'.
sprintf ($pattern, 'pem', i18nGettext('I18N_OPENXPKI_UI_DOWNLOAD_PEM')).
sprintf ($pattern, 'der', i18nGettext('I18N_OPENXPKI_UI_DOWNLOAD_DER')).
sprintf ($pattern, 'txt', i18nGettext('I18N_OPENXPKI_UI_DOWNLOAD_TXT')).
sprintf ($pattern, 'pem', 'I18N_OPENXPKI_UI_DOWNLOAD_PEM').
sprintf ($pattern, 'der', 'I18N_OPENXPKI_UI_DOWNLOAD_DER').
sprintf ($pattern, 'txt', 'I18N_OPENXPKI_UI_DOWNLOAD_TXT').
'</ul>'
};

Expand Down
17 changes: 8 additions & 9 deletions core/server/OpenXPKI/Client/UI/Handle/Profile.pm
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ use Moose;
use Data::Dumper;
use English;
use OpenXPKI::Serialization::Simple;
use OpenXPKI::i18n qw( i18nGettext );

sub render_profile_select {

Expand All @@ -25,7 +24,7 @@ sub render_profile_select {
my $profiles = $self->send_command( 'get_cert_profiles', {});
# Transform hash into value/label list and sort it
# Apply translation
map { $profiles->{$_}->{label} = i18nGettext($profiles->{$_}->{label}) } keys %{$profiles};
map { $profiles->{$_}->{label} = $profiles->{$_}->{label} } keys %{$profiles};
# Sort
my @profiles = sort { lc($a->{label}) cmp lc($b->{label}) } values %{$profiles};

Expand All @@ -39,7 +38,7 @@ sub render_profile_select {
my $styles = $self->send_command( 'get_cert_subject_profiles', { PROFILE => $cert_profile });
# TODO clean up API after Mason decomissioning
# Transform hash into value/label list and sort it
@styles = map { { value => $_, label => i18nGettext($styles->{$_}->{LABEL}), i18nGettext(description => $styles->{$_}->{DESCRIPTION}) } } keys %{$styles};
@styles = map { { value => $_, label => $styles->{$_}->{LABEL}, description => $styles->{$_}->{DESCRIPTION} } } keys %{$styles};
@styles = sort { lc($a->{label}) cmp lc($b->{label}) } @styles;
}

Expand Down Expand Up @@ -161,7 +160,7 @@ sub render_key_select {
my $key_alg = $self->send_command( 'get_key_algs', { PROFILE => $context->{cert_profile} });
my @key_type;
foreach my $alg (@{$key_alg}) {
push @key_type, { label => i18nGettext('I18N_OPENXPKI_UI_KEY_ALG_'.uc($alg)) , value => $alg };
push @key_type, { label => 'I18N_OPENXPKI_UI_KEY_ALG_'.uc($alg) , value => $alg };
}

my $key_gen_param_names = $self->send_command( 'get_key_params', { PROFILE => $context->{cert_profile} });
Expand All @@ -171,7 +170,7 @@ sub render_key_select {

# Encryption
my $key_enc = $self->send_command( 'get_key_enc', { PROFILE => $context->{cert_profile} });
my @enc = map { { value => $_, label => i18nGettext('I18N_OPENXPKI_UI_KEY_ENC_'.uc($_)) } } @{$key_enc};
my @enc = map { { value => $_, label => 'I18N_OPENXPKI_UI_KEY_ENC_'.uc($_) } } @{$key_enc};

my @fields;
FIELDS:
Expand All @@ -182,7 +181,7 @@ sub render_key_select {
foreach my $pn (@{$key_gen_param_names}) {
$pn = uc($pn);
# We create the label as I18 string from the param name
my $label = i18nGettext('I18N_OPENXPKI_UI_KEY_'.$pn);
my $label = 'I18N_OPENXPKI_UI_KEY_'.$pn;
push @fields, {
name => "key_gen_params{$pn}",
label => $label,
Expand Down Expand Up @@ -286,8 +285,8 @@ sub __translate_form_def {
foreach my $field (@{$fields}) {
my $new = {
name => $field_name.'{'.$field->{ID}.'}',
label => i18nGettext($field->{LABEL}),
tooltip => i18nGettext($field->{DESCRIPTION}),
label => $field->{LABEL},
tooltip => $field->{DESCRIPTION},
default => $field->{DEFAULT}, # Default is used as placeholder!
value => $values->{$field->{ID}}
};
Expand Down Expand Up @@ -328,7 +327,7 @@ sub __translate_form_def {

my @keys = map { {
value => sprintf ($format, $_->{value}),
label => i18nGettext($_->{label})
label => $_->{label}
} } @{$field->{KEYS}};
$new->{keys} = \@keys;
}
Expand Down
9 changes: 4 additions & 5 deletions core/server/OpenXPKI/Client/UI/Home.pm
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ package OpenXPKI::Client::UI::Home;

use Moose;
use Data::Dumper;
use OpenXPKI::i18n qw( i18nGettext );

extends 'OpenXPKI::Client::UI::Result';

Expand Down Expand Up @@ -95,8 +94,8 @@ sub init_task {
push @data, [
$item->{'WORKFLOW.WORKFLOW_SERIAL'},
$item->{'WORKFLOW.WORKFLOW_LAST_UPDATE'},
i18nGettext($item->{'WORKFLOW.WORKFLOW_TYPE'}),
i18nGettext($item->{'WORKFLOW.WORKFLOW_STATE'}),
$item->{'WORKFLOW.WORKFLOW_TYPE'},
$item->{'WORKFLOW.WORKFLOW_STATE'},
$status
]
}
Expand All @@ -108,8 +107,8 @@ sub init_task {
className => 'workflow',
processing_type => 'all',
content => {
label => i18nGettext($item->{label}),
description => i18nGettext($item->{description}),
label => $item->{label},
description => $item->{description},
actions => [{
path => 'redirect!workflow!load!wf_id!{serial}',
icon => 'view',
Expand Down

0 comments on commit 18adceb

Please sign in to comment.