@@ -176,8 +176,10 @@ def needed_ballot_positions(doc, active_positions):
176176
177177 return " " .join (answer )
178178
179- def create_ballot (doc , by , ballot_slug , time = None ):
180- close_open_ballots (doc , by )
179+ def create_ballot (request , doc , by , ballot_slug , time = None ):
180+ closed = close_open_ballots (doc , by )
181+ for e in closed :
182+ messages .warning (request , "Closed earlier open ballot created %s on '%s' for %s" % (e .time .strftime ('%Y-%m-%d %H:%M' ), e .ballot_type , e .doc .name , ))
181183 if time :
182184 e = BallotDocEvent (type = "created_ballot" , by = by , doc = doc , rev = doc .rev , time = time )
183185 else :
@@ -203,15 +205,21 @@ def create_ballot_if_not_open(request, doc, by, ballot_slug, time=None):
203205 return None
204206
205207def close_ballot (doc , by , ballot_slug ):
206- if doc .ballot_open (ballot_slug ):
208+ b = doc .ballot_open (ballot_slug )
209+ if b :
207210 e = BallotDocEvent (type = "closed_ballot" , doc = doc , rev = doc .rev , by = by )
208211 e .ballot_type = BallotType .objects .get (doc_type = doc .type ,slug = ballot_slug )
209212 e .desc = 'Closed "%s" ballot' % e .ballot_type .name
210213 e .save ()
214+ return b
211215
212216def close_open_ballots (doc , by ):
217+ closed = []
213218 for t in BallotType .objects .filter (doc_type = doc .type_id ):
214- close_ballot (doc , by , t .slug )
219+ e = close_ballot (doc , by , t .slug )
220+ if e :
221+ closed .append (e )
222+ return closed
215223
216224def get_chartering_type (doc ):
217225 chartering = ""
0 commit comments