diff options
-rwxr-xr-x | LedgerSMB/CP.pm | 6 | ||||
-rwxr-xr-x | LedgerSMB/Form.pm | 10 | ||||
-rwxr-xr-x | LedgerSMB/HR.pm | 8 | ||||
-rwxr-xr-x | LedgerSMB/User.pm | 2 | ||||
-rwxr-xr-x | bin/hr.pl | 26 | ||||
-rwxr-xr-x | bin/ir.pl | 7 | ||||
-rwxr-xr-x | bin/is.pl | 4 | ||||
-rwxr-xr-x | bin/oe.pl | 6 |
8 files changed, 57 insertions, 12 deletions
diff --git a/LedgerSMB/CP.pm b/LedgerSMB/CP.pm index abcf2fdd..20f5818b 100755 --- a/LedgerSMB/CP.pm +++ b/LedgerSMB/CP.pm @@ -664,7 +664,7 @@ sub post_payments { # get exchangerate for original $query = qq| - SELECT $buysell + SELECT $buysell AS fx FROM exchangerate e JOIN $form->{arap} a ON (a.transdate = e.transdate) @@ -674,7 +674,9 @@ sub post_payments { $sth = $dbh->prepare($query); $sth->execute( $form->{currency}, $form->{"id_$i"} ) || $form->dberror( $query, 'CP.pm', 671 ); - my ($exchangerate) = $sth->fetchrow_array; + my $ref = $sth->fetchrow_arrayref(); + $form->db_parse_numeric(sth => $sth, arrayref => $ref); + my ($exchangerate) = @$ref; $exchangerate ||= 1; diff --git a/LedgerSMB/Form.pm b/LedgerSMB/Form.pm index abc280e2..6f2b80e1 100755 --- a/LedgerSMB/Form.pm +++ b/LedgerSMB/Form.pm @@ -1792,7 +1792,9 @@ sub check_exchangerate { my $sth = $self->{dbh}->prepare($query); $sth->execute( $currency, $transdate ); - my ($exchangerate) = $sth->fetchrow_array; + my @array = $sth->fetchrow_array; + $self->db_parse_numeric(sth => $sth, arrayref => \@array); + my ($exchangerate) = @array; $sth->finish; $self->{dbh}->commit; @@ -2152,6 +2154,9 @@ sub all_departments { while ( my $ref = $sth->fetchrow_hashref('NAME_lc') ) { push @{ $self->{all_department} }, $ref; + if ($self->{department_id} == $ref->{id}){ + $self->{department} = "$ref->{description}--$ref->{id}"; + } } $sth->finish; @@ -2195,6 +2200,7 @@ sub create_links { my ( $self, $module, $myconfig, $vc, $job ) = @_; + $self->{department_id} = $myconfig->{department_id}; # get last customers or vendors my ( $query, $sth ); @@ -2369,6 +2375,8 @@ sub lastname_used { my ( $self, $myconfig, $dbh2, $vc, $module ) = @_; my $dbh = $self->{dbh}; + $self->{department_id} = $myconfig->{department_id}; + $vc ||= $self->{vc}; # add default to correct for improper passing my $arap = ( $vc eq 'customer' ) ? "ar" : "ap"; my $where = "1 = 1"; diff --git a/LedgerSMB/HR.pm b/LedgerSMB/HR.pm index 4f1f4dab..7324694e 100755 --- a/LedgerSMB/HR.pm +++ b/LedgerSMB/HR.pm @@ -126,6 +126,10 @@ sub save_employee { my ( $null, $managerid ) = split /--/, $form->{manager}; $managerid *= 1; $form->{sales} *= 1; + my ($department, $department_id) = (undef, undef); + if ($form->{department}){ + ($department, $department_id) = split /--/, $form->{department}; + } $query = qq| @@ -150,6 +154,7 @@ sub save_employee { dob = ?, iban = ?, bic = ?, + department_id = ?, managerid = ? WHERE id = ?|; $sth = $dbh->prepare($query); @@ -163,7 +168,8 @@ sub save_employee { $form->{homephone}, $form->{startdate}, $form->{enddate}, $form->{notes}, $form->{role}, $form->{sales}, $form->{email}, $form->{ssn}, $form->{dob}, - $form->{iban}, $form->{bic}, $managerid, + $form->{iban}, $form->{bic}, $department_id, + $managerid, $form->{id} ) || $form->dberror( __FILE__ . ':' . __LINE__ . ':' . $query ); diff --git a/LedgerSMB/User.pm b/LedgerSMB/User.pm index e935583d..3d025588 100755 --- a/LedgerSMB/User.pm +++ b/LedgerSMB/User.pm @@ -138,7 +138,7 @@ sub fetch_config { email, fax, menuwidth, name, numberformat, password, print, printer, role, sid, signature, stylesheet, tel, templates, - timeout, vclimit, u.username + timeout, vclimit, u.username, department_id FROM users_conf as uc, users as u WHERE u.username = ? AND u.id = uc.id;" @@ -528,6 +528,16 @@ sub employee_links { for ( keys %$form ) { $form->{$_} = $form->quote( $form->{$_} ) } + $form->all_departments; + if ( @{ $form->{all_department} } ) { + $form->{selectdepartment} = "<option>\n"; + + for ( @{ $form->{all_department} } ) { + $form->{selectdepartment} .= +qq|<option value="$_->{description}--$_->{id}">$_->{description}\n|; + } + } + $form->{selectdepartment} =~ s/("$form->{department}")/$1 selected/; if ( @{ $form->{all_deduction} } ) { $form->{selectdeduction} = "<option>\n"; for ( @{ $form->{all_deduction} } ) { @@ -731,6 +741,11 @@ sub employee_header { <th align=right nowrap>| . $locale->text('BIC') . qq|</th> <td><input name=bic size=11 maxlength=11 value="$form->{bic}"></td> </tr> + <tr> + <th align=right nowrap>| . $locale->text('Department') . qq|</th> + <td><select name="department"> + $form->{selectdepartment} + </select> </table> </td> </tr> @@ -1411,6 +1426,17 @@ sub update_employee { @flds = qw(before after); $count = 0; @a = (); + $form->all_departments; + if ( @{ $form->{all_department} } ) { + $form->{selectdepartment} = "<option>\n"; + + for ( @{ $form->{all_department} } ) { + $form->{selectdepartment} .= +qq|<option value="$_->{description}--$_->{id}">$_->{description}\n|; + } + } + $form->{selectdepartment} =~ s/ selected//; + $form->{selectdepartment} =~ s/("$form->{department}")/$1 selected/; for $i ( 1 .. $form->{deduction_rows} ) { for (@flds) { $form->{"${_}_$i"} = @@ -139,14 +139,15 @@ qq|<option value="$_->{projectnumber}--$_->{id}">$_->{projectnumber}\n|; # departments if ( @{ $form->{all_department} } ) { $form->{selectdepartment} = "<option>\n"; - $form->{department} = "$form->{department}--$form->{department_id}" - if $form->{department_id}; for ( @{ $form->{all_department} } ) { $form->{selectdepartment} .= qq|<option value="$_->{description}--$_->{id}">$_->{description}\n|; } } + $form->{department} = "$form->{department}--$myconfig{department_id}" + if $myconfig{department_id}; + if ( @{ $form->{all_language} } ) { $form->{selectlanguage} = "<option>\n"; @@ -273,7 +274,7 @@ sub form_header { for (qw(vendor department)) { $form->{"select$_"} = $form->unescape( $form->{"select$_"} ); $form->{"select$_"} =~ s/ selected//; - $form->{"select$_"} =~ s/(<option value="\Q$form->{$_}\E")/$1 selected/; + $form->{"select$_"} =~ s/(<option value="[^"]*\Q$form->{$_}\E")/$1 selected/; } if ( $form->{selectlanguage} ) { @@ -153,6 +153,8 @@ qq|<option value="$_->{projectnumber}--$_->{id}">$_->{projectnumber}\n|; qq|<option value="$_->{description}--$_->{id}">$_->{description}\n|; } } + $form->{department} = "$form->{department}--$myconfig{department_id}" + if $myconfig{department_id}; $form->{employee} = "$form->{employee}--$form->{employee_id}"; @@ -306,7 +308,7 @@ sub form_header { for (qw(customer department employee)) { $form->{"select$_"} = $form->unescape( $form->{"select$_"} ); $form->{"select$_"} =~ s/ selected//; - $form->{"select$_"} =~ s/(<option value="\Q$form->{$_}\E")/$1 selected/; + $form->{"select$_"} =~ s/(<option value="[^"]*\Q$form->{$_}\E")/$1 selected/; } $form->{exchangerate} = @@ -192,8 +192,6 @@ qq|<option value="$_->{projectnumber}--$_->{id}">$_->{projectnumber}\n|; # departments if ( @{ $form->{all_department} } ) { $form->{selectdepartment} = "<option>\n"; - $form->{department} = "$form->{department}--$form->{department_id}" - if $form->{department_id}; for ( @{ $form->{all_department} } ) { $form->{selectdepartment} .= @@ -373,7 +371,7 @@ sub form_header { for ( "$form->{vc}", "department", "employee" ) { $form->{"select$_"} = $form->unescape( $form->{"select$_"} ); $form->{"select$_"} =~ s/ selected//; - $form->{"select$_"} =~ s/(<option value="\Q$form->{$_}\E")/$1 selected/; + $form->{"select$_"} =~ s/(<option value="[^"]*\Q$form->{$_}\E")/$1 selected/; } $form->{exchangerate} = @@ -1513,6 +1511,8 @@ sub transactions { # split vendor / customer ( $form->{ $form->{vc} }, $form->{"$form->{vc}_id"} ) = split( /--/, $form->{ $form->{vc} } ); + $form->{department} = "$form->{department}--$myconfig{department_id}" + if $myconfig{department_id}; OE->transactions( \%myconfig, \%$form ); |