Closed
Bug 301268
Opened 19 years ago
Closed 19 years ago
Bugzilla::Product should have a ->all_versions instead of using Bugzilla::Version::get_versions_by_product directly
Categories
(Bugzilla :: Bugzilla-General, enhancement)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: mkanat, Assigned: timello)
Details
Basically, "all versions" (what get_versions_by_product) returns is a feature of a Product. So, instead of directly calling Bugzilla::Version::get_versions_by_product in code, we should be able to do something like $product->all_versions.
Comment 1•19 years ago
|
||
I was thinking about that too while reviewing timello's patch. And I came to the conclusion that the actual code avoid some code duplication, i.e. we have only one way to get all versions of a given product, which I like (especially for debugging, because you don't have to check the 25 different part of the code which do the same thing). mkanat, why would you like to duplicate the code?
| Reporter | ||
Comment 2•19 years ago
|
||
(In reply to comment #1) > mkanat, why would you like to duplicate the code? It's not really duplication. get_versions_by_product should never be called by CGI code, and probably only once in all of Bugzilla -- inside of Bugzilla::Product->all_versions. One calls the other, and ->all_versions is the one that's normally used. A product *has a* version, and it also *has a* set of versions. get_versions_by_product exists in Version.pm as it should, because it's code that accesses the versions table in the DB (it has to do with Versions).
| Assignee | ||
Comment 3•19 years ago
|
||
We already have that method, it is called: versions:
sub versions {
my $self = shift;
if (!defined $self->{versions}) {
$self->{versions} =
Bugzilla::Version::get_versions_by_product($self->id);
}
return $self->{versions};
}
I don't think this is required.
| Reporter | ||
Comment 4•19 years ago
|
||
Oh! :-) I didn't notice that. :-) Then we should be using ->versions instead of get_versions_by_product in CGI code.
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•