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
be1c9700
Commit
be1c9700
authored
Sep 21, 2009
by
mkanat%bugzilla.org
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bug 496855: Hooks for sanitycheck.cgi
Patch by Bradley Baetz <bbaetz@acm.org> r=mkanat, a=mkanat
parent
3e0d373b
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
173 additions
and
1 deletion
+173
-1
Hook.pm
Bugzilla/Hook.pm
+28
-0
sanitycheck-check.pl
extensions/example/code/sanitycheck-check.pl
+44
-0
sanitycheck-repair.pl
extensions/example/code/sanitycheck-repair.pl
+38
-0
messages-statuses.html.tmpl
...template/en/admin/sanitycheck/messages-statuses.html.tmpl
+35
-0
sanitycheck.cgi
sanitycheck.cgi
+17
-1
messages.html.tmpl
template/en/default/admin/sanitycheck/messages.html.tmpl
+11
-0
No files found.
Bugzilla/Hook.pm
View file @
be1c9700
...
@@ -556,6 +556,34 @@ Params:
...
@@ -556,6 +556,34 @@ Params:
=back
=back
=head2 sanitycheck-check
This hook allows for extra sanity checks to be added, for use by
F<sanitycheck.cgi>.
Params:
=over
=item C<status> - a CODEREF that allows status messages to be displayed
to the user. (F<sanitycheck.cgi>'s C<Status>)
=back
=head2 sanitycheck-repair
This hook allows for extra sanity check repairs to be made, for use by
F<sanitycheck.cgi>.
Params:
=over
=item C<status> - a CODEREF that allows status messages to be displayed
to the user. (F<sanitycheck.cgi>'s C<Status>)
=back
=head2 webservice
=head2 webservice
This hook allows you to add your own modules to the WebService. (See
This hook allows you to add your own modules to the WebService. (See
...
...
extensions/example/code/sanitycheck-check.pl
0 → 100644
View file @
be1c9700
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Example Plugin.
#
# The Initial Developer of the Original Code is ITA Softwware.
# Portions created by the Initial Developer are Copyright (C) 2009
# the Initial Developer. All Rights Reserved.
#
# Contributor(s): Bradley Baetz <bbaetz@everythingsolved.com>
use
strict
;
my
$dbh
=
Bugzilla
->
dbh
;
my
$sth
;
my
$status
=
Bugzilla
->
hook_args
->
{
'status'
};
# Check that all users are Australian
$status
->
(
'example_check_au_user'
);
my
$sth
=
$dbh
->
prepare
(
"SELECT userid, login_name
FROM profiles
WHERE login_name NOT LIKE '%.au'"
);
$sth
->
execute
;
my
$seen_nonau
=
0
;
while
(
my
(
$userid
,
$login
,
$numgroups
)
=
$sth
->
fetchrow_array
)
{
$status
->
(
'example_check_au_user_alert'
,
{
userid
=>
$userid
,
login
=>
$login
},
'alert'
);
$seen_nonau
=
1
;
}
$status
->
(
'example_check_au_user_prompt'
)
if
$seen_nonau
;
extensions/example/code/sanitycheck-repair.pl
0 → 100644
View file @
be1c9700
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Example Plugin.
#
# The Initial Developer of the Original Code is ITA Software.
# Portions created by the Initial Developer are Copyright (C) 2009
# the Initial Developer. All Rights Reserved.
#
# Contributor(s): Bradley Baetz <bbaetz@everythingsolved.com>
use
strict
;
use
Bugzilla
;
my
$cgi
=
Bugzilla
->
cgi
;
my
$dbh
=
Bugzilla
->
dbh
;
my
$status
=
Bugzilla
->
hook_args
->
{
'status'
};
if
(
$cgi
->
param
(
'example_repair_au_user'
))
{
$status
->
(
'example_repair_au_user_start'
);
#$dbh->do("UPDATE profiles
# SET login_name = CONCAT(login_name, '.au')
# WHERE login_name NOT LIKE '%.au'");
$status
->
(
'example_repair_au_user_end'
);
}
extensions/example/template/en/admin/sanitycheck/messages-statuses.html.tmpl
0 → 100644
View file @
be1c9700
[
%
# -*- Mode: perl; indent-tabs-mode: nil -*-
#
# The contents of this file are subject to the Mozilla Public
# License Version 1.1 (the "License"); you may not use this file
# except in compliance with the License. You may obtain a copy of
# the License at http://www.mozilla.org/MPL/
#
# Software distributed under the License is distributed on an "AS
# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
# implied. See the License for the specific language governing
# rights and limitations under the License.
#
# The Original Code is the Bugzilla Example Plugin.
#
# The Initial Developer of the Original Code is ITA Software
# Portions created by the Initial Developer are Copyright (C) 2009
# the Initial Developer. All Rights Reserved.
#
# Contributor(s): Bradley Baetz <bbaetz@everythingsolved.com>
#%]
[
%
IF
san_tag
==
"example_check_au_user"
%
]
<
em
>
EXAMPLE
PLUGIN
</
em
>
-
Checking
for
non
-
Australian
users
.
[
%
ELSIF
san_tag
==
"example_check_au_user_alert"
%
]
User
&
lt
;[
%
login
FILTER
html
%
]
&
gt
;
isn
't Australian.
[% IF user.in_group('
editusers
'
)
%
]
<
a
href
=
"editusers.cgi?id=[% userid FILTER none %]"
>
Edit
this
user
</
a
>.
[
%
END
%
]
[
%
ELSIF
san_tag
==
"example_check_au_user_prompt"
%
]
<
a
href
=
"sanitycheck.cgi?example_repair_au_user=1"
>
Fix
these
users
</
a
>.
[
%
ELSIF
san_tag
==
"example_repair_au_user_start"
%
]
<
em
>
EXAMPLE
PLUGIN
</
em
>
-
OK
,
would
now
make
users
Australian
.
[
%
ELSIF
san_tag
==
"example_repair_au_user_end"
%
]
<
em
>
EXAMPLE
PLUGIN
</
em
>
-
Users
would
now
be
Australian
.
[
%
END
%
]
sanitycheck.cgi
View file @
be1c9700
...
@@ -31,8 +31,9 @@ use lib qw(. lib);
...
@@ -31,8 +31,9 @@ use lib qw(. lib);
use
Bugzilla
;
use
Bugzilla
;
use
Bugzilla::
Bug
;
use
Bugzilla::
Bug
;
use
Bugzilla::
Constants
;
use
Bugzilla::
Constants
;
use
Bugzilla::
Util
;
use
Bugzilla::
Error
;
use
Bugzilla::
Error
;
use
Bugzilla::
Hook
;
use
Bugzilla::
Util
;
use
Bugzilla::
Status
;
use
Bugzilla::
Status
;
###########################################################################
###########################################################################
...
@@ -383,6 +384,15 @@ if ($cgi->param('remove_old_whine_targets')) {
...
@@ -383,6 +384,15 @@ if ($cgi->param('remove_old_whine_targets')) {
Status
(
'whines_obsolete_target_deletion_end'
);
Status
(
'whines_obsolete_target_deletion_end'
);
}
}
###########################################################################
# Repair hook
###########################################################################
Bugzilla::Hook::
process
(
"sanitycheck-repair"
,
{
status
=>
\&
Status
});
###########################################################################
# Checks
###########################################################################
Status
(
'checks_start'
);
Status
(
'checks_start'
);
###########################################################################
###########################################################################
...
@@ -1062,6 +1072,12 @@ foreach my $target (['groups', 'id', MAILTO_GROUP],
...
@@ -1062,6 +1072,12 @@ foreach my $target (['groups', 'id', MAILTO_GROUP],
Status
(
'whines_obsolete_target_fix'
)
if
$display_repair_whines_link
;
Status
(
'whines_obsolete_target_fix'
)
if
$display_repair_whines_link
;
###########################################################################
###########################################################################
# Check hook
###########################################################################
Bugzilla::Hook::
process
(
"sanitycheck-check"
,
{
status
=>
\&
Status
});
###########################################################################
# End
# End
###########################################################################
###########################################################################
...
...
template/en/default/admin/sanitycheck/messages.html.tmpl
View file @
be1c9700
...
@@ -313,6 +313,17 @@
...
@@ -313,6 +313,17 @@
<a href="sanitycheck.cgi?remove_old_whine_targets=1">Click here to
<a href="sanitycheck.cgi?remove_old_whine_targets=1">Click here to
remove old users/groups</a>
remove old users/groups</a>
[% ELSE %]
[% message = Hook.process("statuses") %]
[% IF message %]
[% message FILTER none %]
[% ELSE %]
The status message string <code>[% san_tag FILTER html %]</code>
was not found. Please send email to [% Param("maintainer") %] describing
the steps taken to obtain this message.
[% END %]
[% END %]
[% END %]
[% END %]
[% 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