summaryrefslogtreecommitdiffstats
path: root/Bugzilla/Field.pm
diff options
context:
space:
mode:
authorGervase Markham <gerv@mozilla.org>2013-05-03 16:13:53 +0200
committerDave Lawrence <dlawrence@mozilla.com>2013-05-03 16:13:53 +0200
commitb4410eb57d8e07de23de18b6375039c47e6cea35 (patch)
tree4ecc320aa75ae046827744a1fa83f7de64fe06fe /Bugzilla/Field.pm
parent7738bea531e27159910df07e329dac26ff3edf7b (diff)
downloadbugzilla-b4410eb57d8e07de23de18b6375039c47e6cea35.tar.gz
bugzilla-b4410eb57d8e07de23de18b6375039c47e6cea35.tar.xz
Bug 866248 - backport new date custom field type from bug 801664 to bmo/4.2
r=glob
Diffstat (limited to 'Bugzilla/Field.pm')
-rw-r--r--Bugzilla/Field.pm10
1 files changed, 6 insertions, 4 deletions
diff --git a/Bugzilla/Field.pm b/Bugzilla/Field.pm
index 3d482b3c9..6b5b6ba94 100644
--- a/Bugzilla/Field.pm
+++ b/Bugzilla/Field.pm
@@ -161,6 +161,7 @@ use constant SQL_DEFINITIONS => {
FIELD_TYPE_TEXTAREA, { TYPE => 'MEDIUMTEXT',
NOTNULL => 1, DEFAULT => "''"},
FIELD_TYPE_DATETIME, { TYPE => 'DATETIME' },
+ FIELD_TYPE_DATE, { TYPE => 'DATE' },
FIELD_TYPE_BUG_ID, { TYPE => 'INT3' },
};
@@ -349,9 +350,7 @@ sub _check_sortkey {
sub _check_type {
my ($invocant, $type, undef, $params) = @_;
my $saved_type = $type;
- # The constant here should be updated every time a new,
- # higher field type is added.
- (detaint_natural($type) && $type <= FIELD_TYPE_KEYWORDS)
+ (detaint_natural($type) && $type < FIELD_TYPE_HIGHEST_PLUS_ONE)
|| ThrowCodeError('invalid_customfield_type', { type => $saved_type });
my $custom = blessed($invocant) ? $invocant->custom : $params->{custom};
@@ -943,7 +942,10 @@ sub remove_from_db {
}
else {
$bugs_query = "SELECT COUNT(*) FROM bugs WHERE $name IS NOT NULL";
- if ($self->type != FIELD_TYPE_BUG_ID && $self->type != FIELD_TYPE_DATETIME) {
+ if ($self->type != FIELD_TYPE_BUG_ID
+ && $self->type != FIELD_TYPE_DATE
+ && $self->type != FIELD_TYPE_DATETIME)
+ {
$bugs_query .= " AND $name != ''";
}
# Ignore the default single select value