Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
bugzilla
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
etersoft
bugzilla
Commits
80130158
You need to sign in or sign up before continuing.
Commit
80130158
authored
May 14, 2010
by
Max Kanat-Alexander
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug 556731 - Make Bugzilla::Milestone, Bugzilla::Version, and
Bugzilla::Component use VALIDATOR_DEPENDENCIES instead of UPDATE_VALIDATORS r=LpSolit, a=LpSolit
parent
8bc37c2d
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
37 additions
and
44 deletions
+37
-44
Component.pm
Bugzilla/Component.pm
+10
-15
Migrate.pm
Bugzilla/Migrate.pm
+3
-3
Milestone.pm
Bugzilla/Milestone.pm
+11
-12
Product.pm
Bugzilla/Product.pm
+2
-2
Version.pm
Bugzilla/Version.pm
+9
-10
editmilestones.cgi
editmilestones.cgi
+1
-1
editversions.cgi
editversions.cgi
+1
-1
No files found.
Bugzilla/Component.pm
View file @
80130158
...
...
@@ -28,6 +28,8 @@ use Bugzilla::User;
use
Bugzilla::
FlagType
;
use
Bugzilla::
Series
;
use
Scalar::
Util
qw(blessed)
;
###############################
#### Initialization ####
###############################
...
...
@@ -66,10 +68,11 @@ use constant VALIDATORS => {
initialqacontact
=>
\&
_check_initialqacontact
,
description
=>
\&
_check_description
,
initial_cc
=>
\&
_check_cc_list
,
name
=>
\&
_check_name
,
};
use
constant
UPDATE_VALIDATOR
S
=>
{
name
=>
\&
_check_name
,
use
constant
VALIDATOR_DEPENDENCIE
S
=>
{
name
=>
[
'product'
]
,
};
###############################
...
...
@@ -116,8 +119,11 @@ sub create {
my
$params
=
$class
->
run_create_validators
(
@_
);
my
$cc_list
=
delete
$params
->
{
initial_cc
};
my
$create_series
=
delete
$params
->
{
create_series
};
my
$product
=
delete
$params
->
{
product
};
$params
->
{
product_id
}
=
$product
->
id
;
my
$component
=
$class
->
insert_create_data
(
$params
);
$component
->
{
product
}
=
$product
;
# We still have to fill the component_cc table.
$component
->
_update_cc_list
(
$cc_list
)
if
$cc_list
;
...
...
@@ -129,17 +135,6 @@ sub create {
return
$component
;
}
sub
run_create_validators
{
my
$class
=
shift
;
my
$params
=
$class
->
SUPER::
run_create_validators
(
@_
);
my
$product
=
delete
$params
->
{
product
};
$params
->
{
product_id
}
=
$product
->
id
;
$params
->
{
name
}
=
$class
->
_check_name
(
$params
->
{
name
},
$product
);
return
$params
;
}
sub
update
{
my
$self
=
shift
;
my
$changes
=
$self
->
SUPER::
update
(
@_
);
...
...
@@ -190,7 +185,8 @@ sub remove_from_db {
################################
sub
_check_name
{
my
(
$invocant
,
$name
,
$product
)
=
@_
;
my
(
$invocant
,
$name
,
undef
,
$params
)
=
@_
;
my
$product
=
blessed
(
$invocant
)
?
$invocant
->
product
:
$params
->
{
product
};
$name
=
trim
(
$name
);
$name
||
ThrowUserError
(
'component_blank_name'
);
...
...
@@ -199,7 +195,6 @@ sub _check_name {
ThrowUserError
(
'component_name_too_long'
,
{
'name'
=>
$name
});
}
$product
=
$invocant
->
product
if
(
ref
$invocant
);
my
$component
=
new
Bugzilla::
Component
({
product
=>
$product
,
name
=>
$name
});
if
(
$component
&&
(
!
ref
$invocant
||
$component
->
id
!=
$invocant
->
id
))
{
ThrowUserError
(
'component_already_exists'
,
{
name
=>
$component
->
name
,
...
...
Bugzilla/Migrate.pm
View file @
80130158
...
...
@@ -654,7 +654,7 @@ sub create_legal_values {
next
if
new
Bugzilla::
Version
({
product
=>
$prod_obj
,
name
=>
$version
});
my
$created
=
Bugzilla::
Version
->
create
({
product
=>
$prod_obj
,
name
=>
$version
});
value
=>
$version
});
my
$field
=
$self
->
bug_fields
->
{
version
};
print
get_text
(
'migrate_value_created'
,
{
product
=>
$prod_obj
,
field
=>
$field
,
...
...
@@ -663,8 +663,8 @@ sub create_legal_values {
foreach
my
$milestone
(
keys
%
{
$product_values
{
$product
}
->
{
target_milestone
}
})
{
next
if
new
Bugzilla::
Milestone
({
product
=>
$prod_obj
,
name
=>
$milestone
});
my
$created
=
Bugzilla::
Milestone
->
create
(
{
product
=>
$prod_obj
,
nam
e
=>
$milestone
});
my
$created
=
Bugzilla::
Milestone
->
create
(
{
product
=>
$prod_obj
,
valu
e
=>
$milestone
});
my
$field
=
$self
->
bug_fields
->
{
target_milestone
};
print
get_text
(
'migrate_value_created'
,
{
product
=>
$prod_obj
,
field
=>
$field
,
...
...
Bugzilla/Milestone.pm
View file @
80130158
...
...
@@ -26,6 +26,8 @@ use Bugzilla::Constants;
use
Bugzilla::
Util
;
use
Bugzilla::
Error
;
use
Scalar::
Util
qw(blessed)
;
################################
##### Initialization #####
################################
...
...
@@ -44,7 +46,7 @@ use constant DB_COLUMNS => qw(
)
;
use
constant
REQUIRED_CREATE_FIELDS
=>
qw(
nam
e
valu
e
product
)
;
...
...
@@ -56,10 +58,11 @@ use constant UPDATE_COLUMNS => qw(
use
constant
VALIDATORS
=>
{
product
=>
\&
_check_product
,
sortkey
=>
\&
_check_sortkey
,
value
=>
\&
_check_value
,
};
use
constant
UPDATE_VALIDATOR
S
=>
{
value
=>
\&
_check_value
,
use
constant
VALIDATOR_DEPENDENCIE
S
=>
{
value
=>
[
'product'
]
,
};
################################
...
...
@@ -96,12 +99,8 @@ sub new {
sub
run_create_validators
{
my
$class
=
shift
;
my
$params
=
$class
->
SUPER::
run_create_validators
(
@_
);
my
$product
=
delete
$params
->
{
product
};
$params
->
{
product_id
}
=
$product
->
id
;
$params
->
{
value
}
=
$class
->
_check_value
(
$params
->
{
name
},
$product
);
delete
$params
->
{
name
};
return
$params
;
}
...
...
@@ -165,7 +164,8 @@ sub remove_from_db {
################################
sub
_check_value
{
my
(
$invocant
,
$name
,
$product
)
=
@_
;
my
(
$invocant
,
$name
,
undef
,
$params
)
=
@_
;
my
$product
=
blessed
(
$invocant
)
?
$invocant
->
product
:
$params
->
{
product
};
$name
=
trim
(
$name
);
$name
||
ThrowUserError
(
'milestone_blank_name'
);
...
...
@@ -173,7 +173,6 @@ sub _check_value {
ThrowUserError
(
'milestone_name_too_long'
,
{
name
=>
$name
});
}
$product
=
$invocant
->
product
if
(
ref
$invocant
);
my
$milestone
=
new
Bugzilla::
Milestone
({
product
=>
$product
,
name
=>
$name
});
if
(
$milestone
&&
(
!
ref
$invocant
||
$milestone
->
id
!=
$invocant
->
id
))
{
ThrowUserError
(
'milestone_already_exists'
,
{
name
=>
$milestone
->
name
,
...
...
@@ -255,7 +254,7 @@ Bugzilla::Milestone - Bugzilla product milestone class.
my $sortkey = $milestone->sortkey;
my $milestone = Bugzilla::Milestone->create(
{
nam
e => $name, product => $product, sortkey => $sortkey });
{
valu
e => $name, product => $product, sortkey => $sortkey });
$milestone->set_name($new_name);
$milestone->set_sortkey($new_sortkey);
...
...
@@ -361,11 +360,11 @@ Milestone.pm represents a Product Milestone object.
=over
=item C<create({
name => $nam
e, product => $product, sortkey => $sortkey})>
=item C<create({
value => $valu
e, product => $product, sortkey => $sortkey})>
Description: Create a new milestone for the given product.
Params: $
name
- name of the new milestone (string). This name
Params: $
value
- name of the new milestone (string). This name
must be unique within the product.
$product - a Bugzilla::Product object.
$sortkey - the sortkey of the new milestone (signed integer)
...
...
Bugzilla/Product.pm
View file @
80130158
...
...
@@ -101,8 +101,8 @@ sub create {
Bugzilla
->
user
->
clear_product_cache
();
# Add the new version and milestone into the DB as valid values.
Bugzilla::
Version
->
create
({
name
=>
$version
,
product
=>
$product
});
Bugzilla::
Milestone
->
create
({
nam
e
=>
$product
->
default_milestone
,
Bugzilla::
Version
->
create
({
value
=>
$version
,
product
=>
$product
});
Bugzilla::
Milestone
->
create
({
valu
e
=>
$product
->
default_milestone
,
product
=>
$product
});
# Create groups and series for the new product, if requested.
...
...
Bugzilla/Version.pm
View file @
80130158
...
...
@@ -26,6 +26,8 @@ use Bugzilla::Install::Util qw(vers_cmp);
use
Bugzilla::
Util
;
use
Bugzilla::
Error
;
use
Scalar::
Util
qw(blessed)
;
################################
##### Initialization #####
################################
...
...
@@ -45,7 +47,7 @@ use constant DB_COLUMNS => qw(
)
;
use
constant
REQUIRED_CREATE_FIELDS
=>
qw(
nam
e
valu
e
product
)
;
...
...
@@ -55,10 +57,11 @@ use constant UPDATE_COLUMNS => qw(
use
constant
VALIDATORS
=>
{
product
=>
\&
_check_product
,
value
=>
\&
_check_value
,
};
use
constant
UPDATE_VALIDATOR
S
=>
{
value
=>
\&
_check_value
,
use
constant
VALIDATOR_DEPENDENCIE
S
=>
{
value
=>
[
'product'
]
,
};
################################
...
...
@@ -103,12 +106,8 @@ sub new_from_list {
sub
run_create_validators
{
my
$class
=
shift
;
my
$params
=
$class
->
SUPER::
run_create_validators
(
@_
);
my
$product
=
delete
$params
->
{
product
};
$params
->
{
product_id
}
=
$product
->
id
;
$params
->
{
value
}
=
$class
->
_check_value
(
$params
->
{
name
},
$product
);
delete
$params
->
{
name
};
return
$params
;
}
...
...
@@ -171,14 +170,14 @@ sub product {
sub
set_name
{
$_
[
0
]
->
set
(
'value'
,
$_
[
1
]);
}
sub
_check_value
{
my
(
$invocant
,
$name
,
$product
)
=
@_
;
my
(
$invocant
,
$name
,
undef
,
$params
)
=
@_
;
my
$product
=
blessed
(
$invocant
)
?
$invocant
->
product
:
$params
->
{
product
};
$name
=
trim
(
$name
);
$name
||
ThrowUserError
(
'version_blank_name'
);
# Remove unprintable characters
$name
=
clean_text
(
$name
);
$product
=
$invocant
->
product
if
(
ref
$invocant
);
my
$version
=
new
Bugzilla::
Version
({
product
=>
$product
,
name
=>
$name
});
if
(
$version
&&
(
!
ref
$invocant
||
$version
->
id
!=
$invocant
->
id
))
{
ThrowUserError
(
'version_already_exists'
,
{
name
=>
$version
->
name
,
...
...
@@ -211,7 +210,7 @@ Bugzilla::Version - Bugzilla product version class.
my $product = $version->product;
my $version = Bugzilla::Version->create(
{
nam
e => $name, product => $product });
{
valu
e => $name, product => $product });
$version->set_name($new_name);
$version->update();
...
...
editmilestones.cgi
View file @
80130158
...
...
@@ -115,7 +115,7 @@ if ($action eq 'add') {
if
(
$action
eq
'new'
)
{
check_token_data
(
$token
,
'add_milestone'
);
my
$milestone
=
Bugzilla::
Milestone
->
create
({
name
=>
$milestone_name
,
my
$milestone
=
Bugzilla::
Milestone
->
create
({
value
=>
$milestone_name
,
product
=>
$product
,
sortkey
=>
$sortkey
});
delete_token
(
$token
);
...
...
editversions.cgi
View file @
80130158
...
...
@@ -120,7 +120,7 @@ if ($action eq 'add') {
if
(
$action
eq
'new'
)
{
check_token_data
(
$token
,
'add_version'
);
my
$version
=
Bugzilla::
Version
->
create
(
{
name
=>
$version_name
,
product
=>
$product
});
{
value
=>
$version_name
,
product
=>
$product
});
delete_token
(
$token
);
$vars
->
{
'message'
}
=
'version_created'
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment