WebshopApi: falsche sql update Abhängigkeit
[kivitendo-erp.git] / SL / Controller / Reconciliation.pm
index c6faef1..c9d415f 100644 (file)
@@ -29,17 +29,22 @@ __PACKAGE__->run_before('_bank_account');
 sub action_search {
   my ($self) = @_;
 
+  $self->setup_search_action_bar;
   $self->render('reconciliation/search');
 }
 
 sub action_reconciliation {
   my ($self) = @_;
 
+  $self->_get_proposals;
+
   $self->_get_linked_transactions;
 
   $self->_get_balances;
 
+  $self->setup_reconciliation_action_bar;
   $self->render('reconciliation/form',
+                ui_tab => scalar(@{$self->{PROPOSALS}}) > 0?1:0,
                 title => t8('Reconciliation'));
 }
 
@@ -338,7 +343,7 @@ sub _get_elements_and_validate {
     push @elements, $bb;
   }
 
-  if ($::form->round_amount($bt_sum + $bb_sum) != 0) {
+  if ($::form->round_amount($bt_sum + $bb_sum, 2) != 0) {
     push @errors, t8('Out of balance!');
   }
 
@@ -406,8 +411,8 @@ sub _filter_to_where {
   }
 
   if ( $self->{bank_account}->reconciliation_starting_date ) {
-    push @bt_where, (transdate => { gt => $self->{bank_account}->reconciliation_starting_date });
-    push @bb_where, (transdate => { gt => $self->{bank_account}->reconciliation_starting_date });
+    push @bt_where, (transdate => { ge => $self->{bank_account}->reconciliation_starting_date });
+    push @bb_where, (transdate => { ge => $self->{bank_account}->reconciliation_starting_date });
   }
 
   # don't try to reconcile opening and closing balance transactions
@@ -617,4 +622,32 @@ sub init_BANK_ACCOUNTS {
   SL::DB::Manager::BankAccount->get_all_sorted( query => [ obsolete => 0 ] );
 }
 
+sub setup_search_action_bar {
+  my ($self, %params) = @_;
+
+  for my $bar ($::request->layout->get('actionbar')) {
+    $bar->add(
+      action => [
+        t8('Show'),
+        submit    => [ '#search_form', { action => 'Reconciliation/reconciliation' } ],
+        accesskey => 'enter',
+      ],
+    );
+  }
+}
+
+sub setup_reconciliation_action_bar {
+  my ($self, %params) = @_;
+
+  for my $bar ($::request->layout->get('actionbar')) {
+    $bar->add(
+      action => [
+        t8('Filter'),
+        call      => [ 'filter_table' ],
+        accesskey => 'enter',
+      ],
+    );
+  }
+}
+
 1;