diff options
author | Max Kanat-Alexander <mkanat@bugzilla.org> | 2010-06-23 17:39:11 -0700 |
---|---|---|
committer | Max Kanat-Alexander <mkanat@bugzilla.org> | 2010-06-23 17:39:11 -0700 |
commit | 8f33041e6542f12e6897ef6ed7a67c43a118c504 (patch) | |
tree | c5caf60f706dfa1043a69e135b5246bd63455aae /Bugzilla/Bug.pm | |
parent | 0a4878ccff5b9c281b018ad6c13fa5ac40986708 (diff) | |
download | bugs-8f33041e6542f12e6897ef6ed7a67c43a118c504.tar bugs-8f33041e6542f12e6897ef6ed7a67c43a118c504.tar.gz bugs-8f33041e6542f12e6897ef6ed7a67c43a118c504.tar.bz2 bugs-8f33041e6542f12e6897ef6ed7a67c43a118c504.tar.xz bugs-8f33041e6542f12e6897ef6ed7a67c43a118c504.zip |
Bug 572602: Change the way that Bugzilla::Object determines what fields
are required for create(). It now assumes that any column that is NOT NULL
and has not DEFAULT in the database is required. We also shift the burden
of throwing errors about empty values to the validators. This fixes the bug
that Bugzilla::Bug->create() wasn't populating default values for fields
if they weren't specified in the create() parameters.
r=timello, a=mkanat
Diffstat (limited to 'Bugzilla/Bug.pm')
-rw-r--r-- | Bugzilla/Bug.pm | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm index 614d83a64..58901c57e 100644 --- a/Bugzilla/Bug.pm +++ b/Bugzilla/Bug.pm @@ -115,15 +115,6 @@ sub DB_COLUMNS { return @columns; } -use constant REQUIRED_CREATE_FIELDS => qw( - component - product - short_desc - version -); - -# There are also other, more complex validators that are called -# from run_create_validators. sub VALIDATORS { my $validators = { @@ -290,6 +281,11 @@ use constant FIELD_MAP => { offset => 'OFFSET', }; +use constant REQUIRED_FIELD_MAP => { + product_id => 'product', + component_id => 'component', +}; + ##################################################################### sub new { @@ -1696,8 +1692,8 @@ sub _check_reporter { else { # On bug creation, the reporter is the logged in user # (meaning that he must be logged in first!). + Bugzilla->login(LOGIN_REQUIRED); $reporter = Bugzilla->user->id; - $reporter || ThrowCodeError('invalid_user'); } return $reporter; } |