Kreditorenbuchungen: Warnung bei vorhandener Rechnungsnummer für diesen Kreditor
[kivitendo-erp.git] / SL / Controller / SalesPurchase.pm
1 package SL::Controller::SalesPurchase;
2
3 use strict;
4 use parent qw(SL::Controller::Base);
5
6 use SL::DB::PurchaseInvoice;
7 use Carp;
8
9
10 sub action_check_duplicate_invnumber {
11   my ($self) = @_;
12
13   croak("no invnumber") unless $::form->{invnumber};
14   croak("no vendor")    unless $::form->{vendor_id};
15
16   my $exists_ap = SL::DB::Manager::PurchaseInvoice->find_by(
17                    invnumber => $::form->{invnumber},
18                    vendor_id => $::form->{vendor_id},
19                  );
20
21   $_[0]->render(\ !!$exists_ap, { type => 'text' });
22 }
23
24 1;
25
26 =pod
27
28 =encoding utf8
29
30 =head1 NAME
31
32 SL::Controller::SalesPurchase - Controller for JS driven actions
33
34 =head2 OVERVIEW
35
36 Generic Controller Class for validation function
37
38 =head1 FUNCTIONS
39
40 =over 2
41
42 =item C<action_check_duplicate_invnumber>
43
44 Needs C<form.invnumber> and C<form.vendor_id>
45
46 Returns true if a credit record with this invnumber for this vendor
47 already exists.
48
49 Example usage (js):
50
51  $.ajax({
52       url: 'controller.pl',
53       data: { action: 'SalesPurchase/check_duplicate_invnumber',
54               vendor_id    : $('#vendor_id').val(),
55               invnumber    : $('#invnumber').val()
56       },
57       method: "GET",
58       async: false,
59       dataType: 'text',
60       success: function(val) {
61         exists_invnumber = val;
62       }
63     });
64
65 =back