summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreinhverfr <einhverfr@4979c152-3d1c-0410-bac9-87ea11338e46>2007-10-18 00:38:57 +0000
committereinhverfr <einhverfr@4979c152-3d1c-0410-bac9-87ea11338e46>2007-10-18 00:38:57 +0000
commit9d7d99054d518b37ff727920bfcd2087e6b62a69 (patch)
treeef381cae3a86c700ffa6cc41b25ef93496a2cbb9
parent61a59a6f49b9535ec65295893791d4007c3c9bf4 (diff)
POS Fixes:
1: Drawer opening now uses correct printer designation 2: Change issued is now entered with correct memo field. 3: Closing tell report works as advertised git-svn-id: https://ledger-smb.svn.sourceforge.net/svnroot/ledger-smb/branches/1.2@1779 4979c152-3d1c-0410-bac9-87ea11338e46
-rwxr-xr-xLedgerSMB/IS.pm7
-rwxr-xr-xLedgerSMB/RC.pm4
-rwxr-xr-xLedgerSMB/Session/DB.pm1
-rwxr-xr-xbin/is.pl2
-rwxr-xr-xbin/pos.pl65
-rwxr-xr-xbin/rc.pl2
-rwxr-xr-ximport_members.pl60
-rw-r--r--pos.conf.pl6
8 files changed, 58 insertions, 89 deletions
diff --git a/LedgerSMB/IS.pm b/LedgerSMB/IS.pm
index 5cc991c6..034835ff 100755
--- a/LedgerSMB/IS.pm
+++ b/LedgerSMB/IS.pm
@@ -913,6 +913,11 @@ sub post_invoice {
my $ml;
my $invoice_id;
my $ndx;
+ for (keys %$form) {
+ if (UNIVERSAL::isa( $form->{$_}, 'Math::BigFloat' )){
+ $form->{$_} = $form->{$_}->bstr();
+ }
+ }
foreach $i ( 1 .. $form->{rowcount} ) {
$form->{"qty_$i"} = $form->parse_amount( $myconfig, $form->{"qty_$i"} );
@@ -1115,7 +1120,7 @@ sub post_invoice {
$form->{paid} = 0;
for $i ( 1 .. $form->{paidaccounts} ) {
$form->{"paid_$i"} =
- $form->parse_amount( $myconfig, $form->{"paid_$i"} );
+ $form->parse_amount( $myconfig, $form->{"paid_$i"} )->bstr();
$form->{paid} += $form->{"paid_$i"};
$form->{datepaid} = $form->{"datepaid_$i"}
if ( $form->{"paid_$i"} );
diff --git a/LedgerSMB/RC.pm b/LedgerSMB/RC.pm
index 6ffc16bf..63558b49 100755
--- a/LedgerSMB/RC.pm
+++ b/LedgerSMB/RC.pm
@@ -45,11 +45,11 @@ sub getposlines {
my $dbh = $form->{dbh};
my $query = qq|
- SELECT sum(amount) AS amount, source FROM acc_trans
+ SELECT sum(amount) AS amount, memo FROM acc_trans
WHERE chart_id = (SELECT id FROM chart
WHERE accno = ?)
AND transdate = date 'NOW' AND cleared IS NOT TRUE
- GROUP BY source|;
+ GROUP BY memo|;
my $sth = $dbh->prepare($query);
$sth->execute( $pos_config{till_accno} ) || $form->dberror($query);
while ( my $ref = $sth->fetchrow_hashref(NAME_lc) ) {
diff --git a/LedgerSMB/Session/DB.pm b/LedgerSMB/Session/DB.pm
index 9b682e8a..c595a1c0 100755
--- a/LedgerSMB/Session/DB.pm
+++ b/LedgerSMB/Session/DB.pm
@@ -254,7 +254,6 @@ sub password_check {
my ( $dbusername, $md5Password, $cryptPassword ) =
$fetchPassword->fetchrow_array;
if ( $dbusername ne $username ) {
-
# User data retrieved from db not for the requested user
return 0;
}
diff --git a/bin/is.pl b/bin/is.pl
index 3322f695..3338018a 100755
--- a/bin/is.pl
+++ b/bin/is.pl
@@ -53,6 +53,7 @@ require "bin/io.pl";
1;
# end of main
+sub on_update{}
sub add {
@@ -808,6 +809,7 @@ qq|<td align="center"><input name="memo_$i" size="11" value="$form->{"memo_$i"}"
}
sub update {
+ on_update();
$form->{taxes} = {};
$form->{exchangerate} =
$form->parse_amount( \%myconfig, $form->{exchangerate} );
diff --git a/bin/pos.pl b/bin/pos.pl
index 0622681f..35fea78a 100755
--- a/bin/pos.pl
+++ b/bin/pos.pl
@@ -42,9 +42,38 @@
use LedgerSMB::Tax;
+$form->{currency} = 'USD';
1;
# end
+sub custom_send_to_pd{
+ socket(SOCK, 2, 1, getprotobynumber($pos_config{'pd_proto'}));
+ connect(SOCK, $pos_config{'pd_dest'});
+ my $rn = $numrows - 1;
+ my $ds_string = sprintf (
+ '%s%s @ $%-7.2f%s%s%s',
+ $pd_control{'new_line'},
+ $form->{"qty_$rn"},
+ $form->{"sellprice_$rn"},
+ $pd_control{'new_line'},
+ "Subtotal: \$".sprintf('%-7.2f', $form->{'invtotal'})
+ );
+ print SOCK $ds_string;
+ close SOCK;
+}
+
+sub on_update{
+ &custom_send_to_pd;
+ &custom_check_alert;
+}
+
+sub open_drawer{
+ require "pos.conf.pl";
+ open (PRINTER, "|-", ${'LedgerSMB::Sysconfig::printer'}{Printer});
+ print PRINTER $pos_config{'rp_cash_open'};
+ close PRINTER;
+ sleep 1;
+}
sub check_alert {
my $rc = $form->{'rowcount'};
@@ -77,14 +106,7 @@ sub on_update {
&check_alert;
}
-sub open_drawer {
- open( PRINTER, "|-", ${LedgerSMB::Sysconfig::printer}{Printer} );
- print PRINTER $pos_config{'rp_cash_open'};
- close PRINTER;
- sleep 1;
-}
-
-sub open {
+sub open_till {
&open_drawer;
&update;
}
@@ -246,14 +268,6 @@ sub form_header {
</tr>
| if $form->{selectdepartment};
- $employee = qq|
- <tr>
- <th align="right" nowrap>| . $locale->text('Salesperson') . qq|</th>
- <td colspan="3"><select name="employee">$form->{selectemployee}</select></td>
- <input type="hidden" name="selectemployee" value="|
- . $form->escape( $form->{selectemployee}, 1 ) . qq|">
- </tr>
-| if $form->{selectemployee};
if ( $form->{change} != $form->{oldchange} ) {
$form->{creditremaining} -= $form->{oldchange};
@@ -347,7 +361,7 @@ sub form_header {
<td></td>
<td colspan="3">
<table>
- <tr>
+ <!-- tr>
<th align="right" nowrap>| . $locale->text('Credit Limit') . qq|</th>
<td>$form->{creditlimit}</td>
<td width="10"></td>
@@ -355,7 +369,7 @@ sub form_header {
<td class="plus$n">|
. $form->format_amount( \%myconfig, $form->{creditremaining}, 0, "0" )
. qq|</font></td>
- </tr>
+ </tr -->
$business
</table>
</td>
@@ -603,12 +617,10 @@ qq|<td><select name="AR_paid_$i">$form->{"selectAR_paid_$i"}</select></td>|;
%button = (
'update' =>
{ ndx => 1, key => 'U', value => $locale->text('Update') },
- 'print' =>
- { ndx => 2, key => 'P', value => $locale->text('Print') },
- 'post' => { ndx => 3, key => 'O', value => $locale->text('Post') },
+ 'open_till' => { ndx => 3, key => 'O', value => $locale->text('Open Till') },
'print_and_post' => {
ndx => 4,
- key => 'R',
+ key => 'P',
value => $locale->text('Print and Post')
},
'delete' =>
@@ -673,7 +685,6 @@ qq| <button class="submit" type="submit" name="action" value="$spc$item">$spc$it
sub post {
- $form->{media} = 'Printer';
$form->isblank( "customer", $locale->text('Customer missing!') );
# if oldcustomer ne customer redo form
@@ -686,7 +697,6 @@ sub post {
}
&validate_items;
- &print;
$form->isblank( "exchangerate", $locale->text('Exchange rate missing!') )
if ( $form->{currency} ne $form->{defaultcurrency} );
@@ -706,7 +716,7 @@ sub post {
++$form->{paidaccounts};
my $pa = $form->{paidaccounts};
$form->{"paid_$pa"} = $total - $paid;
- $form->{"source_$pa"} = 'cash';
+ $form->{"memo_$pa"} = 'cash';
$form->{"exchangerate_$pa"} = 0;
$form->{"AR_paid_$pa"} = $form->{AR_paid_1};
}
@@ -884,7 +894,10 @@ qq|<td><input name="description_$i" size=48 value="$form->{"description_$i"}"></
}
+
sub print {
+ open_drawer();
+ sleep 1;
if ( !$form->{invnumber} ) {
$form->{invnumber} = $form->update_defaults( \%myconfig, 'sinumber' );
}
@@ -1029,7 +1042,7 @@ sub print_form {
}
sub print_and_post {
-
+ $form->{media} = 'Printer';
$form->error( $locale->text('Select a Printer!') )
if ( $form->{media} eq 'screen' );
$form->{printandpost} = 1;
diff --git a/bin/rc.pl b/bin/rc.pl
index d713b03c..8f282f57 100755
--- a/bin/rc.pl
+++ b/bin/rc.pl
@@ -250,7 +250,7 @@ sub till_closing {
foreach $source ( sort keys %pos_sources ) {
$amount = 0;
foreach $ref ( @{ $form->{TB} } ) {
- if ( $ref->{source} eq $source ) {
+ if ( $ref->{memo} eq $source ) {
$amount = $ref->{amount} * -1;
last;
}
diff --git a/import_members.pl b/import_members.pl
index 4ffe765a..223c0672 100755
--- a/import_members.pl
+++ b/import_members.pl
@@ -106,6 +106,7 @@ foreach (@users) {
$myUser = $member{$_};
&save_member($myUser);
+ ${LedgerSMB::Sysconfig::GLOBALDBH}->commit;
print "Import of user '$_' seems to have succeeded.\n";
}
@@ -220,63 +221,6 @@ sub save_member {
);
}
+ $dbh->commit;
- if ( !$self->{'admin'} ) {
-
- $self->{dbpasswd} =~ s/\\'/'/g;
- $self->{dbpasswd} =~ s/\\\\/\\/g;
-
- # format dbconnect and dboptions string
- LedgerSMB::User::dbconnect_vars( $self, $self->{dbname} );
-
- # check if login is in database
- my $dbh = DBI->connect(
- $self->{dbconnect}, $self->{dbuser},
- $self->{dbpasswd}, { AutoCommit => 0 }
- ) or $self->error($DBI::errstr);
- $dbh->{pg_enable_utf8} = 1;
-
- # add login to employee table if it does not exist
- my $login = $self->{login};
- $login =~ s/@.*//;
- my $sth = $dbh->prepare("SELECT id FROM employee WHERE login = ?;");
- $sth->execute($login);
-
- my ($id) = $sth->fetchrow_array;
- $sth->finish;
- my $employeenumber;
- my @values;
- if ($id) {
-
- $query = qq|UPDATE employee SET
- role = ?,
- email = ?,
- name = ?
- WHERE login = ?|;
-
- @values = ( $self->{role}, $self->{email}, $self->{name}, $login );
-
- }
- else {
-
- my ($employeenumber) =
- Form::update_defaults( "", \%$self, "employeenumber", $dbh );
- $query = qq|
- INSERT INTO employee
- (login, employeenumber, name,
- workphone, role, email, sales)
- VALUES (?, ?, ?, ?, ?, ?, '1')|;
-
- @values = (
- $login, $employeenumber, $self->{name},
- $self->{tel}, $self->{role}, $self->{email}
- );
- }
-
- $sth = $dbh->prepare($query);
- $sth->execute(@values);
- $dbh->commit;
- $dbh->disconnect;
-
- }
}
diff --git a/pos.conf.pl b/pos.conf.pl
index 63fb68ad..f678910e 100644
--- a/pos.conf.pl
+++ b/pos.conf.pl
@@ -9,6 +9,11 @@ use LedgerSMB::Sysconfig;
# Begin Editing Here
+if ($ENV{'REMOTE_ADDR'} =~ /^(127\.0\.0\.1|10\.0\.0\.8)$/){
+$ENV{'REMOTE_ADDR'} = '10.0.0.15';
+}
+
+
$pos_config{'rem_host'} = $ENV{'REMOTE_ADDR'};
$pos_config{'pd_host'} = $pos_config{'rem_host'};
@@ -100,4 +105,5 @@ $form->{pos_sources} = \%pos_sources;
${'LedgerSMB::Sysconfig::printer'}{'Printer'} =
"utils/pos/directnet.pl $pos_config{rp_host} $pos_config{rp_proto} $pos_config{rp_port}";
+
1;