Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
best-practical
rt-extension-mergeusers
Commits
598d3def
Commit
598d3def
authored
Mar 27, 2014
by
Alex Vandiver
Browse files
Version 0.12 releng
parent
556a6cf4
Changes
5
Hide whitespace changes
Inline
Side-by-side
Changes
View file @
598d3def
0.12
0.12
Thu Mar 27 12:52:17 EST 2014
* Merge users as the current user, not always the superuser
* Propagate Disabled bit to users that are merged in
...
...
META.yml
View file @
598d3def
...
...
@@ -23,4 +23,4 @@ requires:
perl
:
5.8.3
resources
:
license
:
http://opensource.org/licenses/gpl-license.php
version
:
0.12
_03
version
:
0.12
Makefile.PL
View file @
598d3def
...
...
@@ -24,7 +24,8 @@ substitute( {
{
sufix
=>
'
.in
'
},
'
bin/rt-update-merged-users
',
'
bin/rt-merge-users
',
);
);
sign
();
auto_install
();
WriteAll
();
inc/Module/Install/RTx.pm
View file @
598d3def
...
...
@@ -8,7 +8,7 @@ no warnings 'once';
use
Module::Install::
Base
;
use
base
'
Module::Install::Base
';
our
$VERSION
=
'
0.3
2
';
our
$VERSION
=
'
0.3
3
';
use
FindBin
;
use
File::
Glob
();
...
...
@@ -88,6 +88,11 @@ sub RTx {
.
"
Upgrade to RT 3.8.1 or newer.
\n
"
if
$
RT::
VERSION
=~
/^3\.8\.0/
;
$path
{
$_
}
=
$
RT::
LocalPluginPath
.
"
/
$original_name
/
$_
"
foreach
@DIRS
;
# Copy RT 4.2.0 static files into NoAuth; insufficient for
# images, but good enough for css and js.
$path
{
static
}
=
"
$path
{html}/NoAuth/
"
unless
$
RT::
StaticPath
;
}
else
{
foreach
(
@DIRS
)
{
no
strict
'
refs
';
...
...
@@ -136,7 +141,9 @@ install ::
$has_etc
{acl}++;
}
if ( -e 'etc/initialdata' ) {
$has_etc
{initialdata}++; }
if ( -d 'etc/upgrade/' ) {
$has_etc
{upgrade}++; }
if ( grep { /
\
d+
\
.
\
d+
\
.
\
d+.*$/ } glob('etc/upgrade/*.*.*') ) {
$has_etc
{upgrade}++;
}
$self
->postamble(
"
$postamble
\
n
"
);
unless (
$subdirs
{'lib'} ) {
...
...
@@ -174,46 +181,50 @@ install ::
}
}
# stolen from RT::Handle so we work on 3.6 (cmp_versions came in with 3.8)
{ my %word = (
a => -4,
alpha => -4,
b => -3,
beta => -3,
pre => -2,
rc => -1,
head => 9999,
);
sub cmp_version($$) {
my (
$a
,
$b
) = (
@_
);
my
@a
= grep defined, map { /^[0-9]+$/?
$_
: /^[a-zA-Z]+$/?
$word
{
$_
}|| -10 : undef }
split /([^0-9]+)/,
$a
;
my
@b
= grep defined, map { /^[0-9]+$/?
$_
: /^[a-zA-Z]+$/?
$word
{
$_
}|| -10 : undef }
split /([^0-9]+)/,
$b
;
@a
>
@b
? push
@b
, (0) x (
@a
-
@b
)
: push
@a
, (0) x (
@b
-
@a
);
for ( my
$i
= 0;
$i
<
@a
;
$i
++ ) {
return
$a
[
$i
] <=>
$b
[
$i
] if
$a
[
$i
] <=>
$b
[
$i
];
}
return 0;
}}
sub requires_rt {
my (
$self
,
$version
) =
@_
;
# if we're exactly the same version as what we want, silently return
return if (
$version
eq
$RT
::VERSION);
my
@sorted
= sort cmp_version
$version
,
$RT
::VERSION;
_load_rt_handle();
my
@sorted
= sort RT::Handle::cmp_version
$version
,
$RT
::VERSION;
if (
$sorted
[-1] eq
$version
) {
# should we die?
warn
"
\
nWarning:
prerequisite
RT
$version
not
found
.
Your
installed
version
of
RT
(
$
RT::
VERSION
)
is
too
old
.\
n
\
n
"
;
die
"
\
nWarning:
prerequisite
RT
$version
not
found
.
Your
installed
version
of
RT
(
$
RT::
VERSION
)
is
too
old
.\
n
\
n
"
;
}
}
sub rt_too_new {
my (
$self
,
$version
,
$msg
) =
@_
;
$msg
||=
"
Your
version
%s
is
too
new
,
this
extension
requires
a
release
of
RT
older
than
%s
\
n
"
;
_load_rt_handle();
my
@sorted
= sort RT::Handle::cmp_version
$version
,
$RT
::VERSION;
if (
$sorted
[0] eq
$version
) {
die sprintf(
$msg
,
$RT
::VERSION,
$version
);
}
}
# RT::Handle runs FinalizeDatabaseType which calls RT->Config->Get
# On 3.8, this dies. On 4.0/4.2 ->Config transparently runs LoadConfig.
# LoadConfig requires being able to read RT_SiteConfig.pm (root) so we'd
# like to avoid pushing that on users.
# Fake up just enough Config to let FinalizeDatabaseType finish, and
# anyone later calling LoadConfig will overwrite our shenanigans.
sub _load_rt_handle {
unless (
$RT
::Config) {
require RT::Config;
$RT
::Config = RT::Config->new;
RT->Config->Set('DatabaseType','mysql');
}
require RT::Handle;
}
1;
__END__
#line 3
3
6
#line 36
7
lib/RT/Extension/MergeUsers.pm
View file @
598d3def
...
...
@@ -49,7 +49,7 @@ use warnings; no warnings qw(redefine);
package
RT::Extension::
MergeUsers
;
our
$VERSION
=
'
0.12
_03
';
our
$VERSION
=
'
0.12
';
=head1 NAME
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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