2 package Debbugs::DB::Result::Bug;
4 # Created by DBIx::Class::Schema::Loader
5 # DO NOT MODIFY THE FIRST PART OF THIS FILE
9 Debbugs::DB::Result::Bug - Bugs
16 use base 'DBIx::Class::Core';
19 =head1 COMPONENTS LOADED
23 =item * L<DBIx::Class::InflateColumn::DateTime>
25 =item * L<DBIx::Class::TimeStamp>
31 __PACKAGE__->load_components("InflateColumn::DateTime", "TimeStamp");
37 __PACKAGE__->table("bug");
50 data_type: 'timestamp with time zone'
51 default_value: current_timestamp
53 original: {default_value => \"now()"}
59 data_type: 'timestamp with time zone'
60 default_value: current_timestamp
62 original: {default_value => \"now()"}
64 Time bug log was last modified
68 data_type: 'timestamp with time zone'
69 default_value: current_timestamp
71 original: {default_value => \"now()"}
73 Time bug status was last modified
81 True if bug has been archived
85 data_type: 'timestamp with time zone'
88 Time bug was last unarchived; null if bug has never been unarchived
93 default_value: (empty string)
96 Where bug has been forwarded to; empty if it has not been forwarded
101 default_value: (empty string)
104 Summary of the bug; empty if it has no summary
109 default_value: (empty string)
112 Outlook of the bug; empty if it has no outlook
133 Individual who did the -done; empty if it has never been -done
138 default_value: (empty string)
147 Individual who owns this bug; empty if no one owns it
152 default_value: (empty string)
161 Individual who submitted this bug; empty if there is no submitter
163 =head2 submitter_full
166 default_value: (empty string)
169 =head2 unknown_packages
172 default_value: (empty string)
175 Package name if the package is not known
179 __PACKAGE__->add_columns(
181 { data_type => "integer", is_nullable => 0 },
184 data_type => "timestamp with time zone",
185 default_value => \"current_timestamp",
187 original => { default_value => \"now()" },
191 data_type => "timestamp with time zone",
192 default_value => \"current_timestamp",
194 original => { default_value => \"now()" },
198 data_type => "timestamp with time zone",
199 default_value => \"current_timestamp",
201 original => { default_value => \"now()" },
204 { data_type => "boolean", default_value => \"false", is_nullable => 0 },
206 { data_type => "timestamp with time zone", is_nullable => 1 },
208 { data_type => "text", default_value => "", is_nullable => 0 },
210 { data_type => "text", default_value => "", is_nullable => 0 },
212 { data_type => "text", default_value => "", is_nullable => 0 },
214 { data_type => "text", is_nullable => 0 },
216 { data_type => "integer", is_foreign_key => 1, is_nullable => 0 },
218 { data_type => "integer", is_foreign_key => 1, is_nullable => 1 },
220 { data_type => "text", default_value => "", is_nullable => 0 },
222 { data_type => "integer", is_foreign_key => 1, is_nullable => 1 },
224 { data_type => "text", default_value => "", is_nullable => 0 },
226 { data_type => "integer", is_foreign_key => 1, is_nullable => 1 },
228 { data_type => "text", default_value => "", is_nullable => 0 },
230 { data_type => "text", default_value => "", is_nullable => 0 },
243 __PACKAGE__->set_primary_key("id");
247 =head2 bug_affects_binpackages
251 Related object: L<Debbugs::DB::Result::BugAffectsBinpackage>
255 __PACKAGE__->has_many(
256 "bug_affects_binpackages",
257 "Debbugs::DB::Result::BugAffectsBinpackage",
258 { "foreign.bug" => "self.id" },
259 { cascade_copy => 0, cascade_delete => 0 },
262 =head2 bug_affects_srcpackages
266 Related object: L<Debbugs::DB::Result::BugAffectsSrcpackage>
270 __PACKAGE__->has_many(
271 "bug_affects_srcpackages",
272 "Debbugs::DB::Result::BugAffectsSrcpackage",
273 { "foreign.bug" => "self.id" },
274 { cascade_copy => 0, cascade_delete => 0 },
277 =head2 bug_binpackages
281 Related object: L<Debbugs::DB::Result::BugBinpackage>
285 __PACKAGE__->has_many(
287 "Debbugs::DB::Result::BugBinpackage",
288 { "foreign.bug" => "self.id" },
289 { cascade_copy => 0, cascade_delete => 0 },
292 =head2 bug_blocks_blocks
296 Related object: L<Debbugs::DB::Result::BugBlock>
300 __PACKAGE__->has_many(
302 "Debbugs::DB::Result::BugBlock",
303 { "foreign.blocks" => "self.id" },
304 { cascade_copy => 0, cascade_delete => 0 },
307 =head2 bug_blocks_bugs
311 Related object: L<Debbugs::DB::Result::BugBlock>
315 __PACKAGE__->has_many(
317 "Debbugs::DB::Result::BugBlock",
318 { "foreign.bug" => "self.id" },
319 { cascade_copy => 0, cascade_delete => 0 },
322 =head2 bug_merged_bugs
326 Related object: L<Debbugs::DB::Result::BugMerged>
330 __PACKAGE__->has_many(
332 "Debbugs::DB::Result::BugMerged",
333 { "foreign.bug" => "self.id" },
334 { cascade_copy => 0, cascade_delete => 0 },
337 =head2 bug_mergeds_merged
341 Related object: L<Debbugs::DB::Result::BugMerged>
345 __PACKAGE__->has_many(
346 "bug_mergeds_merged",
347 "Debbugs::DB::Result::BugMerged",
348 { "foreign.merged" => "self.id" },
349 { cascade_copy => 0, cascade_delete => 0 },
356 Related object: L<Debbugs::DB::Result::BugMessage>
360 __PACKAGE__->has_many(
362 "Debbugs::DB::Result::BugMessage",
363 { "foreign.bug" => "self.id" },
364 { cascade_copy => 0, cascade_delete => 0 },
367 =head2 bug_srcpackages
371 Related object: L<Debbugs::DB::Result::BugSrcpackage>
375 __PACKAGE__->has_many(
377 "Debbugs::DB::Result::BugSrcpackage",
378 { "foreign.bug" => "self.id" },
379 { cascade_copy => 0, cascade_delete => 0 },
382 =head2 bug_status_caches
386 Related object: L<Debbugs::DB::Result::BugStatusCache>
390 __PACKAGE__->has_many(
392 "Debbugs::DB::Result::BugStatusCache",
393 { "foreign.bug" => "self.id" },
394 { cascade_copy => 0, cascade_delete => 0 },
401 Related object: L<Debbugs::DB::Result::BugTag>
405 __PACKAGE__->has_many(
407 "Debbugs::DB::Result::BugTag",
408 { "foreign.bug" => "self.id" },
409 { cascade_copy => 0, cascade_delete => 0 },
416 Related object: L<Debbugs::DB::Result::BugUserTag>
420 __PACKAGE__->has_many(
422 "Debbugs::DB::Result::BugUserTag",
423 { "foreign.bug" => "self.id" },
424 { cascade_copy => 0, cascade_delete => 0 },
431 Related object: L<Debbugs::DB::Result::BugVer>
435 __PACKAGE__->has_many(
437 "Debbugs::DB::Result::BugVer",
438 { "foreign.bug" => "self.id" },
439 { cascade_copy => 0, cascade_delete => 0 },
446 Related object: L<Debbugs::DB::Result::Correspondent>
450 __PACKAGE__->belongs_to(
452 "Debbugs::DB::Result::Correspondent",
457 on_delete => "NO ACTION",
458 on_update => "NO ACTION",
466 Related object: L<Debbugs::DB::Result::Correspondent>
470 __PACKAGE__->belongs_to(
472 "Debbugs::DB::Result::Correspondent",
477 on_delete => "NO ACTION",
478 on_update => "NO ACTION",
486 Related object: L<Debbugs::DB::Result::Severity>
490 __PACKAGE__->belongs_to(
492 "Debbugs::DB::Result::Severity",
493 { id => "severity" },
494 { is_deferrable => 0, on_delete => "NO ACTION", on_update => "NO ACTION" },
501 Related object: L<Debbugs::DB::Result::Correspondent>
505 __PACKAGE__->belongs_to(
507 "Debbugs::DB::Result::Correspondent",
508 { id => "submitter" },
512 on_delete => "NO ACTION",
513 on_update => "NO ACTION",
518 # Created by DBIx::Class::Schema::Loader v0.07045 @ 2016-09-24 14:51:07
519 # DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:iaipVETTaokcFNrICfIEAw
521 __PACKAGE__->many_to_many(tags => 'bug_tags','tag');
522 __PACKAGE__->many_to_many(user_tags => 'bug_user_tags','user_tag');
523 __PACKAGE__->many_to_many(srcpackages => 'bug_srcpackages','src_pkg');
524 __PACKAGE__->many_to_many(binpackages => 'bug_binpackages','bin_pkg');
525 __PACKAGE__->many_to_many(affects_binpackages => 'bug_affects_binpackages','bin_pkg');
526 __PACKAGE__->many_to_many(affects_srcpackages => 'bug_affects_srcpackages','src_pkg');
527 __PACKAGE__->many_to_many(messages => 'bug_messages','message');
529 sub set_related_packages {
530 my ($self,$relationship,$pkgs,$pkg_cache) = @_;
533 if ($relationship =~ /binpackages/) {
534 for my $pkg (@{$pkgs}) {
536 $self->result_source->schema->resultset('BinPkg')->
537 get_bin_pkg_id($pkg);
539 } elsif ($relationship =~ /srcpackages/) {
540 for my $pkg (@{$pkgs}) {
542 $self->result_source->schema->resultset('SrcPkg')->
543 get_src_pkg_id($pkg);
546 croak "Unsupported relationship $relationship";
548 if ($relationship eq 'binpackages') {
549 $self->set_binpackages([map {{id => $_}} @pkg_ids]);
550 } elsif ($relationship eq 'srcpackages') {
551 $self->set_srcpackages([map {{id => $_}} @pkg_ids]);
552 } elsif ($relationship eq 'affects_binpackages') {
553 $self->set_affects_binpackages([map {{id => $_}} @pkg_ids]);
554 } elsif ($relationship eq 'affects_srcpackages') {
555 $self->set_affects_srcpackages([map {{id => $_}} @pkg_ids]);
557 croak "Unsupported relationship $relationship";
560 # You can replace this text with custom code or comments, and it will be preserved on regeneration