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-formtools
Commits
04db8203
Commit
04db8203
authored
Apr 04, 2014
by
Alex Vandiver
Browse files
Releng for 0.15
parent
16f9d0ab
Changes
2
Hide whitespace changes
Inline
Side-by-side
inc/Module/Install/RTx.pm
View file @
04db8203
...
...
@@ -8,7 +8,7 @@ no warnings 'once';
use
Module::Install::
Base
;
use
base
'
Module::Install::Base
';
our
$VERSION
=
'
0.3
1
';
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,6 +141,9 @@ install ::
$has_etc
{acl}++;
}
if ( -e 'etc/initialdata' ) {
$has_etc
{initialdata}++; }
if ( grep { /
\
d+
\
.
\
d+
\
.
\
d+.*$/ } glob('etc/upgrade/*.*.*') ) {
$has_etc
{upgrade}++;
}
$self
->postamble(
"
$postamble
\
n
"
);
unless (
$subdirs
{'lib'} ) {
...
...
@@ -164,49 +172,59 @@ install ::
.
$self
->postamble(
"
initdb
::\
n$initdb
\
n
"
);
$self
->postamble(
"
initialize
-
database
::\
n$initdb
\
n
"
);
if (
$has_etc
{upgrade}) {
print
"
To
upgrade
from
a
previous
version
of
this
extension
,
use
'
make upgrade-database
'
\
n
"
;
my
$upgradedb
= qq|
\t\$
(NOECHO)
\$
(PERL) -Ilib -I
"
$local_lib_path
"
-I
"
$lib_path
"
-Minc::Module::Install -e
"
RTxInitDB
(
qw(upgrade \$(NAME) \$(VERSION))
)"
\n
|;
$self
->postamble(
"
upgrade
-
database
::\
n$upgradedb
\
n
"
);
$self
->postamble(
"
upgradedb
::\
n$upgradedb
\
n
"
);
}
}
}
# 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
29
#line 3
67
lib/RT/Extension/FormTools.pm
View file @
04db8203
...
...
@@ -3,7 +3,7 @@ use strict;
package
RT::Extension::
FormTools
;
our
$VERSION
=
'
0.1
4
';
our
$VERSION
=
'
0.1
5
';
=head2 is_core_field
...
...
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