package CT;
-
sub get_tuple {
$main::lxdebug->enter_sub();
my ($self, $myconfig, $form) = @_;
- my $dbh = $form->dbconnect($myconfig);
+ my $dbh = $form->dbconnect($myconfig);
my $query = qq|SELECT ct.*, b.id AS business, s.*, cp.*
FROM $form->{db} ct
LEFT JOIN business b on ct.business_id = b.id
WHERE ct.id = $form->{id} order by cp.cp_id limit 1|;
my $sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
-
+
my $ref = $sth->fetchrow_hashref(NAME_lc);
-
+
map { $form->{$_} = $ref->{$_} } keys %$ref;
$sth->finish;
WHERE ct.id = $form->{salesman_id}|;
my $sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
-
+
my ($ref) = $sth->fetchrow_array();
-
+
$form->{salesman} = $ref;
-
- $sth->finish;
+
+ $sth->finish;
}
# check if it is orphaned
WHERE ct.id = $form->{id}|;
$sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
-
+
unless ($sth->fetchrow_array) {
$form->{status} = "orphaned";
}
$sth->finish;
-
# get tax labels
$query = qq|SELECT c.accno, c.description
while ($ref = $sth->fetchrow_hashref(NAME_lc)) {
$form->{taxaccounts} .= "$ref->{accno} ";
- $form->{tax}{$ref->{accno}}{description} = $ref->{description};
+ $form->{tax}{ $ref->{accno} }{description} = $ref->{description};
}
$sth->finish;
chop $form->{taxaccounts};
$sth->execute || $form->dberror($query);
while ($ref = $sth->fetchrow_hashref(NAME_lc)) {
- $form->{tax}{$ref->{accno}}{taxable} = 1;
+ $form->{tax}{ $ref->{accno} }{taxable} = 1;
}
$sth->finish;
ORDER BY 1|;
$sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
-
+
while ($ref = $sth->fetchrow_hashref(NAME_lc)) {
push @{ $form->{all_business} }, $ref;
}
$sth->finish;
-
+
$dbh->disconnect;
$main::lxdebug->leave_sub();
$main::lxdebug->enter_sub();
my ($self, $myconfig, $form) = @_;
- my (%tmp, $ref);
+ my (%tmp, $ref);
my $dbh = $form->dbconnect($myconfig);
- $query = "SELECT DISTINCT(c.cp_greeting) FROM contacts c WHERE c.cp_greeting LIKE '%'";
+ $query =
+ "SELECT DISTINCT(c.cp_greeting) FROM contacts c WHERE c.cp_greeting LIKE '%'";
$sth = $dbh->prepare($query);
$sth->execute() || $form->dberror($query);
while ($ref = $sth->fetchrow_hashref(NAME_lc)) {
next unless ($ref->{cp_greeting} =~ /[a-zA-Z]/);
- $tmp{$ref->{cp_greeting}} = 1;
+ $tmp{ $ref->{cp_greeting} } = 1;
}
$sth->finish();
- @{$form->{GREETINGS}} = sort(keys(%tmp));
+ @{ $form->{GREETINGS} } = sort(keys(%tmp));
%tmp = ();
- $query = "SELECT DISTINCT(c.cp_title) FROM contacts c WHERE c.cp_title LIKE '%'";
+ $query =
+ "SELECT DISTINCT(c.cp_title) FROM contacts c WHERE c.cp_title LIKE '%'";
$sth = $dbh->prepare($query);
$sth->execute() || $form->dberror($query);
while ($ref = $sth->fetchrow_hashref(NAME_lc)) {
next unless ($ref->{cp_title} =~ /[a-zA-Z]/);
- $tmp{$ref->{cp_title}} = 1;
+ $tmp{ $ref->{cp_title} } = 1;
}
$sth->finish();
- @{$form->{TITLES}} = sort(keys(%tmp));
+ @{ $form->{TITLES} } = sort(keys(%tmp));
$dbh->disconnect();
$main::lxdebug->leave_sub();
my $ref = ();
while ($ref = $sth->fetchrow_hashref(NAME_lc)) {
$form->{taxaccounts} .= "$ref->{accno} ";
- $form->{tax}{$ref->{accno}}{description} = $ref->{description};
+ $form->{tax}{ $ref->{accno} }{description} = $ref->{description};
}
$sth->finish;
chop $form->{taxaccounts};
FROM business|;
$sth = $dbh->prepare($query);
$sth->execute || $form->dberror($query);
-
+
while ($ref = $sth->fetchrow_hashref(NAME_lc)) {
push @{ $form->{all_business} }, $ref;
}
$sth->finish;
-
+
$dbh->disconnect;
$main::lxdebug->leave_sub();
}
-
sub save_customer {
$main::lxdebug->enter_sub();
-
my ($self, $myconfig, $form) = @_;
-
+
+ # set pricegroup to default
+ if ($form->{klass}) { }
+ else { $form->{klass} = 0; }
+
# connect to database
my $dbh = $form->dbconnect($myconfig);
##LINET
- map({ $form->{"cp_${_}"} = $form->{"selected_cp_${_}"} if ($form->{"selected_cp_${_}"}); } qw(title greeting));
+ map({
+ $form->{"cp_${_}"} = $form->{"selected_cp_${_}"}
+ if ($form->{"selected_cp_${_}"});
+ } qw(title greeting));
+
+ #
# escape '
- map { $form->{$_} =~ s/\'/\'\'/g } qw(customernumber name street zipcode city country homepage contact notes cp_title cp_greeting language);
+ map { $form->{$_} =~ s/\'/\'\'/g }
+ qw(customernumber name street zipcode city country homepage contact notes cp_title cp_greeting language pricegroup);
##/LINET
# assign value discount, terms, creditlimit
$form->{discount} = $form->parse_amount($myconfig, $form->{discount});
$form->{discount} /= 100;
- $form->{terms} *= 1;
+ $form->{terms} *= 1;
$form->{taxincluded} *= 1;
- $form->{obsolete} *= 1;
- $form->{business} *= 1;
+ $form->{obsolete} *= 1;
+ $form->{business} *= 1;
$form->{salesman_id} *= 1;
$form->{creditlimit} = $form->parse_amount($myconfig, $form->{creditlimit});
-
+
my ($query, $sth);
if ($form->{id}) {
$query = qq|DELETE FROM customertax
WHERE customer_id = $form->{id}|;
$dbh->do($query) || $form->dberror($query);
-
+
$query = qq|DELETE FROM shipto
WHERE trans_id = $form->{id}|;
$dbh->do($query) || $form->dberror($query);
- } else {
- my $uid = rand().time;
+ } else {
+ my $uid = rand() . time;
$uid .= $form->{login};
- $uid = substr($uid,2,75);
+ $uid = substr($uid, 2, 75);
$query = qq|INSERT INTO customer (name)
VALUES ('$uid')|;
$dbh->do($query) || $form->dberror($query);
-
+
$query = qq|SELECT c.id FROM customer c
WHERE c.name = '$uid'|;
$sth = $dbh->prepare($query);
($form->{id}) = $sth->fetchrow_array;
$sth->finish;
if (!$form->{customernumber} && $form->{business}) {
- $form->{customernumber} = $form->update_business($myconfig, $form->{business});
- }
+ $form->{customernumber} =
+ $form->update_business($myconfig, $form->{business});
+ }
if (!$form->{customernumber}) {
- $form->{customernumber} = $form->update_defaults($myconfig, "customernumber");
+ $form->{customernumber} =
+ $form->update_defaults($myconfig, "customernumber");
}
}
-
$query = qq|UPDATE customer SET
customernumber = '$form->{customernumber}',
name = '$form->{name}',
ustid = '$form->{ustid}',
username = '$form->{username}',
salesman_id = '$form->{salesman_id}',
- user_password = '$form->{user_password}',
- c_vendor_id = '$form->{c_vendor_id}'
+ user_password = | . $dbh->quote($form->{user_password}) . qq|,
+ c_vendor_id = '$form->{c_vendor_id}',
+ klass = '$form->{klass}'
WHERE id = $form->{id}|;
$dbh->do($query) || $form->dberror($query);
-
+
if ($form->{cp_id}) {
- $query = qq|UPDATE contacts SET
+ $query = qq|UPDATE contacts SET
cp_greeting = '$form->{cp_greeting}',
cp_title = '$form->{cp_title}',
cp_givenname = '$form->{cp_givenname}',
cp_phone2 = '$form->{cp_phone2}'
WHERE cp_id = $form->{cp_id}|;
} elsif ($form->{cp_name} || $form->{cp_givenname}) {
- $query = qq|INSERT INTO contacts ( cp_cv_id, cp_greeting, cp_title, cp_givenname, cp_name, cp_email, cp_phone1, cp_phone2)
+ $query =
+ qq|INSERT INTO contacts ( cp_cv_id, cp_greeting, cp_title, cp_givenname, cp_name, cp_email, cp_phone1, cp_phone2)
VALUES ($form->{id}, '$form->{cp_greeting}','$form->{cp_title}','$form->{cp_givenname}','$form->{cp_name}','$form->{cp_email}','$form->{cp_phone1}','$form->{cp_phone2}')|;
}
$dbh->do($query) || $form->dberror($query);
$dbh->do($query) || $form->dberror($query);
}
}
-
+
# add shipto
$form->add_shipto($dbh, $form->{id});
- $dbh->disconnect;
+ $rc = $dbh->disconnect;
$main::lxdebug->leave_sub();
+ return $rc;
}
-
sub save_vendor {
$main::lxdebug->enter_sub();
# connect to database
my $dbh = $form->dbconnect($myconfig);
##LINET
- map({ $form->{"cp_${_}"} = $form->{"selected_cp_${_}"} if ($form->{"selected_cp_${_}"}); } qw(title greeting));
+ map({
+ $form->{"cp_${_}"} = $form->{"selected_cp_${_}"}
+ if ($form->{"selected_cp_${_}"});
+ } qw(title greeting));
+
# escape '
- map { $form->{$_} =~ s/\'/\'\'/g } qw(vendornumber name street zipcode city country homepage contact notes cp_title cp_greeting language);
+ map { $form->{$_} =~ s/\'/\'\'/g }
+ qw(vendornumber name street zipcode city country homepage contact notes cp_title cp_greeting language);
##/LINET
$form->{discount} = $form->parse_amount($myconfig, $form->{discount});
$form->{discount} /= 100;
- $form->{terms} *= 1;
+ $form->{terms} *= 1;
$form->{taxincluded} *= 1;
- $form->{obsolete} *= 1;
- $form->{business} *= 1;
+ $form->{obsolete} *= 1;
+ $form->{business} *= 1;
$form->{creditlimit} = $form->parse_amount($myconfig, $form->{creditlimit});
-
+
my $query;
-
+
if ($form->{id}) {
$query = qq|DELETE FROM vendortax
WHERE vendor_id = $form->{id}|;
$query = qq|DELETE FROM shipto
WHERE trans_id = $form->{id}|;
- $dbh->do($query) || $form->dberror($query);
- } else {
+ $dbh->do($query) || $form->dberror($query);
+ } else {
my $uid = time;
$uid .= $form->{login};
-
+ my $uid = rand() . time;
+ $uid .= $form->{login};
+ $uid = substr($uid, 2, 75);
$query = qq|INSERT INTO vendor (name)
VALUES ('$uid')|;
$dbh->do($query) || $form->dberror($query);
-
+
$query = qq|SELECT v.id FROM vendor v
WHERE v.name = '$uid'|;
$sth = $dbh->prepare($query);
($form->{id}) = $sth->fetchrow_array;
$sth->finish;
if (!$form->{vendornumber}) {
- $form->{vendornumber} = $form->update_defaults($myconfig, "vendornumber");
+ $form->{vendornumber} =
+ $form->update_defaults($myconfig, "vendornumber");
}
}
-
+
##LINET
$query = qq|UPDATE vendor SET
vendornumber = '$form->{vendornumber}',
$dbh->do($query) || $form->dberror($query);
if ($form->{cp_id}) {
- $query = qq|UPDATE contacts SET
+ $query = qq|UPDATE contacts SET
cp_greeting = '$form->{cp_greeting}',
cp_title = '$form->{cp_title}',
cp_givenname = '$form->{cp_givenname}',
cp_phone2 = '$form->{cp_phone2}'
WHERE cp_id = $form->{cp_id}|;
} elsif ($form->{cp_name} || $form->{cp_givenname}) {
- $query = qq|INSERT INTO contacts ( cp_cv_id, cp_greeting, cp_title, cp_givenname, cp_name, cp_email, cp_phone1, cp_phone2)
+ $query =
+ qq|INSERT INTO contacts ( cp_cv_id, cp_greeting, cp_title, cp_givenname, cp_name, cp_email, cp_phone1, cp_phone2)
VALUES ($form->{id}, '$form->{cp_greeting}','$form->{cp_title}','$form->{cp_givenname}','$form->{cp_name}','$form->{cp_email}','$form->{cp_phone1}','$form->{cp_phone2}')|;
}
$dbh->do($query) || $form->dberror($query);
-
+
# save taxes
foreach $item (split / /, $form->{taxaccounts}) {
if ($form->{"tax_$item"}) {
# add shipto
$form->add_shipto($dbh, $form->{id});
- $dbh->disconnect;
+ $rc = $dbh->disconnect;
$main::lxdebug->leave_sub();
+ return $rc;
}
-
-
sub delete {
$main::lxdebug->enter_sub();
$main::lxdebug->leave_sub();
}
-
sub search {
$main::lxdebug->enter_sub();
my $where = "1 = 1";
$form->{sort} = "name" unless ($form->{sort});
-
+
if ($form->{"$form->{db}number"}) {
my $companynumber = $form->like(lc $form->{"$form->{db}number"});
$where .= " AND lower(ct.$form->{db}number) LIKE '$companynumber'";
$query = "";
if ($form->{l_invnumber}) {
- $ar = ($form->{db} eq 'customer') ? 'ar' : 'ap';
- $module = ($ar eq 'ar') ? 'is' : 'ir';
-
+ $ar = ($form->{db} eq 'customer') ? 'ar' : 'ap';
+ $module = ($ar eq 'ar') ? 'is' : 'ir';
+
$query = qq|SELECT ct.*, b.description AS business,
a.invnumber, a.ordnumber, a.quonumber, a.id AS invid,
'$module' AS module, 'invoice' AS formtype,
LEFT JOIN business b ON (ct.business_id = b.id)
WHERE $where
AND a.invoice = '1'|;
-
+
$union = qq|
UNION|;
-
+
}
-
+
if ($form->{l_ordnumber}) {
$query .= qq|$union
SELECT ct.*, b.description AS business,
LEFT JOIN business b ON (ct.business_id = b.id)
WHERE $where
AND o.quotation = '0'|;
-
+
$union = qq|
UNION|;
}
$main::lxdebug->leave_sub();
}
-
1;