Mercurial > p > roundup > code
view website/issues/detectors/statusauditor.py @ 7743:79779293d77b
doc: add reference to full email address and purpose for lists
Added purpose for lists to the mailing list table. Also added headers.
Some grammar fixups. Promote WebChat IRC interface over client
interface as many people don't have clients installed anymore 8-(.
Added a sentence that guides the user to the address of the mailing
list. I added this after getting an issue about a request that should
have gone to the mailing list. I realised there was no reference to
the mailing lists' domain: @lists.sourceforge.net on the contact page.
I think the linked subscribe page used to provide a hint, but it
doesn't look like it does anymore.
I wonder if we should add a mailto: link there? Does sphinx obscure it
enough to prevent bot spamming?
| author | John Rouillard <rouilj@ieee.org> |
|---|---|
| date | Wed, 21 Feb 2024 12:38:05 -0500 |
| parents | 13e8f188f8dd |
| children |
line wrap: on
line source
def preset_new(db, cl, nodeid, newvalues): """ Make sure the status is set on new issues""" if 'status' in newvalues and newvalues['status']: return new = db.status.lookup('new') newvalues['status'] = new def update_pending(db, cl, nodeid, newvalues): ''' If the issue is currently 'pending' and person other than assigned updates it, then set it to 'open'. ''' # don't fire if there's no new message (ie. update) if 'messages' not in newvalues: return if newvalues['messages'] == cl.get(nodeid, 'messages'): return # get the open state ID try: open_id = db.status.lookup('open') except KeyError: # no open state, ignore all this stuff return # get the current value current_status = cl.get(nodeid, 'status') # see if there's an explicit change in this transaction if 'status' in newvalues: # yep, skip return assignee = cl.get(nodeid, 'assignee') if assignee == db.getuid(): # this change is brought to you by the assignee and number 4 # so don't change status. return # determine the id of 'pending' fromstates = [] for state in 'pending'.split(): try: fromstates.append(db.status.lookup(state)) except KeyError: pass # ok, there's no explicit change, so check if we are in a state that # should be changed if current_status in fromstates + [None]: # yep, we're now open newvalues['status'] = open_id def init(db): # fire before changes are made db.issue.audit('create', preset_new) db.issue.audit('set', update_pending)
