web interface: use hidden_reqargs in get_role.mhtml, so that parameters can be pre...
[openxpki.git] / trunk / clients / perl / OpenXPKI-Client-HTML-Mason / htdocs / service / create_csr / get_role.mhtml
blob4b6bfd11c65c2f152fa6cf9e2de71e6b941ace30
1 <%args>
2     $workflow_type => undef
3     $role          => undef
4     $bulk          => undef
5 </%args>
7 % if (! $bulk) {
8 <& /service/open_form.mhtml &>
9 <& /lib/html/hidden_reqargs.mhtml &>
10 % }
11 % else {
12 <& /service/open_form.mhtml, action => $context->{menu}->get_root() . '/service/create_csr/bulk/profile.html' &>
13 % }
16 % if (! $bulk) {
17     <h1><% i18nGettext ('I18N_OPENXPKI_CLIENT_HTML_MASON_CREATE_CSR_GET_ROLE_TITLE') %></h1>
18     <p>
19       <% i18nGettext('I18N_OPENXPKI_CLIENT_HTML_MASON_CREATE_CSR_GET_ROLE_DESCRIPTION') %>
20     </p>
21 % }
22 % else {
23     <h1><% i18nGettext ('I18N_OPENXPKI_CLIENT_HTML_MASON_CREATE_CSR_GET_ROLE_BULK_TITLE') %></h1>
24     <p>
25       <% i18nGettext('I18N_OPENXPKI_CLIENT_HTML_MASON_CREATE_CSR_GET_ROLE_BULK_DESCRIPTION') %>
26     </p>
27 % }
29 <p>
30 <& /lib/html/select.mhtml,
31    'name'    => "role",
32    'default' => [ $role ],
33    'values'  => [ @roles ] &>
34 </p>
35 <& /service/send_form.mhtml &>
36 <& /service/close_form.mhtml &>
37 <dl>
39 <& /service/create_csr/print_errors.mhtml, 'errors' => \@errors &>
41 <%init>
42     ## read all roles from the server
43     my @errors = ();
44     my $msg = $context->{client}->send_receive_command_msg(
45         "get_available_cert_roles",
46     );
47     my @roles = ();
48     if (ref $msg->{PARAMS} eq 'ARRAY') {
49         @roles = @{$msg->{PARAMS}};
50     }
51     @roles = sort @roles;
52     if (ref $msg eq 'ARRAY' && $msg->[0]->{LABEL} ne 'I18N_OPENXPKI_SERVER_API_WORKFLOW_MISSING_REQUIRED_FIELDS') {
53         # an error occured
54         push @errors, @{ $msg };
55     }
56     ## return the role if it exists
57     if (defined $role and
58         grep /^$role$/, @roles)
59     {
60         return $role;
61     }
63     ## if we have only one configuration
64     ## then we have not to ask the user
65     if (scalar @roles == 1)
66     {
67         return $roles[0];
68     }
70     ## ok, we have to ask the user
71 </%init>