def post(self): """Edits records from commands received by the list code. """ post_data = self.request.POST if not post_data.get('button_id', None) == 'save': raise BadRequest('No valid POST data found') data = self.data.POST.get('data') if not data: raise BadRequest('Missing data') parsed = simplejson.loads(data) self.data.redirect.program() url = self.data.redirect.urlOf('create_gci_org_profile', full=True) for id, properties in parsed.iteritems(): record = OrgAppRecord.get_by_id(long(id)) if not record: logging.warning('%s is an invalid OrgAppRecord ID' %id) continue if record.survey.key() != self.data.org_app.key(): logging.warning('%s is not a record for the Org App in the URL' %record.key()) continue new_status = properties['status'] org_app_logic.setStatus(self.data, record, new_status, url) self.response.set_status(200)
def process(org_app): ctx = context.get() params = ctx.mapreduce_spec.mapper.params program_key = params['program_key'] # TODO(SRabbelier): should have been a full url url = 'gci/profile/organization/%s' % program_key # TODO(SRabbelier): create a MapReduce/Task RequestData data = RequestData() data.program = GCIProgram.get_by_key_name(program_key) data.site = Site.get_by_key_name('site') if org_app.status == 'pre-accepted': org_app_logic.setStatus(data, org_app, 'accepted', url) yield operation.counters.Increment("proposals_accepted") elif org_app.status == 'pre-rejected': org_app_logic.setStatus(data, org_app, 'rejected', url) yield operation.counters.Increment("proposals_rejected") else: yield operation.counters.Increment("proposals_ignored")