diff options
author | travis%sedsystems.ca <> | 2005-02-02 01:26:25 +0100 |
---|---|---|
committer | travis%sedsystems.ca <> | 2005-02-02 01:26:25 +0100 |
commit | 9e865838666f08c5505c1028a346f871559dbd90 (patch) | |
tree | cfb1cea250e120dc6a6ae9e8104a6eb0c67da149 /Bugzilla | |
parent | b21f214cf515f005382183beb72d70e58e0a87e5 (diff) | |
download | bugzilla-9e865838666f08c5505c1028a346f871559dbd90.tar.gz bugzilla-9e865838666f08c5505c1028a346f871559dbd90.tar.xz |
Bug 279748 : Move GetFieldDefs out of globals.pl (to Bugzilla::DB)
Patch by Max Kanat-Alexander <mkanat@kerio.com> r=vladd a=justdave
Diffstat (limited to 'Bugzilla')
-rw-r--r-- | Bugzilla/DB.pm | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/Bugzilla/DB.pm b/Bugzilla/DB.pm index dcd419915..b500d748b 100644 --- a/Bugzilla/DB.pm +++ b/Bugzilla/DB.pm @@ -183,6 +183,26 @@ sub server_version { return $cached_server_version; } +sub GetFieldDefs { + my $dbh = Bugzilla->dbh; + + my $extra = ""; + if (!&::UserInGroup(Param('timetrackinggroup'))) { + $extra = "WHERE name NOT IN ('estimated time', 'remaining_time', " . + "'work_time', 'percentage_complete', 'deadline')"; + } + + my @fields; + my $sth = $dbh->prepare("SELECT name, description + FROM fielddefs $extra + ORDER BY sortkey"); + $sth->execute(); + while (my $field_ref = $sth->fetchrow_hashref()) { + push(@fields, $field_ref); + } + return(@fields); +} + 1; __END__ @@ -193,9 +213,14 @@ Bugzilla::DB - Database access routines, using L<DBI> =head1 SYNOPSIS + # Connection my $dbh = Bugzilla::DB->connect_main; my $shadow = Bugzilla::DB->connect_shadow; + # Schema Information + my @fields = GetFieldDefs(); + + # Deprecated SendSQL("SELECT COUNT(*) FROM bugs"); my $cnt = FetchOneColumn(); @@ -209,6 +234,9 @@ Access to the old SendSQL-based database routines are also provided by importing the C<:deprecated> tag. These routines should not be used in new code. +The only functions that should be used by modern, regular Bugzilla code +are the "Schema Information" functions. + =head1 CONNECTION A new database handle to the required database can be created using this @@ -228,6 +256,18 @@ no shadow database is configured. =back +=head1 SCHEMA INFORMATION + +Bugzilla::DB also contains routines to get schema information about the +database. + +=over 4 + +=item C<GetFieldDefs> + +Returns a list of all the "bug" fields in Bugzilla. The list contains +hashes, with a 'name' key and a 'description' key. + =head1 DEPRECATED ROUTINES Several database routines are deprecated. They should not be used in new code, |