def delete(self, request, *args, **kwargs): self.get_args() references = request.GET.get('references').split(',') api = OclApi(self.request, debug=True) data = {'references': references} res = api.delete(self.owner_type, self.owner_id, 'collections', self.collection_id, 'references', **data) return HttpResponse(res.content, status=200)
def post(self, *args, **kwargs): """Posts member removal request to API""" self.org_id = self.kwargs.get('org') self.username = self.kwargs.get('username') api = OclApi(self.request, debug=True) result = api.delete('orgs', self.org_id, 'members', self.username) return self.render_json_response({'message':'Member removed'})
def post(self, *args, **kwargs): """Posts member removal request to API""" self.org_id = self.kwargs.get('org') self.username = self.kwargs.get('username') api = OclApi(self.request, debug=True) result = api.delete('orgs', self.org_id, 'members', self.username) return self.render_json_response({'message': 'Member removed'})
def form_valid(self, form, *args, **kwargs): """ Use validated form data to delete the collection""" self.get_args() api = OclApi(self.request, debug=True) if self.collection_version_id: result = api.delete(self.owner_type, self.owner_id, 'collections', self.collection_id, self.collection_version_id, **kwargs) else: result = api.delete( self.owner_type, self.owner_id, 'collections', self.collection_id, **kwargs) if result.status_code != 204: emsg = result.json().get('detail', 'Error') messages.add_message(self.request, messages.ERROR, emsg) return HttpResponseRedirect(self.request.path) else: messages.add_message(self.request, messages.INFO, _('Collection Deleted')) return HttpResponseRedirect(self.get_success_url())
def delete(self, request, *args, **kwargs): self.get_args() api = OclApi(self.request, debug=True) if request.is_ajax(): result = api.delete(self.owner_type, self.owner_id, 'collections', self.collection_id, self.collection_version_id, **kwargs) return HttpResponse(json.dumps({}), content_type="application/json") return super(CollectionVersionDeleteView, self).delete(self, *args, **kwargs)
def delete(self, request, *args, **kwargs): """ Delete the specified item. """ self.get_all_args() api = OclApi(self.request, debug=True) if self.is_edit(): # i.e. has item UUID result = api.delete(self.owner_type, self.owner_id, 'sources', self.source_id, 'concepts', self.concept_id, self.item_name, self.item_id) if not result.ok: logger.warning('DEL failed %s' % result.content) return self.render_bad_request_response(result.content) return self.render_json_response({'message': _('deleted')})
def delete(self, request, *args, **kwargs): """ Delete the specified item. """ self.get_all_args() api = OclApi(self.request, debug=True) if self.is_edit(): # i.e. has item UUID result = api.delete( self.owner_type, self.owner_id, 'sources', self.source_id, 'concepts', self.concept_id, self.item_name, self.item_id) if not result.ok: logger.warning('DEL failed %s' % result.content) return self.render_bad_request_response(result.content) return self.render_json_response( {'message': _('deleted')})
def delete(self, request, *args, **kwargs): """Delete the specified item. """ self.get_all_args() api = OclApi(self.request, debug=True) if not self.is_edit(): # i.e. has item UUID return self.render_bad_request_response({'message': 'key missing'}) result = api.delete(*self.build_url(self.extra_id)) if not result.ok: logger.warning('Extra GET failed %s' % result.content) return self.render_bad_request_response(result.content) return self.render_json_response({'message': _('extra deleted')})
def form_valid(self, form, *args, **kwargs): """ Use validated form data to retire the concept """ self.get_args() data = {'update_comment': form.cleaned_data['comment']} api = OclApi(self.request, debug=True) result = api.delete( self.owner_type, self.owner_id, 'sources', self.source_id, 'concepts', self.concept_id, **data) if result.status_code != 204: emsg = result.json().get('detail', 'Error') messages.add_message(self.request, messages.ERROR, emsg) return HttpResponseRedirect(self.request.path) else: messages.add_message(self.request, messages.INFO, _('Concept retired')) return HttpResponseRedirect(self.get_success_url())
def form_valid(self, form, *args, **kwargs): """ Use validated form data to retire the mapping """ self.get_args() data = {'update_comment': form.cleaned_data['comment']} api = OclApi(self.request, debug=True) result = api.delete( self.owner_type, self.owner_id, 'sources', self.source_id, 'mappings', self.mapping_id, **data) if result.status_code != 204: emsg = result.json().get('detail', 'Error') messages.add_message(self.request, messages.ERROR, emsg) return HttpResponseRedirect(self.request.path) else: messages.add_message(self.request, messages.INFO, _('Mapping retired')) return HttpResponseRedirect(self.get_success_url())
def delete(self, request, *args, **kwargs): self.get_args() api = OclApi(self.request, debug=True) if request.is_ajax(): result = api.delete( self.owner_type, self.owner_id, 'sources', self.source_id, self.source_version_id, **kwargs ) return HttpResponse( json.dumps({}), content_type="application/json" ) return super(SourceVersionDeleteView, self).delete(self, *args, **kwargs)
class Command(BaseCommand): """ manage.py Command retire_concepts """ help = 'Retire concepts' option_list = BaseCommand.option_list + ( make_option('--username', action='store', dest='username', default=None, help='username for an existing user, e.g. demo1'), make_option('--org_id', action='store', dest='org_id', default=None, help='Organization ID, e.g. OMRS'), make_option('--source_id', action='store', dest='source_id', default=None, help='Source ID, e.g. OMRS'), ) def __init__(self): super(Command, self).__init__() self.ocl = None self.username = None self.password = None self.api_host = os.environ['OCL_API_HOST'] self.web_host = os.environ['OCL_WEB_HOST'] self.ORG_ID = None self.SOURCE_ID = None self.locale_list = [d['code'] for d in _get_locale_list()] self.source_type_list = _get_source_type_list() self.concept_class_list = _get_concept_class_list() self.datatype_list = _get_datatype_list() def load_user(self, username): """ Load access info for specified username to create data. :param username: is an existing user in the system. """ user = User.objects.get(username=username) print user.password self.username = username self.password = user.password def login(self): """ Perform a login for the user to get authenticated access for subsequence create calls. """ self.ocl = OclApi(admin=True, debug=True) result = self.ocl.get_user_auth(self.username, self.password) print 'get auth:', result.status_code if len(result.text) > 0: print result.json() # now use a "normal" API interface, save the user's access permission self.request = FakeRequest() self.ocl.save_auth_token(self.request, result.json()) self.ocl = OclApi(self.request, debug=True) def retire(self, concept_id): """ Retire concept with specified ID and org/source specified on command line. :param concept_id: is the concept_id """ # retired_reason is null in CIEL, so no need to set update_comment result = self.ocl.delete( 'orgs', self.ORG_ID, 'sources', self.SOURCE_ID, 'concepts', concept_id) print result def retire_concepts(self): """ Load concepts to retire from file, iterate through them, and retire """ for line in self.input: cid = line.strip() self.retire(cid) def handle(self, *args, **options): if len(args) != 1: raise CommandError('mapping input text file is required.') username = options['username'] if username is None: raise CommandError('--username is required.') self.ORG_ID = options['org_id'] if self.ORG_ID is None: raise CommandError('--org_id is required.') self.SOURCE_ID = options['source_id'] if self.SOURCE_ID is None: raise CommandError('--source_id is required.') input_file = args[0] if not os.path.exists(input_file): raise CommandError('Could not find input file %s' % input_file) try: self.input = open(input_file, 'rb') # get total record count self.total = sum(1 for line in self.input) self.input.seek(0) except IOError: raise CommandError('Could not open input file %s' % input_file) self.load_user(username) self.login() self.retire_concepts()