Mercurial > p > roundup > code
annotate website/issues/detectors/statusauditor.py @ 8566:e4191aa7b402 default tip
doc: issue2551415 correct doc for change input->input_payload
in 2.5 the rest interface changed a variable name from input to
input_payload. An earlier commit changed the rest docs. This commit
adds an item for it to the upgrading 2.4.0->2.5.0 section. Also cross
reference added to the rest docs with the updated examples.
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Thu, 09 Apr 2026 00:19:06 -0400 |
| parents | 13e8f188f8dd |
| children |
| rev | line source |
|---|---|
|
4024
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
1 def preset_new(db, cl, nodeid, newvalues): |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
2 """ Make sure the status is set on new issues""" |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
3 |
|
5381
0942fe89e82e
Python 3 preparation: change "x.has_key(y)" to "y in x".
Joseph Myers <jsm@polyomino.org.uk>
parents:
4024
diff
changeset
|
4 if 'status' in newvalues and newvalues['status']: |
|
4024
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
5 return |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
6 |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
7 new = db.status.lookup('new') |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
8 newvalues['status'] = new |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
9 |
|
6424
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
10 def update_pending(db, cl, nodeid, newvalues): |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
11 ''' If the issue is currently 'pending' and person other than assigned |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
12 updates it, then set it to 'open'. |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
13 ''' |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
14 # don't fire if there's no new message (ie. update) |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
15 if 'messages' not in newvalues: |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
16 return |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
17 if newvalues['messages'] == cl.get(nodeid, 'messages'): |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
18 return |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
19 |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
20 # get the open state ID |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
21 try: |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
22 open_id = db.status.lookup('open') |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
23 except KeyError: |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
24 # no open state, ignore all this stuff |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
25 return |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
26 |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
27 # get the current value |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
28 current_status = cl.get(nodeid, 'status') |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
29 |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
30 # see if there's an explicit change in this transaction |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
31 if 'status' in newvalues: |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
32 # yep, skip |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
33 return |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
34 |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
35 assignee = cl.get(nodeid, 'assignee') |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
36 if assignee == db.getuid(): |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
37 # this change is brought to you by the assignee and number 4 |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
38 # so don't change status. |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
39 return |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
40 |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
41 # determine the id of 'pending' |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
42 fromstates = [] |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
43 for state in 'pending'.split(): |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
44 try: |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
45 fromstates.append(db.status.lookup(state)) |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
46 except KeyError: |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
47 pass |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
48 |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
49 # ok, there's no explicit change, so check if we are in a state that |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
50 # should be changed |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
51 if current_status in fromstates + [None]: |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
52 # yep, we're now open |
|
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
53 newvalues['status'] = open_id |
|
4024
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
54 |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
55 def init(db): |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
56 # fire before changes are made |
|
c2d0d3e9099d
svn repository setup
Stefan Seefeld <stefan@users.sourceforge.net>
parents:
diff
changeset
|
57 db.issue.audit('create', preset_new) |
|
6424
13e8f188f8dd
Add pending -> open auditor; fix meta tag description
John Rouillard <rouilj@ieee.org>
parents:
5381
diff
changeset
|
58 db.issue.audit('set', update_pending) |
