summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreinhverfr <einhverfr@4979c152-3d1c-0410-bac9-87ea11338e46>2006-09-22 06:11:45 +0000
committereinhverfr <einhverfr@4979c152-3d1c-0410-bac9-87ea11338e46>2006-09-22 06:11:45 +0000
commit1be032cc33531158196d406f44de3fe8f1e8e8b0 (patch)
treeacdcf3b969c6b957b76473f1cc896a6e0efba557
parent4228c08809b0ff57b13061ab0cb1d3193ba86f4c (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--Changelog7
-rwxr-xr-xLedgerSMB/Form.pm19
-rwxr-xr-xmenu.pl2
3 files changed, 28 insertions, 0 deletions
diff --git a/Changelog b/Changelog
index dbf7c019..232fca42 100644
--- a/Changelog
+++ b/Changelog
@@ -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) = @_;
diff --git a/menu.pl b/menu.pl
index 8c245510..b957690e 100755
--- a/menu.pl
+++ b/menu.pl
@@ -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