如何检查条件是否空为空?
例如,可以检查未设置qa_contact。
sub object_end_of_set_all {
my ($self, $args) = @_;
my $object = $args->{'object'};
if ($object->{'bug_status'} eq 'RESOLVED') {
if ($object->{'qa_contact'} eq "") {
ThrowUserError("empty_qa_contact");
}
}
}
自定义字段有相同的方法,例如cf_test?
我知道要将自定义字段保存在变量中,需要:
my $test = new Bugzilla::Field({ name => 'cf_test' });
哪种方法可用于获取其值或检查是否没有空?
发现了两个问题:1.执行throwUserError(" ...")后,任何对象(CF_Test甚至Bugzilla字段)始终为空。2.如果用于自定义字段使用挂钩" Object_end_of_set_all",则仅显示一个自定义字段的缓存值。
答案是使用不同的钩子:
sub bug_end_of_update {
my ($self, $args) = @_;
my ($bug, $old_bug, $timestamp, $changes) = @$args{qw(bug old_bug timestamp changes)};
if ($bug->bug_status eq 'RESOLVED') {
if ($bug->cf_test eq "") {
ThrowUserError("test_is_empty");
}
}
}