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
Hide 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:
=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
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);
use
Bugzilla
;
use
Bugzilla::
Bug
;
use
Bugzilla::
Constants
;
use
Bugzilla::
Util
;
use
Bugzilla::
Error
;
use
Bugzilla::
Hook
;
use
Bugzilla::
Util
;
use
Bugzilla::
Status
;
###########################################################################
...
...
@@ -383,6 +384,15 @@ if ($cgi->param('remove_old_whine_targets')) {
Status
(
'whines_obsolete_target_deletion_end'
);
}
###########################################################################
# Repair hook
###########################################################################
Bugzilla::Hook::
process
(
"sanitycheck-repair"
,
{
status
=>
\&
Status
});
###########################################################################
# Checks
###########################################################################
Status
(
'checks_start'
);
###########################################################################
...
...
@@ -1062,6 +1072,12 @@ foreach my $target (['groups', 'id', MAILTO_GROUP],
Status
(
'whines_obsolete_target_fix'
)
if
$display_repair_whines_link
;
###########################################################################
# Check hook
###########################################################################
Bugzilla::Hook::
process
(
"sanitycheck-check"
,
{
status
=>
\&
Status
});
###########################################################################
# End
###########################################################################
...
...
template/en/default/admin/sanitycheck/messages.html.tmpl
View file @
be1c9700
...
...
@@ -313,6 +313,17 @@
<a href="sanitycheck.cgi?remove_old_whine_targets=1">Click here to
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 %]
...
...
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