summaryrefslogtreecommitdiff
path: root/doc/examples/softwaresite/bugs
ModeNameSize
-rw-r--r--done.mdwn103logplain
-rw-r--r--fails_to_frobnicate.mdwn150logplain
-rw-r--r--needs_more_bugs.mdwn152logplain
://www.sql-ledger.org
  • #
  • # Contributors:
  • #
  • #======================================================================
  • #
  • # This file has NOT undergone whitespace cleanup.
  • #
  • #======================================================================
  • #
  • # backend code for human resources and payroll
  • #
  • #======================================================================
  • package HR;
  • sub get_employee {
  • my ( $self, $myconfig, $form ) = @_;
  • my $dbh = $form->{dbh};
  • my $query;
  • my $sth;
  • my $ref;
  • my $notid = "";
  • if ( $form->{id} ) {
  • $query = qq|SELECT e.* FROM employee e WHERE e.id = ?|;
  • $sth = $dbh->prepare($query);
  • $sth->execute( $form->{id} )
  • || $form->dberror( __FILE__ . ':' . __LINE__ . ':' . $query );
  • $ref = $sth->fetchrow_hashref(NAME_lc);
  • # check if employee can be deleted, orphaned
  • $form->{status} = "orphaned" unless $ref->{login};
  • $ref->{employeelogin} = $ref->{login};
  • delete $ref->{login};
  • for ( keys %$ref ) { $form->{$_} = $ref->{$_} }
  • $sth->finish;
  • # get manager
  • $form->{managerid} *= 1;
  • $sth = $dbh->prepare("SELECT name FROM employee WHERE id = ?");
  • $sth->execute( $form->{managerid} );
  • ( $form->{manager} ) = $sth->fetchrow_array;
  • $notid = qq|AND id != | . $dbh->quote( $form->{id} );
  • }
  • else {
  • ( $form->{startdate} ) = $dbh->selectrow_array("SELECT current_date");
  • }
  • # get managers
  • $query = qq|
  • SELECT id, name
  • FROM employee
  • WHERE sales = '1'
  • AND role = 'manager'
  • $notid
  • ORDER BY 2|;
  • $sth = $dbh->prepare($query);
  • $sth->execute || $form->dberror( __FILE__ . ':' . __LINE__ . ':' . $query );
  • while ( $ref = $sth->fetchrow_hashref(NAME_lc) ) {
  • push @{ $form->{all_manager} }, $ref;
  • }
  • $sth->finish;
  • $dbh->commit;
  • }
  • sub save_employee {
  • my ( $self, $myconfig, $form ) = @_;
  • my $dbh = $form->{dbh};
  • my $query;
  • my $sth;
  • $form->{employeenumber} =
  • $form->update_defaults( $myconfig, "employeenumber", $dbh )
  • if !$form->{employeenumber};
  • if ( !$form->{id} ) {
  • my $uid = localtime;
  • $uid .= "$$";
  • $query = qq|INSERT INTO employee (name) VALUES ('$uid')|;
  • $dbh->do($query)