Bug 587793: Add a new "object_end_of_create" hook so that extensions can
operate on any new objects r=mkanat, a=mkanat git-svn-id: svn://10.0.0.236/branches/BUGZILLA-4_0-BRANCH@261163 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
86ecf73007
commit
dba7274ed2
@ -1 +1 @@
|
||||
7392
|
||||
7393
|
||||
@ -210,8 +210,7 @@ Params:
|
||||
|
||||
=over
|
||||
|
||||
=item C<bug> - The changed bug object, with all fields set to their updated
|
||||
values.
|
||||
=item C<bug> - The created bug object.
|
||||
|
||||
=item C<timestamp> - The timestamp used for all updates in this transaction,
|
||||
as a SQL date string.
|
||||
@ -821,6 +820,27 @@ or remove standard object columns using this hook.
|
||||
|
||||
=back
|
||||
|
||||
=head2 object_end_of_create
|
||||
|
||||
Called at the end of L<Bugzilla::Object/create>, after all other changes are
|
||||
made to the database. This occurs inside a database transaction.
|
||||
|
||||
Params:
|
||||
|
||||
=over
|
||||
|
||||
=item C<class>
|
||||
|
||||
The name of the class that C<create> was called on. You can check this
|
||||
like C<< if ($class->isa('Some::Class')) >> in your code, to perform specific
|
||||
tasks for only certain classes.
|
||||
|
||||
=item C<object>
|
||||
|
||||
The created object.
|
||||
|
||||
=back
|
||||
|
||||
=head2 object_end_of_create_validators
|
||||
|
||||
Called at the end of L<Bugzilla::Object/run_create_validators>. You can
|
||||
|
||||
@ -508,7 +508,12 @@ sub insert_create_data {
|
||||
$dbh->do("INSERT INTO $table (" . join(', ', @field_names)
|
||||
. ") VALUES ($qmarks)", undef, @values);
|
||||
my $id = $dbh->bz_last_key($table, $class->ID_FIELD);
|
||||
return $class->new($id);
|
||||
|
||||
my $object = $class->new($id);
|
||||
|
||||
Bugzilla::Hook::process('object_end_of_create', { class => $class,
|
||||
object => $object });
|
||||
return $object;
|
||||
}
|
||||
|
||||
sub get_all {
|
||||
|
||||
@ -411,6 +411,15 @@ sub object_columns {
|
||||
}
|
||||
}
|
||||
|
||||
sub object_end_of_create {
|
||||
my ($self, $args) = @_;
|
||||
|
||||
my $class = $args->{'class'};
|
||||
my $object = $args->{'object'};
|
||||
|
||||
warn "Created a new $class object!";
|
||||
}
|
||||
|
||||
sub object_end_of_create_validators {
|
||||
my ($self, $args) = @_;
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user