ap::form_footer auf template umgestellt.
authorThomas Heck <theck@linet-services.de>
Tue, 14 Aug 2012 10:52:12 +0000 (12:52 +0200)
committerSven Schöling <s.schoeling@linet-services.de>
Tue, 14 Aug 2012 10:52:12 +0000 (12:52 +0200)
bin/mozilla/ap.pl
templates/webpages/ap/form_footer.html [new file with mode: 0644]

index 7c6d1bf..f961ead 100644 (file)
@@ -832,108 +832,37 @@ $jsscript
 }
 
 sub form_footer {
-  $main::lxdebug->enter_sub();
-
-  my $form     = $main::form;
-  my %myconfig = %main::myconfig;
-  my $locale   = $main::locale;
-  my $cgi      = $::request->{cgi};
-
-  $main::auth->assert('general_ledger');
+  $::lxdebug->enter_sub;
+  $::auth->assert('general_ledger');
 
-  my $follow_ups_block;
-  if ($form->{id}) {
-    my $follow_ups = FU->follow_ups('trans_id' => $form->{id});
+  my $num_due;
+  my $num_follow_ups;
+  if ($::form->{id}) {
+    my $follow_ups = FU->follow_ups('trans_id' => $::form->{id});
 
-    if (@{ $follow_ups) {
-      my $num_due       = sum map { $_->{due} * 1 } @{ $follow_ups };
-      $follow_ups_block = qq|<p>| . $locale->text("There are #1 unfinished follow-ups of which #2 are due.", scalar @{ $follow_ups }, $num_due) . qq|</p>|;
+    if (@{ $follow_ups }) {
+      $num_due        = sum map { $_->{due} * 1 } @{ $follow_ups };
+      $num_follow_ups = scalar @{ $follow_ups }
     }
   }
 
-  print qq|
-
-$follow_ups_block
-
-<script type="text/javascript">
-<!--
-function set_duedate() {
-   \$.ajax({
-     url: 'is.pl?action=set_duedate',
-     data: {
-       invdate: \$('#transdate').val(),
-       vendor_id: \$('[name=vendor_id]').val(),
-     },
-     dataType: 'text',
-     success: function(data) {
-       \$('#duedate').val(data);
-     }
-   });
- }
-//-->
-</script>
-
-<input name=callback type=hidden value="$form->{callback}">
-<input name="gldate" type="hidden" value="| . Q($form->{gldate}) . qq|">
-|
-. $cgi->hidden('-name' => 'draft_id', '-default' => [$form->{draft_id}])
-. $cgi->hidden('-name' => 'draft_description', '-default' => [$form->{draft_description}])
-. qq|
-
-<br>
-|;
-
-  if (!$form->{id} && $form->{draft_id}) {
-    print(NTI($cgi->checkbox('-name' => 'remove_draft', '-id' => 'remove_draft',
-                             '-value' => 1, '-checked' => $form->{remove_draft},
-                             '-label' => '')) .
-          qq|&nbsp;<label for="remove_draft">| .
-          $locale->text("Remove draft when posting") .
-          qq|</label><br>|);
-  }
+  my $transdate = $::form->datetonum($::form->{transdate}, \%::myconfig);
+  my $closedto  = $::form->datetonum($::form->{closedto},  \%::myconfig);
 
-  my $transdate = $form->datetonum($form->{transdate}, \%myconfig);
-  my $closedto  = $form->datetonum($form->{closedto},  \%myconfig);
+  my $storno = $::form->{id}
+            && !IS->has_storno(\%::myconfig, $::form, 'ap')
+            && !IS->is_storno( \%::myconfig, $::form, 'ap', $::form->{id})
+            && ($::form->{totalpaid} == 0 || $::form->{totalpaid} eq '');
 
-  print qq|<input class="submit" type="submit" name="action" id="update_button" value="| . $locale->text('Update') . qq|">|;
+  $::form->header;
+  print $::form->parse_html_template('ap/form_footer', {
+    num_due         => $num_due,
+    num_follow_ups  => $num_follow_ups,
+    show_post_draft => ($transdate > $closedto) && !$::form->{id},
+    show_storno     => $storno,
+  });
 
-  if ($form->{id}) {
-    if ($form->{radier}) {
-      print qq| <input class=submit type=submit name=action value="| . $locale->text('Post') . qq|">
-                <input class=submit type=submit name=action value="| . $locale->text('Delete') . qq|">
-|;
-    }
-    # ToDO: - insert a global check for stornos, so that a storno is only possible a limited time after saving it
-    print qq| <input class=submit type=submit name=action value="| . $locale->text('Storno') . qq|"> |
-      if ($form->{id} && !IS->has_storno(\%myconfig, $form, 'ap') && !IS->is_storno(\%myconfig, $form, 'ap', $form->{id}) && (($form->{totalpaid} == 0) || ($form->{totalpaid} eq "")));
-
-    print qq| <input class=submit type=submit name=action value="| . $locale->text('Post Payment') . qq|">
-              <input class=submit type=submit name=action value="| . $locale->text('Use As Template') . qq|">
-              <input type="button" class="submit" onclick="follow_up_window()" value="| . $locale->text('Follow-Up') . qq|">
-|;
-  } elsif (($transdate > $closedto) && !$form->{id}) {
-    print qq|
-      <input class=submit type=submit name=action value="| . $locale->text('Post') . qq|"> | .
-      NTI($cgi->submit('-name' => 'action', '-value' => $locale->text('Save draft'), '-class' => 'submit'));
-  }
-  # button for saving history
-  if($form->{id} ne "") {
-    print qq| <input type="button" class="submit" onclick="set_history_window($form->{id});" name="history" id="history" value="| . $locale->text('history') . qq|"> |;
-  }
-  # /button for saving history
-  # mark_as_paid button
-  if($form->{id} ne "") {
-    print qq| <input type="submit" class="submit" name="action" value="| . $locale->text('mark as paid') . qq|"> |;
-  }
-  # /mark_as_paid button
-  print "
-</form>
-
-</body>
-</html>
-";
-
-  $main::lxdebug->leave_sub();
+  $::lxdebug->leave_sub;
 }
 
 sub mark_as_paid {
diff --git a/templates/webpages/ap/form_footer.html b/templates/webpages/ap/form_footer.html
new file mode 100644 (file)
index 0000000..466ab34
--- /dev/null
@@ -0,0 +1,70 @@
+[%- USE T8 %]
+[%- USE HTML %]
+[%- USE L %]
+[%- USE LxERP %]
+
+[%- IF (num_follow_ups && num_due) %]
+  <p>[% 'There are #1 unfinished follow-ups of which #2 are due.' | $T8(num_follow_ups, num_due) %]</p>
+[%- END %]
+
+<input name=callback type=hidden value="[% callback | html %]">
+<input name=gldate type=hidden value="[% gldate | html %]">
+<input type=hidden name=draft_id value="[% draft_id %]">
+<input type=hidden name=draft_description value="[% draft_description | html %]">
+
+[%- IF ( !id && draft_id ) %]
+  [% L.checkbox_tag('remove_draft', checked=remove_draft, label=LxERP.t8('Remove draft when posting')) %]
+  <br>
+[%- END %]
+
+<br>
+
+<input class="submit" type="submit" name="action" id="update_button" value="[% 'Update' | $T8 %]">
+
+[%- IF id %]
+  [%- IF radier %]
+    <input class=submit type=submit name=action value="[% 'Post' | $T8 %]">
+    <input class=submit type=submit name=action value="[% 'Delete' | $T8 %]">
+  [%- END %]
+
+  [%- IF show_storno %]
+    <input class=submit type=submit name=action value="[% 'Storno' | $T8 %]">
+  [%- END %]
+
+  <input class=submit type=submit name=action value="[% 'Post Payment' | $T8 %]">
+  <input class=submit type=submit name=action value="[% 'Use As Template' | $T8 %]">
+  <input type="button" class="submit" onclick="follow_up_window()" value="[% 'Follow-Up' | $T8 %]">
+
+[%- ELSIF show_post_draft %]
+    <input class=submit type=submit name=action value="[% 'Post' | $T8 %]">
+    <input type="submit" name="action" value="[% 'Save draft' | $T8 %]" class="submit">
+[%- END %]
+
+[%- IF id %]
+  <input type="submit" onclick="set_history_window([% id %]);" name="history" id="history" value="[% 'history' | $T8 %]">
+  <input type="submit" name="action" value="[% 'mark as paid' | $T8 %]">
+[%- END %]
+
+</form>
+
+<script type="text/javascript">
+<!--
+function set_duedate() {
+   $.ajax({
+     url: 'is.pl?action=set_duedate',
+     data: {
+       invdate: $('#transdate').val(),
+       vendor_id: $('[name=vendor_id]').val(),
+     },
+     dataType: 'text',
+     success: function(data) {
+       $('#duedate').val(data);
+     }
+   });
+ }
+//-->
+</script>
+
+
+</body>
+</html>