<%args> $type => undef $id => undef $filled => undef <& /service/open_form.mhtml, action => 'change_csr_info.html' &> <& /lib/html/hidden.mhtml, 'name' => 'type', 'value' => $type &> <& /lib/html/hidden.mhtml, 'name' => 'id', 'value' => $id &> <& /lib/html/hidden.mhtml, 'name' => 'filled', 'value' => '1' &>

<% i18nGettext ('I18N_OPENXPKI_CLIENT_HTML_MASON_ACTIVITY_CHANGE_CSR_INFO_TITLE') %>

<% i18nGettext('I18N_OPENXPKI_CLIENT_HTML_MASON_ACTIVITY_CHANGE_CSR_INFO_DESCRIPTION') %>

% foreach my $key (keys %info) % { % }
<% i18nGettext ($key) %> <& /lib/html/input.mhtml, 'type' => 'text', 'name' => "info_$key", value => $info{$key} &>
<& /service/send_form.mhtml &> <& /service/close_form.mhtml &> <& /service/create_csr/print_errors.mhtml, 'errors' => \@errors &> <%init> my @errors = (); my %info = (); my $text = ""; my $serializer = OpenXPKI::Serialization::Simple->new({SEPARATOR => "-"}); ## load the workflow and extract the additional infos my $msg = $context->{client}->send_receive_command_msg ( "get_workflow_info", { "WORKFLOW" => $type, "ID" => $id } ); $text = $msg->{PARAMS}->{WORKFLOW}->{CONTEXT}->{cert_info}; ## serialized stuff %info = %{$serializer->deserialize($text)}; if ($filled) { ## this is the second step - so we have a filled form ## build the DN my $ARGS = {$m->request_args()}; foreach my $key (keys %info) { ## change info in hash $info{$key} = $ARGS->{"info_$key"}; } ## serialize info ## warnings we must be safe against \n truncation $text = $serializer->serialize(\%info); ## fix the workflow my $msg = $context->{client}->send_receive_command_msg ( "execute_workflow_activity", {WORKFLOW => $type, ID => $id, ACTIVITY => "I18N_OPENXPKI_WF_ACTION_CHANGE_CSR_INFO", PARAMS => {"cert_info" => $text}}); if (exists $msg->{SERVICE_MSG} and $msg->{SERVICE_MSG} eq "ERROR") { @errors = $m->comp ('/lib/get_deep_error.mhtml', 'msg' => $msg); } else { return $m->comp ('/service/workflow/show_instance.html', 'msg' => $msg, 'type' => $type, 'id' => $id); } } ## ok we have to display the whole stuff