summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Bugzilla.pm12
-rwxr-xr-xBugzilla/Bug.pm13
-rw-r--r--Bugzilla/Constants.pm13
-rw-r--r--Bugzilla/DB/Schema.pm5
-rw-r--r--Bugzilla/Field.pm342
-rwxr-xr-xchecksetup.pl9
-rwxr-xr-xcustomfield.pl88
-rwxr-xr-xeditcomponents.cgi1
-rwxr-xr-xeditmilestones.cgi1
-rwxr-xr-xeditproducts.cgi1
-rwxr-xr-xprocess_bug.cgi12
-rwxr-xr-xshow_activity.cgi1
-rwxr-xr-xshowdependencytree.cgi1
-rwxr-xr-xsummarize_time.cgi1
-rw-r--r--template/en/default/bug/edit.html.tmpl9
-rw-r--r--template/en/default/bug/field.html.tmpl36
16 files changed, 48 insertions, 497 deletions
diff --git a/Bugzilla.pm b/Bugzilla.pm
index 5267f3dbd..86d6e6e70 100644
--- a/Bugzilla.pm
+++ b/Bugzilla.pm
@@ -35,7 +35,6 @@ use Bugzilla::Template;
use Bugzilla::User;
use Bugzilla::Error;
use Bugzilla::Util;
-use Bugzilla::Field;
use File::Basename;
@@ -277,17 +276,6 @@ sub switch_to_main_db {
return $class->dbh;
}
-sub get_fields {
- my $class = shift;
- my $criteria = shift;
- return Bugzilla::Field::match($criteria);
-}
-
-sub custom_field_names {
- # Get a list of custom fields and convert it into a list of their names.
- return map($_->{name}, Bugzilla::Field::match({ custom=>1, obsolete=>0 }));
-}
-
# Private methods
# Per process cleanup
diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm
index cfa5f49f6..61798f7cb 100755
--- a/Bugzilla/Bug.pm
+++ b/Bugzilla/Bug.pm
@@ -90,8 +90,6 @@ sub fields {
push @fields, qw(estimated_time remaining_time actual_time deadline);
}
- push(@fields, Bugzilla->custom_field_names);
-
return @fields;
}
@@ -164,11 +162,6 @@ sub initBug {
$self->{'who'} = new Bugzilla::User($user_id);
- my $custom_fields = "";
- if (length(Bugzilla->custom_field_names) > 0) {
- $custom_fields = ", " . join(", ", Bugzilla->custom_field_names);
- }
-
my $query = "
SELECT
bugs.bug_id, alias, products.classification_id, classifications.name,
@@ -182,8 +175,7 @@ sub initBug {
delta_ts, COALESCE(SUM(votes.vote_count), 0),
reporter_accessible, cclist_accessible,
estimated_time, remaining_time, " .
- $dbh->sql_date_format('deadline', '%Y-%m-%d') .
- $custom_fields . "
+ $dbh->sql_date_format('deadline', '%Y-%m-%d') . "
FROM bugs
LEFT JOIN votes
ON bugs.bug_id = votes.bug_id
@@ -220,8 +212,7 @@ sub initBug {
"target_milestone", "qa_contact_id", "status_whiteboard",
"creation_ts", "delta_ts", "votes",
"reporter_accessible", "cclist_accessible",
- "estimated_time", "remaining_time", "deadline",
- Bugzilla->custom_field_names)
+ "estimated_time", "remaining_time", "deadline")
{
$fields{$field} = shift @row;
if (defined $fields{$field}) {
diff --git a/Bugzilla/Constants.pm b/Bugzilla/Constants.pm
index 6ff7d8fa9..09717486e 100644
--- a/Bugzilla/Constants.pm
+++ b/Bugzilla/Constants.pm
@@ -91,9 +91,6 @@ use base qw(Exporter);
ADMIN_GROUP_NAME
SENDMAIL_EXE
-
- FIELD_TYPE_UNKNOWN
- FIELD_TYPE_FREETEXT
);
@Bugzilla::Constants::EXPORT_OK = qw(contenttypes);
@@ -246,14 +243,4 @@ use constant ADMIN_GROUP_NAME => 'admin';
# Path to sendmail.exe (Windows only)
use constant SENDMAIL_EXE => '/usr/lib/sendmail.exe';
-# Field types. Match values in fielddefs.type column. These are purposely
-# not named after database column types, since Bugzilla fields comprise not
-# only storage but also logic. For example, we might add a "user" field type
-# whose values are stored in an integer column in the database but for which
-# we do more than we would do for a standard integer type (f.e. we might
-# display a user picker).
-
-use constant FIELD_TYPE_UNKNOWN => 0;
-use constant FIELD_TYPE_FREETEXT => 1;
-
1;
diff --git a/Bugzilla/DB/Schema.pm b/Bugzilla/DB/Schema.pm
index 3caeba707..63b19578d 100644
--- a/Bugzilla/DB/Schema.pm
+++ b/Bugzilla/DB/Schema.pm
@@ -36,7 +36,6 @@ package Bugzilla::DB::Schema;
use strict;
use Bugzilla::Error;
use Bugzilla::Util;
-use Bugzilla::Constants;
use Safe;
# Historical, needed for SCHEMA_VERSION = '1.00'
@@ -454,10 +453,6 @@ use constant ABSTRACT_SCHEMA => {
fieldid => {TYPE => 'MEDIUMSERIAL', NOTNULL => 1,
PRIMARYKEY => 1},
name => {TYPE => 'varchar(64)', NOTNULL => 1},
- type => {TYPE => 'INT2', NOTNULL => 1,
- DEFAULT => FIELD_TYPE_UNKNOWN},
- custom => {TYPE => 'BOOLEAN', NOTNULL => 1,
- DEFAULT => 'FALSE'},
description => {TYPE => 'MEDIUMTEXT', NOTNULL => 1},
mailhead => {TYPE => 'BOOLEAN', NOTNULL => 1,
DEFAULT => 'FALSE'},
diff --git a/Bugzilla/Field.pm b/Bugzilla/Field.pm
index 8585ff760..09c4731ac 100644
--- a/Bugzilla/Field.pm
+++ b/Bugzilla/Field.pm
@@ -14,57 +14,6 @@
#
# Contributor(s): Dan Mosedale <dmose@mozilla.org>
# Frédéric Buclin <LpSolit@gmail.com>
-# Myk Melez <myk@mozilla.org>
-
-=head1 NAME
-
-Bugzilla::Field - a particular piece of information about bugs
- and useful routines for form field manipulation
-
-=head1 SYNOPSIS
-
- use Bugzilla;
- use Data::Dumper;
-
- # Display information about all fields.
- print Dumper(Bugzilla->get_fields());
-
- # Display information about non-obsolete custom fields.
- print Dumper(Bugzilla->get_fields({ obsolete => 1, custom => 1 }));
-
- # Display a list of the names of non-obsolete custom fields.
- print Bugzilla->custom_field_names;
-
- use Bugzilla::Field;
-
- # Display information about non-obsolete custom fields.
- # Bugzilla->get_fields() is a wrapper around Bugzilla::Field::match(),
- # so both methods take the same arguments.
- print Dumper(Bugzilla::Field::match({ obsolete => 1, custom => 1 }));
-
- # Create a custom field.
- my $field = Bugzilla::Field::create("hilarity", "Hilarity");
- print "$field->{description} is a custom field\n";
-
- # Instantiate a Field object for an existing field.
- my $field = new Bugzilla::Field('qacontact_accessible');
- if ($field->{obsolete}) {
- print "$field->{description} is obsolete\n";
- }
-
- # Validation Routines
- check_form_field($cgi, $fieldname, \@legal_values);
- check_form_field_defined($cgi, $fieldname);
- $fieldid = get_field_id($fieldname);
-
-=head1 DESCRIPTION
-
-Field.pm defines field objects, which represent the particular pieces
-of information that Bugzilla stores about bugs.
-
-This package also provides functions for dealing with CGI form fields.
-
-=cut
package Bugzilla::Field;
@@ -75,214 +24,73 @@ use base qw(Exporter);
get_field_id);
use Bugzilla::Util;
-use Bugzilla::Constants;
use Bugzilla::Error;
-use constant DB_COLUMNS => (
- 'fieldid AS id',
- 'name',
- 'description',
- 'type',
- 'custom',
- 'obsolete'
-);
-
-our $columns = join(", ", DB_COLUMNS);
-
-sub new {
- my $invocant = shift;
- my $name = shift;
- my $self = shift || Bugzilla->dbh->selectrow_hashref(
- "SELECT $columns FROM fielddefs WHERE name = ?",
- undef,
- $name
- );
- bless($self, $invocant);
- return $self;
-}
-
-=pod
-
-=head2 Instance Properties
-
-=over
-
-=item C<id>
-
-the unique identifier for the field;
-
-=back
-
-=cut
-
-sub id { return $_[0]->{id} }
-
-=over
-
-=item C<name>
-
-the name of the field in the database; begins with "cf_" if field
-is a custom field, but test the value of the boolean "custom" property
-to determine if a given field is a custom field;
-
-=back
-
-=cut
-
-sub name { return $_[0]->{name} }
-
-=over
-
-=item C<description>
-
-a short string describing the field; displayed to Bugzilla users
-in several places within Bugzilla's UI, f.e. as the form field label
-on the "show bug" page;
-
-=back
-
-=cut
-sub description { return $_[0]->{description} }
-
-=over
-
-=item C<type>
-
-an integer specifying the kind of field this is; values correspond to
-the FIELD_TYPE_* constants in Constants.pm
-
-=back
-
-=cut
-
-sub type { return $_[0]->{type} }
-
-=over
-
-=item C<custom>
-
-a boolean specifying whether or not the field is a custom field;
-if true, field name should start "cf_", but use this property to determine
-which fields are custom fields;
-
-=back
-
-=cut
-
-sub custom { return $_[0]->{custom} }
-
-=over
-
-=item C<obsolete>
-
-a boolean specifying whether or not the field is obsolete;
-
-=back
-
-=cut
-
-sub obsolete { return $_[0]->{obsolete} }
-
-
-=pod
-
-=head2 Class Methods
-
-=over
-
-=item C<create($name, $desc)>
-
-Description: creates a new custom field.
-
-Params: C<$name> - string - the name of the field;
- C<$desc> - string - the field label to display in the UI.
-
-Returns: a field object.
+sub check_form_field {
+ my ($cgi, $fieldname, $legalsRef) = @_;
+ my $dbh = Bugzilla->dbh;
-=back
+ if (!defined $cgi->param($fieldname)
+ || trim($cgi->param($fieldname)) eq ""
+ || (defined($legalsRef)
+ && lsearch($legalsRef, $cgi->param($fieldname)) < 0))
+ {
+ trick_taint($fieldname);
+ my ($result) = $dbh->selectrow_array("SELECT description FROM fielddefs
+ WHERE name = ?", undef, $fieldname);
+
+ my $field = $result || $fieldname;
+ ThrowCodeError("illegal_field", { field => $field });
+ }
+}
-=cut
+sub check_form_field_defined {
+ my ($cgi, $fieldname) = @_;
-sub create {
- my ($name, $desc, $custom) = @_;
-
- # Convert the $custom argument into a DB-compatible value.
- $custom = $custom ? 1 : 0;
+ if (!defined $cgi->param($fieldname)) {
+ ThrowCodeError("undefined_field", { field => $fieldname });
+ }
+}
+sub get_field_id {
+ my ($name) = @_;
my $dbh = Bugzilla->dbh;
- # Some day we'll allow invocants to specify the sort key.
- my ($sortkey) =
- $dbh->selectrow_array("SELECT MAX(sortkey) + 1 FROM fielddefs");
-
- # Some day we'll require invocants to specify the field type.
- my $type = FIELD_TYPE_FREETEXT;
-
- # Create the database column that stores the data for this field.
- $dbh->bz_add_column("bugs", $name, { TYPE => 'varchar(255)' });
-
- # Add the field to the list of fields at this Bugzilla installation.
- my $sth = $dbh->prepare(
- "INSERT INTO fielddefs (name, description, sortkey, type,
- custom, mailhead)
- VALUES (?, ?, ?, ?, ?, 1)"
- );
- $sth->execute($name, $desc, $sortkey, $type, $custom);
+ trick_taint($name);
+ my $id = $dbh->selectrow_array('SELECT fieldid FROM fielddefs
+ WHERE name = ?', undef, $name);
- return new Bugzilla::Field($name);
+ ThrowCodeError('invalid_field_name', {field => $name}) unless $id;
+ return $id
}
+1;
-=pod
-
-=over
+__END__
-=item C<match($criteria)>
+=head1 NAME
-Description: returns a list of fields that match the specified criteria.
+Bugzilla::Field - Useful routines for fields manipulation
-Params: C<$criteria> - hash reference - the criteria to match against.
- Hash keys represent field properties; hash values represent
- their values. All criteria are optional. Valid criteria are
- "custom" and "obsolete", and both take boolean values.
+=head1 SYNOPSIS
- Note: Bugzilla->get_fields() and Bugzilla->custom_field_names
- wrap this method for most callers.
+ use Bugzilla::Field;
-Returns: a list of field objects.
+ # Validation Routines
+ check_form_field($cgi, $fieldname, \@legal_values);
+ check_form_field_defined($cgi, $fieldname);
+ $fieldid = get_field_id($fieldname);
-=back
+=head1 DESCRIPTION
-=cut
+This package provides functions for dealing with CGI form fields.
-sub match {
- my ($criteria) = @_;
-
- my @terms;
- if (defined $criteria->{name}) {
- push(@terms, "name=" . Bugzilla->dbh->quote($criteria->{name}));
- }
- if (defined $criteria->{custom}) {
- push(@terms, "custom=" . ($criteria->{custom} ? "1" : "0"));
- }
- if (defined $criteria->{obsolete}) {
- push(@terms, "obsolete=" . ($criteria->{obsolete} ? "1" : "0"));
- }
- my $where = (scalar(@terms) > 0) ? "WHERE " . join(" AND ", @terms) : "";
-
- my $records = Bugzilla->dbh->selectall_arrayref(
- "SELECT $columns FROM fielddefs $where ORDER BY sortkey",
- { Slice => {}}
- );
- # Generate a array of field objects from the array of field records.
- my @fields = map( new Bugzilla::Field(undef, $_), @$records );
- return @fields;
-}
+=head1 FUNCTIONS
-=pod
+This package provides several types of routines:
-=head2 Data Validation
+=head2 Validation
=over
@@ -300,32 +108,6 @@ Params: $cgi - a CGI object
Returns: nothing
-=back
-
-=cut
-
-sub check_form_field {
- my ($cgi, $fieldname, $legalsRef) = @_;
- my $dbh = Bugzilla->dbh;
-
- if (!defined $cgi->param($fieldname)
- || trim($cgi->param($fieldname)) eq ""
- || (defined($legalsRef)
- && lsearch($legalsRef, $cgi->param($fieldname)) < 0))
- {
- trick_taint($fieldname);
- my ($result) = $dbh->selectrow_array("SELECT description FROM fielddefs
- WHERE name = ?", undef, $fieldname);
-
- my $field = $result || $fieldname;
- ThrowCodeError("illegal_field", { field => $field });
- }
-}
-
-=pod
-
-=over
-
=item C<check_form_field_defined($cgi, $fieldname)>
Description: Makes sure the field $fieldname is defined and its value
@@ -336,48 +118,14 @@ Params: $cgi - a CGI object
Returns: nothing
-=back
-
-=cut
-
-sub check_form_field_defined {
- my ($cgi, $fieldname) = @_;
-
- if (!defined $cgi->param($fieldname)) {
- ThrowCodeError("undefined_field", { field => $fieldname });
- }
-}
-
-=pod
-
-=over
-
=item C<get_field_id($fieldname)>
Description: Returns the ID of the specified field name and throws
an error if this field does not exist.
-Params: $name - a field name
+Params: $fieldname - a field name
Returns: the corresponding field ID or an error if the field name
does not exist.
=back
-
-=cut
-
-sub get_field_id {
- my ($name) = @_;
- my $dbh = Bugzilla->dbh;
-
- trick_taint($name);
- my $id = $dbh->selectrow_array('SELECT fieldid FROM fielddefs
- WHERE name = ?', undef, $name);
-
- ThrowCodeError('invalid_field_name', {field => $name}) unless $id;
- return $id
-}
-
-1;
-
-__END__
diff --git a/checksetup.pl b/checksetup.pl
index fdb678e21..e8528aee1 100755
--- a/checksetup.pl
+++ b/checksetup.pl
@@ -1305,7 +1305,7 @@ unless ($switch{'no_templates'}) {
# These are the files which need to be marked executable
my @executable_files = ('whineatnews.pl', 'collectstats.pl',
'checksetup.pl', 'importxml.pl', 'runtests.pl', 'testserver.pl',
- 'whine.pl', 'customfield.pl');
+ 'whine.pl');
# tell me if a file is executable. All CGI files and those in @executable_files
# are executable
@@ -4240,13 +4240,6 @@ $dbh->bz_alter_column('logincookies', 'cookie',
{TYPE => 'varchar(16)', PRIMARYKEY => 1, NOTNULL => 1});
-# 2005-08-10 Myk Melez <myk@mozilla.org> bug 287325
-# Record each field's type and whether or not it's a custom field in fielddefs.
-$dbh->bz_add_column('fielddefs', 'type',
- { TYPE => 'INT2', NOTNULL => 1, DEFAULT => 0 });
-$dbh->bz_add_column('fielddefs', 'custom',
- { TYPE => 'BOOLEAN', NOTNULL => 1, DEFAULT => 'FALSE' });
-
# If you had to change the --TABLE-- definition in any way, then add your
# differential change code *** A B O V E *** this comment.
#
diff --git a/customfield.pl b/customfield.pl
deleted file mode 100755
index 106c60582..000000000
--- a/customfield.pl
+++ /dev/null
@@ -1,88 +0,0 @@
-#!/usr/bin/perl -wT
-# -*- Mode: perl; indent-tabs-mode: nil -*-
-#
-# The contents of this file are subject to the Mozilla Public
-# License Version 1.1 (the "License"); you may not use this file
-# except in compliance with the License. You may obtain a copy of
-# the License at http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS
-# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
-# implied. See the License for the specific language governing
-# rights and limitations under the License.
-#
-# The Original Code is the Bugzilla Bug Tracking System.
-#
-# The Initial Developer of the Original Code is Netscape Communications
-# Corporation. Portions created by Netscape are
-# Copyright (C) 1998 Netscape Communications Corporation. All
-# Rights Reserved.
-#
-# Contributor(s): Myk Melez <myk@mozilla.org>
-
-################################################################################
-# Script Initialization
-################################################################################
-
-use strict;
-
-use lib ".";
-require "globals.pl";
-
-use Bugzilla::Field;
-use Getopt::Long;
-
-my ($name, $desc);
-my $result = GetOptions("name=s" => \$name,
- "description|desc=s" => \$desc);
-
-if (!$name or !$desc) {
- my $command =
- $^O =~ /MSWin32/i ? "perl -T customfield.pl" : "./customfield.pl";
- print <<END;
-Usage:
-
- Use this script to add a custom field to your Bugzilla installation
- by invoking it with the --name and --desc command-line options:
-
- $command --name=<field_name> --desc="<field description>"
-
- <field_name> is the name of the custom field in the database.
- The string "cf_" will be prepended to this name to distinguish
- the field from standard fields. This name must conform to the
- naming rules for the database server you use.
-
- <field description> is a short string describing the field. It will
- be displayed to Bugzilla users in several parts of Bugzilla's UI,
- for example as the label for the field on the "show bug" page.
-
-Warning:
-
- Custom fields can make Bugzilla less usable. See this URL
- for alternatives to custom fields:
-
- http://www.gerv.net/hacking/custom-fields.html
-
- You should try to implement applicable alternatives before using
- this script to add a custom field.
-END
-
- exit;
-}
-
-# Prepend cf_ to the custom field name to distinguish it from standard fields.
-$name =~ /^cf_/
- or $name = "cf_" . $name;
-
-# Exit gracefully if there is already a field with the given name.
-if (scalar(Bugzilla::Field::match({ name=>$name })) > 0) {
- print "There is already a field named $name. Please choose " .
- "a different name.\n";
- exit;
-}
-
-
-# Create the field.
-print "Creating custom field $name ...\n";
-my $field = Bugzilla::Field::create($name, $desc, 1);
-print "Custom field $name created.\n";
diff --git a/editcomponents.cgi b/editcomponents.cgi
index 3cbd71a9c..c65fd3167 100755
--- a/editcomponents.cgi
+++ b/editcomponents.cgi
@@ -31,7 +31,6 @@ use lib ".";
require "globals.pl";
-use Bugzilla;
use Bugzilla::Constants;
use Bugzilla::Config qw(:DEFAULT $datadir);
use Bugzilla::Series;
diff --git a/editmilestones.cgi b/editmilestones.cgi
index bb80164ab..c87828526 100755
--- a/editmilestones.cgi
+++ b/editmilestones.cgi
@@ -21,7 +21,6 @@ use lib ".";
require "globals.pl";
-use Bugzilla;
use Bugzilla::Constants;
use Bugzilla::Config qw(:DEFAULT $datadir);
use Bugzilla::Product;
diff --git a/editproducts.cgi b/editproducts.cgi
index d9ebcedd9..2b7c5dc5d 100755
--- a/editproducts.cgi
+++ b/editproducts.cgi
@@ -33,7 +33,6 @@
use strict;
use lib ".";
-use Bugzilla;
use Bugzilla::Constants;
require "globals.pl";
use Bugzilla::Bug;
diff --git a/process_bug.cgi b/process_bug.cgi
index fcd6408d3..77496f2a3 100755
--- a/process_bug.cgi
+++ b/process_bug.cgi
@@ -855,18 +855,6 @@ foreach my $field ("rep_platform", "priority", "bug_severity",
}
}
-# Add custom fields data to the query that will update the database.
-foreach my $field (Bugzilla->custom_field_names) {
- if (defined $cgi->param($field)
- && (!$cgi->param('dontchange')
- || $cgi->param($field) ne $cgi->param('dontchange')))
- {
- DoComma();
- $::query .= "$field = " . SqlQuote(trim($cgi->param($field)));
- }
-}
-
-
my $prod_id;
my $prod_changed;
my @newprod_ids;
diff --git a/show_activity.cgi b/show_activity.cgi
index e44bc7054..9b7273a4c 100755
--- a/show_activity.cgi
+++ b/show_activity.cgi
@@ -28,7 +28,6 @@ use lib qw(.);
require "globals.pl";
-use Bugzilla;
use Bugzilla::Bug;
my $cgi = Bugzilla->cgi;
diff --git a/showdependencytree.cgi b/showdependencytree.cgi
index 03abb2729..d9d71b0ab 100755
--- a/showdependencytree.cgi
+++ b/showdependencytree.cgi
@@ -27,7 +27,6 @@ use strict;
use lib qw(.);
require "globals.pl";
-use Bugzilla;
use Bugzilla::User;
use Bugzilla::Bug;
diff --git a/summarize_time.cgi b/summarize_time.cgi
index 0827077e8..44c4f8d50 100755
--- a/summarize_time.cgi
+++ b/summarize_time.cgi
@@ -23,7 +23,6 @@ use lib qw(.);
use Date::Parse; # strptime
use Date::Format; # strftime
-use Bugzilla;
use Bugzilla::Bug; # EmitDependList
use Bugzilla::Util; # trim
use Bugzilla::Constants; # LOGIN_*
diff --git a/template/en/default/bug/edit.html.tmpl b/template/en/default/bug/edit.html.tmpl
index 9768dd3b4..2252528ac 100644
--- a/template/en/default/bug/edit.html.tmpl
+++ b/template/en/default/bug/edit.html.tmpl
@@ -497,15 +497,6 @@
</table>
[% END %]
-[%# *** Custom Fields *** %]
-
-[% USE Bugzilla %]
-<table>
- [% FOREACH field = Bugzilla.get_fields({ obsolete => 0, custom => 1 }) %]
- [% PROCESS bug/field.html.tmpl value=bug.${field.name} %]
- [% END %]
-</table>
-
[%# *** Attachments *** %]
[% PROCESS attachment/list.html.tmpl
diff --git a/template/en/default/bug/field.html.tmpl b/template/en/default/bug/field.html.tmpl
deleted file mode 100644
index cbde9cf27..000000000
--- a/template/en/default/bug/field.html.tmpl
+++ /dev/null
@@ -1,36 +0,0 @@
-[%# 1.0@bugzilla.org %]
-[%# The contents of this file are subject to the Mozilla Public
- # License Version 1.1 (the "License"); you may not use this file
- # except in compliance with the License. You may obtain a copy of
- # the License at http://www.mozilla.org/MPL/
- #
- # Software distributed under the License is distributed on an "AS
- # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
- # implied. See the License for the specific language governing
- # rights and limitations under the License.
- #
- # The Original Code is the Bugzilla Bug Tracking System.
- #
- # The Initial Developer of the Original Code is Netscape Communications
- # Corporation. Portions created by Netscape are
- # Copyright (C) 1998 Netscape Communications Corporation. All
- # Rights Reserved.
- #
- # Contributor(s): Myk Melez <myk@mozilla.org>
- #%]
-
-<tr>
- [% SWITCH field.type %]
- [% CASE constants.FIELD_TYPE_FREETEXT %]
- <th align="right">
- <label for="[% field.name FILTER html %]">
- [% field.description FILTER html %]:
- </label>
- </th>
- <td>
- <input name="[% field.name FILTER html %]"
- value="[% value FILTER html %]"
- size="60">
- </td>
- [% END %]
-</tr>