def post(self, request, *args, **kwargs): try: new_openmrs_importers = json.loads( request.POST['openmrs_importers']) current_openmrs_importers = get_openmrs_importers_by_domain( request.domain) i = -1 for i, openmrs_importer in enumerate(current_openmrs_importers): if i < len(new_openmrs_importers): self._update_importer(openmrs_importer, new_openmrs_importers[i]) else: # Delete removed OpenMRS Importers openmrs_importer.delete() if i + 1 < len(new_openmrs_importers): # Insert new OpenMRS Importers for j in range(i + 1, len(new_openmrs_importers)): openmrs_importer = OpenmrsImporter(domain=request.domain) self._update_importer(openmrs_importer, new_openmrs_importers[j]) get_openmrs_importers_by_domain.clear(request.domain) return json_response({ 'message': _('OpenMRS Importers saved'), 'error': None }) except Exception as err: return json_response({ 'message': None, 'error': str(err) }, status_code=500)
def post(self, request, *args, **kwargs): form = self.openmrs_importer_form if form.is_valid(): form.save(self.domain) get_openmrs_importers_by_domain.clear(request.domain) return HttpResponseRedirect(self.page_url) context = self.get_context_data(**kwargs) return self.render_to_response(context)
def post(self, request, *args, **kwargs): try: new_openmrs_importers = json.loads(request.POST['openmrs_importers']) current_openmrs_importers = get_openmrs_importers_by_domain(request.domain) i = -1 for i, openmrs_importer in enumerate(current_openmrs_importers): if i < len(new_openmrs_importers): self._update_importer(openmrs_importer, new_openmrs_importers[i]) else: # Delete removed OpenMRS Importers openmrs_importer.delete() if i + 1 < len(new_openmrs_importers): # Insert new OpenMRS Importers for j in range(i + 1, len(new_openmrs_importers)): openmrs_importer = OpenmrsImporter(domain=request.domain) self._update_importer(openmrs_importer, new_openmrs_importers[j]) get_openmrs_importers_by_domain.clear(request.domain) return json_response({'message': _('OpenMRS Importers saved'), 'error': None}) except Exception as err: return json_response({'message': None, 'error': str(err)}, status_code=500)