Implement editable notbefore/notafter dates (closes #1907102)
[openxpki.git] / trunk / clients / perl / OpenXPKI-Client-HTML-Mason / htdocs / service / workflow / activity / change_validity.mhtml
blobf3aafc5461f515d205b100527f9f70ce92cefc06
1 <%args>
2     $type     => undef
3     $id       => undef
4     $filled   => undef
5     $year     => undef
6     $month    => undef
7     $day      => undef
8     $hour     => undef
9     $minute   => undef
10     $seconds  => undef
11     $val_type => undef
12 </%args>
14 <& /service/open_form.mhtml, action => 'change_' . $val_type . '.html' &>
16 <& /lib/html/hidden.mhtml, 'name' => 'type',   'value' => $type &>
17 <& /lib/html/hidden.mhtml, 'name' => 'id',     'value' => $id &>
18 <& /lib/html/hidden.mhtml, 'name' => 'filled', 'value' => '1' &>
20 <h1><% i18nGettext ('I18N_OPENXPKI_CLIENT_HTML_MASON_ACTIVITY_CHANGE_' . uc($val_type) . '_TITLE') %></h1>
21 <p>
22   <% i18nGettext('I18N_OPENXPKI_CLIENT_HTML_MASON_ACTIVITY_CHANGE_' . uc($val_type) . '_DESCRIPTION') %>
23 </p>
24 % if (! defined $notafter_or_before) {
25 <p>
26   <% i18nGettext('I18N_OPENXPKI_CLIENT_HTML_MASON_ACTIVITY_CHANGE_' . uc($val_type) . '_' . uc($val_type) . '_NOT_YET_DEFINED') %>
27 </p>
28 % }
29 <table>
30     <tr>
31         <td>
32 <% i18nGettext('I18N_OPENXPKI_CLIENT_HTML_MASON_ACTIVITY_CHANGE_' . uc($val_type) . '_INPUT_' . uc($val_type) . '_DATE') %>
33         </td>
34         <td>
35         </td>
36     </tr>
37     <tr>
38         <td>
39             <% i18nGettext('I18N_OPENXPKI_CLIENT_HTML_MASON_DATE') %> (YYYY/MM/DD)
40         <td>
41           <& /lib/html/input.mhtml,
42             'name'   => 'year',
43             'value'  => $year,
44             'width'  => '4',
45           &>
46           /
47           <& /lib/html/input.mhtml,
48             'name'   => 'month',
49             'value'  => $month,
50             'width'  => '2',
51           &>
52           /
53           <& /lib/html/input.mhtml,
54             'name'   => 'day',
55             'value'  => $day,
56             'width'  => '2',
57           &>
58         </td>
59     </tr>
60     <tr>
61         <td>
62             <% i18nGettext('I18N_OPENXPKI_CLIENT_HTML_MASON_TIME') %> (HH:MM:SS)
63         <td>
64           <& /lib/html/input.mhtml,
65             'name'   => 'hour',
66             'value'  => $hour,
67             'width'  => '2',
68           &>
69           :
70           <& /lib/html/input.mhtml,
71             'name'   => 'minute',
72             'value'  => $minute,
73             'width'  => '2',
74           &>
75           :
76           <& /lib/html/input.mhtml,
77             'name'   => 'seconds',
78             'value'  => $seconds,
79             'width'  => '2',
80             &>
81          UTC
82         </td>
83     </tr>
84 </table>
85 <& /service/send_form.mhtml &>
86 <& /service/close_form.mhtml &>
88 <& /service/create_csr/print_errors.mhtml, 'errors' => \@errors &>
90 <%init>
91     my @errors = ();
93     my $notafter_or_before;
94     if (! $filled) {
95         ## load the workflow and extract the additional infos
96         my $msg = $context->{client}->send_receive_command_msg
97                   (
98                       "get_workflow_info",
99                       {
100                           "WORKFLOW" => $type,
101                           "ID"       => $id
102                       }
103                   );
106         $notafter_or_before = $msg->{PARAMS}->{WORKFLOW}->{CONTEXT}->{$val_type};
107         if (defined $notafter_or_before) {
108             ($year, $month, $day, $hour, $minute, $seconds)
109                 = ($notafter_or_before =~ m{ ([0-9]{4})
110                                               ([0-9]{2})
111                                               ([0-9]{2})
112                                               ([0-9]{2})
113                                               ([0-9]{2})
114                                               ([0-9]{2}) }xms);
115         }
116     }
117     else {
118         ## this is the second step - so we have a filled form
120         ## fix the workflow
121         my $msg = $context->{client}->send_receive_command_msg (
122               "execute_workflow_activity",
123               {
124                 WORKFLOW => $type,
125                 ID       => $id,
126                 ACTIVITY => 'I18N_OPENXPKI_WF_ACTION_CHANGE_' . uc($val_type),
127                 PARAMS   => {
128                     $val_type => sprintf("%04d%02d%02d%02d%02d%02d", $year, $month, $day, $hour, $minute, $seconds),
129                 },
130               },
131         );
132         if (exists $msg->{SERVICE_MSG} and
133             $msg->{SERVICE_MSG} eq "ERROR")
134         {
135             @errors = $m->comp ('/lib/get_deep_error.mhtml', 'msg' => $msg);
136         }
137         else
138         {
139             return $m->comp ('/service/workflow/show_instance.html',
140                              'msg'  => $msg,
141                              'type' => $type,
142                              'id'   => $id);
143         }
144     }
145     ## for the I18N scan
146     ## I18N_OPENXPKI_CLIENT_HTML_MASON_ACTIVITY_CHANGE_NOTAFTER_TITLE
147     ## I18N_OPENXPKI_CLIENT_HTML_MASON_ACTIVITY_CHANGE_NOTAFTER_DESCRIPTION
148     ## I18N_OPENXPKI_CLIENT_HTML_MASON_ACTIVITY_CHANGE_NOTAFTER_NOTAFTER_NOT_YET_DEFINED
149     ## I18N_OPENXPKI_CLIENT_HTML_MASON_ACTIVITY_CHANGE_NOTAFTER_INPUT_NOTAFTER_DATE
150     ## I18N_OPENXPKI_CLIENT_HTML_MASON_ACTIVITY_CHANGE_NOTBEFORE_TITLE
151     ## I18N_OPENXPKI_CLIENT_HTML_MASON_ACTIVITY_CHANGE_NOTBEFORE_DESCRIPTION
152     ## I18N_OPENXPKI_CLIENT_HTML_MASON_ACTIVITY_CHANGE_NOTBEFORE_NOTBEFORE_NOT_YET_DEFINED
153     ## I18N_OPENXPKI_CLIENT_HTML_MASON_ACTIVITY_CHANGE_NOTBEFORE_INPUT_NOTBEFORE_DATE
154 </%init>