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
f9e9cf25
Commit
f9e9cf25
authored
Dec 03, 2014
by
Gervase Markham
Committed by
Dylan William Hardison
Dec 05, 2014
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug 1102899 - Remove OldBugMove extension. a=glob.
parent
c0dbbc6e
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
0 additions
and
355 deletions
+0
-355
Config.pm
extensions/OldBugMove/Config.pm
+0
-15
Extension.pm
extensions/OldBugMove/Extension.pm
+0
-200
disabled
extensions/OldBugMove/disabled
+0
-0
Params.pm
extensions/OldBugMove/lib/Params.pm
+0
-38
oldbugmove.html.tmpl
...ove/template/en/default/admin/params/oldbugmove.html.tmpl
+0
-27
edit-after_comment_textarea.html.tmpl
...en/default/hook/bug/edit-after_comment_textarea.html.tmpl
+0
-15
format_comment-type.txt.tmpl
...template/en/default/hook/bug/format_comment-type.txt.tmpl
+0
-17
user-error-auth_failure_action.html.tmpl
...ault/hook/global/user-error-auth_failure_action.html.tmpl
+0
-11
user-error-errors.html.tmpl
...mplate/en/default/hook/global/user-error-errors.html.tmpl
+0
-17
edit-multiple-after_groups.html.tmpl
...en/default/hook/list/edit-multiple-after_groups.html.tmpl
+0
-15
No files found.
extensions/OldBugMove/Config.pm
deleted
100644 → 0
View file @
c0dbbc6e
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This Source Code Form is "Incompatible With Secondary Licenses", as
# defined by the Mozilla Public License, v. 2.0.
package
Bugzilla::Extension::
OldBugMove
;
use
5.10.1
;
use
strict
;
use
warnings
;
use
constant
NAME
=>
'OldBugMove'
;
__PACKAGE__
->
NAME
;
extensions/OldBugMove/Extension.pm
deleted
100644 → 0
View file @
c0dbbc6e
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This Source Code Form is "Incompatible With Secondary Licenses", as
# defined by the Mozilla Public License, v. 2.0.
package
Bugzilla::Extension::
OldBugMove
;
use
5.10.1
;
use
strict
;
use
warnings
;
use
parent
qw(Bugzilla::Extension)
;
use
Bugzilla::
Constants
;
use
Bugzilla::
Error
;
use
Bugzilla::Field::
Choice
;
use
Bugzilla::
Mailer
;
use
Bugzilla::
User
;
use
Bugzilla::
Util
qw(trim)
;
use
Scalar::
Util
qw(blessed)
;
use
Storable
qw(dclone)
;
use
constant
VERSION
=>
BUGZILLA_VERSION
;
# This is 4 because that's what it originally was when this code was
# a part of Bugzilla.
use
constant
CMT_MOVED_TO
=>
4
;
sub
install_update_db
{
my
$reso_type
=
Bugzilla::Field::
Choice
->
type
(
'resolution'
);
my
$moved_reso
=
$reso_type
->
new
({
name
=>
'MOVED'
});
# We make the MOVED resolution inactive, so that it doesn't show up
# as a valid drop-down option.
if
(
$moved_reso
)
{
$moved_reso
->
set_is_active
(
0
);
$moved_reso
->
update
();
}
else
{
print
"Creating the MOVED resolution...\n"
;
$reso_type
->
create
(
{
value
=>
'MOVED'
,
sortkey
=>
'30000'
,
isactive
=>
0
});
}
}
sub
config_add_panels
{
my
(
$self
,
$args
)
=
@_
;
my
$modules
=
$args
->
{
'panel_modules'
};
$modules
->
{
'OldBugMove'
}
=
'Bugzilla::Extension::OldBugMove::Params'
;
}
sub
template_before_create
{
my
(
$self
,
$args
)
=
@_
;
my
$config
=
$args
->
{
config
};
my
$constants
=
$config
->
{
CONSTANTS
};
$constants
->
{
CMT_MOVED_TO
}
=
CMT_MOVED_TO
;
my
$vars
=
$config
->
{
VARIABLES
};
$vars
->
{
oldbugmove_user_is_mover
}
=
\&
_user_is_mover
;
}
sub
object_before_delete
{
my
(
$self
,
$args
)
=
@_
;
my
$object
=
$args
->
{
'object'
};
if
(
$object
->
isa
(
'Bugzilla::Field::Choice::resolution'
))
{
if
(
$object
->
name
eq
'MOVED'
)
{
ThrowUserError
(
'oldbugmove_no_delete_moved'
);
}
}
}
sub
object_before_set
{
my
(
$self
,
$args
)
=
@_
;
my
(
$object
,
$field
)
=
@$args
{
qw(object field)
};
if
(
$field
eq
'resolution'
and
$object
->
isa
(
'Bugzilla::Bug'
))
{
# Store the old value so that end_of_set can check it.
$object
->
{
'_oldbugmove_old_resolution'
}
=
$object
->
resolution
;
}
}
sub
object_end_of_set
{
my
(
$self
,
$args
)
=
@_
;
my
(
$object
,
$field
)
=
@$args
{
qw(object field)
};
if
(
$field
eq
'resolution'
and
$object
->
isa
(
'Bugzilla::Bug'
))
{
my
$old_value
=
delete
$object
->
{
'_oldbugmove_old_resolution'
};
return
if
$old_value
eq
$object
->
resolution
;
if
(
$object
->
resolution
eq
'MOVED'
)
{
$object
->
add_comment
(
''
,
{
type
=>
CMT_MOVED_TO
,
extra_data
=>
Bugzilla
->
user
->
login
});
}
}
}
sub
object_end_of_set_all
{
my
(
$self
,
$args
)
=
@_
;
my
$object
=
$args
->
{
'object'
};
if
(
$object
->
isa
(
'Bugzilla::Bug'
)
and
Bugzilla
->
input_params
->
{
'oldbugmove'
})
{
my
$new_status
=
Bugzilla
->
params
->
{
'duplicate_or_move_bug_status'
};
$object
->
set_bug_status
(
$new_status
,
{
resolution
=>
'MOVED'
});
}
}
sub
object_validators
{
my
(
$self
,
$args
)
=
@_
;
my
(
$class
,
$validators
)
=
@$args
{
qw(class validators)
};
if
(
$class
->
isa
(
'Bugzilla::Comment'
))
{
my
$extra_data_validator
=
$validators
->
{
extra_data
};
$validators
->
{
extra_data
}
=
sub
{
_check_comment_extra_data
(
$extra_data_validator
,
@_
)
};
}
elsif
(
$class
->
isa
(
'Bugzilla::Bug'
))
{
my
$reso_validator
=
$validators
->
{
resolution
};
$validators
->
{
resolution
}
=
sub
{
_check_bug_resolution
(
$reso_validator
,
@_
)
};
}
}
sub
_check_bug_resolution
{
my
$original_validator
=
shift
;
my
(
$invocant
,
$resolution
)
=
@_
;
if
(
$resolution
eq
'MOVED'
&&
$invocant
->
resolution
ne
'MOVED'
&&
!
Bugzilla
->
input_params
->
{
'oldbugmove'
})
{
# MOVED has a special meaning and can only be used when
# really moving bugs to another installation.
ThrowUserError
(
'oldbugmove_no_manual_move'
);
}
return
$original_validator
->
(
@_
);
}
sub
_check_comment_extra_data
{
my
$original_validator
=
shift
;
my
(
$invocant
,
$extra_data
,
undef
,
$params
)
=
@_
;
my
$type
=
blessed
(
$invocant
)
?
$invocant
->
type
:
$params
->
{
type
};
if
(
$type
==
CMT_MOVED_TO
)
{
return
Bugzilla::
User
->
check
(
$extra_data
)
->
login
;
}
return
$original_validator
->
(
@_
);
}
sub
bug_end_of_update
{
my
(
$self
,
$args
)
=
@_
;
my
(
$bug
,
$old_bug
,
$changes
)
=
@$args
{
qw(bug old_bug changes)
};
if
(
defined
$changes
->
{
'resolution'
}
and
$changes
->
{
'resolution'
}
->
[
1
]
eq
'MOVED'
)
{
$self
->
_move_bug
(
$bug
,
$old_bug
);
}
}
sub
_move_bug
{
my
(
$self
,
$bug
,
$old_bug
)
=
@_
;
my
$dbh
=
Bugzilla
->
dbh
;
my
$template
=
Bugzilla
->
template
;
_user_is_mover
(
Bugzilla
->
user
)
or
ThrowUserError
(
"auth_failure"
,
{
action
=>
'move'
,
object
=>
'bugs'
});
# Don't export the new status and resolution. We want the current
# ones.
local
$
Storable::
forgive_me
=
1
;
my
$export_me
=
dclone
(
$bug
);
$export_me
->
{
bug_status
}
=
$old_bug
->
bug_status
;
delete
$export_me
->
{
status
};
$export_me
->
{
resolution
}
=
$old_bug
->
resolution
;
# Prepare and send all data about these bugs to the new database
my
$to
=
Bugzilla
->
params
->
{
'move-to-address'
};
$to
=~
s/@/\@/
;
my
$from
=
Bugzilla
->
params
->
{
'mailfrom'
};
$from
=~
s/@/\@/
;
my
$msg
=
"To: $to\n"
;
$msg
.=
"From: Bugzilla <"
.
$from
.
">\n"
;
$msg
.=
"Subject: Moving bug "
.
$bug
->
id
.
"\n\n"
;
my
@fieldlist
=
(
Bugzilla::
Bug
->
fields
,
'group'
,
'long_desc'
,
'attachment'
,
'attachmentdata'
);
my
%
displayfields
=
map
{
$_
=>
1
}
@fieldlist
;
my
$vars
=
{
bugs
=>
[
$export_me
],
displayfields
=>
\%
displayfields
};
$template
->
process
(
"bug/show.xml.tmpl"
,
$vars
,
\
$msg
)
||
ThrowTemplateError
(
$template
->
error
());
$msg
.=
"\n"
;
MessageToMTA
(
$msg
);
}
sub
_user_is_mover
{
my
$user
=
shift
;
my
@movers
=
map
{
trim
(
$_
)
}
split
(
','
,
Bugzilla
->
params
->
{
'movers'
});
return
(
$user
->
id
and
grep
(
$_
eq
$user
->
login
,
@movers
))
?
1
:
0
;
}
__PACKAGE__
->
NAME
;
extensions/OldBugMove/disabled
deleted
100644 → 0
View file @
c0dbbc6e
extensions/OldBugMove/lib/Params.pm
deleted
100644 → 0
View file @
c0dbbc6e
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This Source Code Form is "Incompatible With Secondary Licenses", as
# defined by the Mozilla Public License, v. 2.0.
package
Bugzilla::Extension::OldBugMove::
Params
;
use
5.10.1
;
use
strict
;
use
warnings
;
use
Bugzilla::Config::
Common
;
our
$sortkey
=
700
;
use
constant
get_param_list
=>
(
{
name
=>
'move-to-url'
,
type
=>
't'
,
default
=>
''
},
{
name
=>
'move-to-address'
,
type
=>
't'
,
default
=>
'bugzilla-import'
},
{
name
=>
'movers'
,
type
=>
't'
,
default
=>
''
},
);
1
;
extensions/OldBugMove/template/en/default/admin/params/oldbugmove.html.tmpl
deleted
100644 → 0
View file @
c0dbbc6e
[%# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This Source Code Form is "Incompatible With Secondary Licenses", as
# defined by the Mozilla Public License, v. 2.0.
#%]
[%
title = "$terms.Bug Moving"
desc = "Set up parameters to move $terms.bugs to/from another installation"
%]
[% param_descs = {
"move-to-url" =>
"The URL of the database we allow some of our $terms.bugs to"
_ " be moved to.",
"move-to-address" =>
"To move ${terms.bugs}, an email is sent to the target database."
_ " This is the email address that that database uses to listen"
_ " for incoming ${terms.bugs}.",
movers =>
"A list of people with permission to move $terms.bugs ",
} %]
extensions/OldBugMove/template/en/default/hook/bug/edit-after_comment_textarea.html.tmpl
deleted
100644 → 0
View file @
c0dbbc6e
[%# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This Source Code Form is "Incompatible With Secondary Licenses", as
# defined by the Mozilla Public License, v. 2.0.
#%]
[% IF oldbugmove_user_is_mover(user) AND bug.resolution != 'MOVED' %]
<p>
<input type="submit" id="oldbugmove" name="oldbugmove"
value="Move [% terms.Bug FILTER html %] to
[%= Param('move-to-url') FILTER html %]">
</p>
[% END %]
extensions/OldBugMove/template/en/default/hook/bug/format_comment-type.txt.tmpl
deleted
100644 → 0
View file @
c0dbbc6e
[%# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This Source Code Form is "Incompatible With Secondary Licenses", as
# defined by the Mozilla Public License, v. 2.0.
#%]
[% IF comment.type == constants.CMT_MOVED_TO %]
[% comment.body %]
[%+ terms.Bug %] moved to [% Param("move-to-url") %].
If the move succeeded, [% comment.extra_data FILTER email %] will receive a mail
containing the number of the new [% terms.bug %] in the other database.
If all went well, please paste in a link to the new [% terms.bug %].
Otherwise, reopen this [% terms.bug %].
[% END %]
extensions/OldBugMove/template/en/default/hook/global/user-error-auth_failure_action.html.tmpl
deleted
100644 → 0
View file @
c0dbbc6e
[%# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This Source Code Form is "Incompatible With Secondary Licenses", as
# defined by the Mozilla Public License, v. 2.0.
#%]
[% IF action == "move" %]
move
[% END %]
extensions/OldBugMove/template/en/default/hook/global/user-error-errors.html.tmpl
deleted
100644 → 0
View file @
c0dbbc6e
[%# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This Source Code Form is "Incompatible With Secondary Licenses", as
# defined by the Mozilla Public License, v. 2.0.
#%]
[% IF error == "oldbugmove_no_delete_moved" %]
As long as the OldBugMove extension is active, you cannot
delete the [%+ display_value("resolution", "MOVED") FILTER html %]
resolution.
[% ELSIF error == "oldbugmove_no_manual_move" %]
You cannot set the resolution of [% terms.abug %] to
[%+ display_value("resolution", "MOVED") FILTER html %] without
moving the [% terms.bug %].
[% END %]
extensions/OldBugMove/template/en/default/hook/list/edit-multiple-after_groups.html.tmpl
deleted
100644 → 0
View file @
c0dbbc6e
[%# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# This Source Code Form is "Incompatible With Secondary Licenses", as
# defined by the Mozilla Public License, v. 2.0.
#%]
[% IF oldbugmove_user_is_mover(user) %]
<p>
<input type="submit" id="oldbugmove" name="oldbugmove"
value="Move [% terms.Bugs FILTER html %] to
[%= Param('move-to-url') FILTER html %]">
</p>
[% END %]
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