def delete_voters(self, election, data): self.voters_task(election, data, 'delete_voters') voter_set = models.get_voter_set(election) for voter in data['voters']: voter_set.discard(voter) out = {'status': 'OK', 'msg': 'Deleting', 'voters': sorted(list(voter_set))} self.response.write(json.dumps(out))
def delete_voters(self, election, data): self.voters_task(election, data, 'delete_voters') voter_set = models.get_voter_set(election) for voter in data['voters']: voter_set.discard(voter) out = {'status': 'OK', 'msg': 'Adding', 'voters': sorted(list(voter_set))} self.response.write(json.dumps(out))
def get(self): # Authenticate user voter = auth.get_voter(self) status = models.get_admin_status(voter) if not status: webapputils.render_page(self, '/templates/message', {'status': 'Not Authorized', 'msg': MSG_NOT_AUTHORIZED}) return # Get election election = auth.get_election() if not election: panel = get_panel( PAGE_URL, {'status': 'ERROR','msg': 'No election found.'}, None) webapputils.render_page_content(self, PAGE_URL, panel) return if election.universal: panel = get_panel( PAGE_URL, {'status': 'Universal Election', 'msg': 'This is a universal election, anyone with a valid ' 'NetID can vote for. Therefore you cannot manage ' 'the voters list.'}, None) webapputils.render_page_content(self, PAGE_URL, panel) return data = {'status': 'OK', 'id': str(election.key()), 'voters': sorted(list(models.get_voter_set(election)))} logging.info(data) panel = get_panel(PAGE_URL, data, data.get('id')) webapputils.render_page_content(self, PAGE_URL, panel)
def get(self): # Authenticate user voter = auth.get_voter(self) status = models.get_admin_status(voter) if not status: webapputils.render_page(self, '/templates/message', {'status': 'Not Authorized', 'msg': MSG_NOT_AUTHORIZED}) return # Get election election = auth.get_election() if not election: panel = get_panel( PAGE_URL, {'status': 'ERROR','msg': 'No election found.'}, None) webapputils.render_page_content(self, PAGE_URL, panel) return if election.universal: panel = get_panel( PAGE_URL, {'status': 'Universal Election', 'msg': 'This is a universal election, anyone with a valid ' 'NetID can vote for. Therefore you cannot manage ' 'the voters list.'}, None) webapputils.render_page_content(self, PAGE_URL, panel) return # check to see if task already in task queue, indicates voters still being added # TODO: Don't add blank task, just see if there is already something working in the queue. # try: # response = requests.get('https://www.googleapis.com/taskqueue/v1beta2/projects/owlection/taskqueues/voters/tasks') # # # taskqueue.add(name=str(election.key()), # # queue_name='voters') # except taskqueue.TaskAlreadyExistsError: # panel = get_panel( # PAGE_URL, # {'status': 'Adding Voters', # 'msg': 'Come back later. Still adding voters.'}, # None) # webapputils.render_page_content(self, PAGE_URL, panel) # return #checks to see if the voter set exists (in mem cache), #if not indicates voters still being added # voter_set = memcache.get(str(election.key())+'-voter-set') # if not voter_set: # deferred.defer(models.update_voter_set, election, _name=str(election.key()), _queue='voters') # panel = get_panel( # PAGE_URL, # {'status': 'Adding Voters', # 'msg': 'Come back later. Still adding voters.'}, # None) # webapputils.render_page_content(self, PAGE_URL, panel) # return data = {'status': 'OK', 'id': str(election.key()), 'voters': list(models.get_voter_set(election))} #'voters': sorted(list(models.get_voter_set(election)))} logging.info(data) panel = get_panel(PAGE_URL, data, data.get('id')) webapputils.render_page_content(self, PAGE_URL, panel)
def get(self): # Authenticate user voter = auth.get_voter(self) status = models.get_admin_status(voter) if not status: webapputils.render_page(self, '/templates/message', { 'status': 'Not Authorized', 'msg': MSG_NOT_AUTHORIZED }) return # Get election election = auth.get_election() if not election: panel = get_panel(PAGE_URL, { 'status': 'ERROR', 'msg': 'No election found.' }, None) webapputils.render_page_content(self, PAGE_URL, panel) return if election.universal: panel = get_panel( PAGE_URL, { 'status': 'Universal Election', 'msg': 'This is a universal election, anyone with a valid ' 'NetID can vote for. Therefore you cannot manage ' 'the voters list.' }, None) webapputils.render_page_content(self, PAGE_URL, panel) return # check to see if task already in task queue, indicates voters still being added # TODO: Don't add blank task, just see if there is already something working in the queue. # try: # response = requests.get('https://www.googleapis.com/taskqueue/v1beta2/projects/owlection/taskqueues/voters/tasks') # # # taskqueue.add(name=str(election.key()), # # queue_name='voters') # except taskqueue.TaskAlreadyExistsError: # panel = get_panel( # PAGE_URL, # {'status': 'Adding Voters', # 'msg': 'Come back later. Still adding voters.'}, # None) # webapputils.render_page_content(self, PAGE_URL, panel) # return #checks to see if the voter set exists (in mem cache), #if not indicates voters still being added # voter_set = memcache.get(str(election.key())+'-voter-set') # if not voter_set: # deferred.defer(models.update_voter_set, election, _name=str(election.key()), _queue='voters') # panel = get_panel( # PAGE_URL, # {'status': 'Adding Voters', # 'msg': 'Come back later. Still adding voters.'}, # None) # webapputils.render_page_content(self, PAGE_URL, panel) # return data = { 'status': 'OK', 'id': str(election.key()), 'voters': list(models.get_voter_set(election)) } #'voters': sorted(list(models.get_voter_set(election)))} logging.info(data) panel = get_panel(PAGE_URL, data, data.get('id')) webapputils.render_page_content(self, PAGE_URL, panel)