diff options
author | einhverfr <einhverfr@4979c152-3d1c-0410-bac9-87ea11338e46> | 2006-09-22 06:11:45 +0000 |
---|---|---|
committer | einhverfr <einhverfr@4979c152-3d1c-0410-bac9-87ea11338e46> | 2006-09-22 06:11:45 +0000 |
commit | 1be032cc33531158196d406f44de3fe8f1e8e8b0 (patch) | |
tree | acdcf3b969c6b957b76473f1cc896a6e0efba557 | |
parent | 4228c08809b0ff57b13061ab0cb1d3193ba86f4c (diff) |
Now db custom fields are cached in the $form object. Also there is now a
$form->{dbh} which is a noauto database handle to be used for all db activities.
git-svn-id: https://ledger-smb.svn.sourceforge.net/svnroot/ledger-smb/trunk@128 4979c152-3d1c-0410-bac9-87ea11338e46
-rw-r--r-- | Changelog | 7 | ||||
-rwxr-xr-x | LedgerSMB/Form.pm | 19 | ||||
-rwxr-xr-x | menu.pl | 2 |
3 files changed, 28 insertions, 0 deletions
@@ -1,3 +1,9 @@ +Changelog for LedgerSMB 1.1.1 + +* Fixed problem with parts_short trigger not being created +* Fixed problem with custom fields functions not being created +* Pg driver is now checked by default. + Changelog for LedgerSMB 1.1.0 Database @@ -11,6 +17,7 @@ Database * Added foreign key constraint to acc_trans.chart_id * Database backups now use pg_dump * Database creation routines now attempt to add plpgsql to the db if not there. +* Transaction reversal is now enforced by default Security * One is required to change the admin password when it is blank (on first login etc). diff --git a/LedgerSMB/Form.pm b/LedgerSMB/Form.pm index f9a6477c..255ff849 100755 --- a/LedgerSMB/Form.pm +++ b/LedgerSMB/Form.pm @@ -1261,6 +1261,25 @@ sub print_button { # Database routines used throughout +sub db_init { + my ($self, $myconfig) = @_; + $self->{dbh} = $self->dbconnect_noauto($myconfig); + + my $query = + "SELECT t.extends, + coalesce (t.table_name, 'custom_' || extends) + || ':' || f.field_name as field_def + FROM custom_table_catalog t + JOIN custom_field_catalog f USING (table_id)"; + my $sth = $self->{dbh}->prepare($query); + $sth->execute; + my $ref; + while ($ref = $sth->fetchrow_hashref(NAME_lc)){ + push @{$self->{custom_db_fields}{$ref->{extends}}}, + $ref->{field_def}; + } +} + sub dbconnect { my ($self, $myconfig) = @_; @@ -107,6 +107,8 @@ $SIG{__DIE__} = sub { $form->error($_[0]) }; $myconfig{dbpasswd} = unpack 'u', $myconfig{dbpasswd}; map { $form->{$_} = $myconfig{$_} } qw(stylesheet timeout) unless ($form->{type} eq 'preferences'); +$form->db_init(\%myconfig); + if ($form{path} ne 'bin/lynx'){ $form{path} = 'bin/mozilla';} # did sysadmin lock us out |