示例#1
0
 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)
示例#2
0
 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)
示例#3
0
    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'})
示例#4
0
    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'})
示例#5
0
    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())
示例#6
0
    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)
示例#7
0
    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')})
示例#8
0
    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')})
示例#9
0
文件: views.py 项目: rishabh3/ocl_web
    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')})
示例#10
0
    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())
示例#11
0
    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())
示例#12
0
    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')})
示例#13
0
文件: views.py 项目: AnshuAg/ocl_web
    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)
示例#14
0
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()