def post(self, request, *args, **kwargs): """Post """ self.get_all_args() # Convert back to OCLAPI format for extras, the dictionnary # key is the attribute name. data = {} fn = fv = None try: fn = self.request_json.get('extra_name') fv = self.request_json.get('extra_value') data[fn] = fv except KeyError: resp = {'message': _('Invalid input')} return self.render_bad_request_response(resp) api = OclApi(self.request, debug=True) if self.is_edit(): result = api.put(*self.build_url(fn), **data) msg = _('Extra updated') else: result = api.put(*self.build_url(fn), **data) msg = _('Extra added') if not result.ok: logger.warning('Extra GET failed %s' % result.content) return self.render_bad_request_response(result.content) else: return self.render_json_response({'message': msg})
def post(self, request, *args, **kwargs): """ Post the form data """ self.get_all_args() # Convert back to OCLAPI format for extras, the dictionnary # key is the attribute name. data = {} fn = fv = None try: print 'request json:', self.request_json fn = self.request_json.get('extra_name') fv = self.request_json.get('extra_value') data[fn] = fv except KeyError: resp = {'message': _('Invalid input')} return self.render_bad_request_response(resp) api = OclApi(self.request, debug=True) if self.is_edit(): result = api.put(self.owner_type, self.owner_id, 'sources', self.source_id, 'concepts', self.concept_id, 'extras', fn, **data) msg = _('Extra updated') else: result = api.put(self.owner_type, self.owner_id, 'sources', self.source_id, 'concepts', self.concept_id, 'extras', fn, **data) msg = _('Extra added') if not result.ok: logger.warning('Extra GET failed %s' % result.content) return self.render_bad_request_response(result.content) else: return self.render_json_response({'message': msg})
def post(self, request, *args, **kwargs): self.get_args() data = json.loads(request.body) api = OclApi(self.request, debug=True) if not data['expressions']: return HttpResponseBadRequest(json.dumps({ 'errors': ('%s' % EXPRESSIONS_SHOULD_EXIST) })) result = api.put( self.owner_type, self.owner_id, 'collections', self.collection_id, 'references', data=data ) results = result.json() errors = results if result.status_code == requests.codes.bad else None if len(filter(lambda result: result['added'], results)) > 0: self.add_version_warning_to_session(data, request, results) return HttpResponse( json.dumps({ 'update_results': results, 'success_url': self.get_success_url(), 'errors': errors, }), content_type="application/json" )
def post(self, request, *args, **kwargs): self.get_args() data = json.loads(request.body) api = OclApi(self.request, debug=True) if not data['expressions']: return HttpResponseBadRequest( json.dumps({'errors': ('%s' % EXPRESSIONS_SHOULD_EXIST)})) result = api.put(self.owner_type, self.owner_id, 'collections', self.collection_id, 'references', data=data) results = result.json() errors = results if result.status_code == requests.codes.bad else None if len(filter(lambda result: result['added'], results)) > 0: self.add_version_warning_to_session(data, request, results) return HttpResponse(json.dumps({ 'update_results': results, 'success_url': self.get_success_url(), 'errors': errors, }), content_type="application/json")
def post(self, request, *args, **kwargs): self.get_args() data = json.loads(request.body) api = OclApi(self.request, debug=True) if self.adding_single_reference(data) and not data['expressions']: return HttpResponseBadRequest( json.dumps({'errors': ('%s' % EXPRESSIONS_SHOULD_EXIST)})) result = api.put( self.owner_type, self.owner_id, 'collections', self.collection_id, 'references', data=data, params={'cascade': request.GET.get('cascade', 'sourcemappings')}) results = result.json() errors = results if result.status_code == requests.codes.bad else None added_result_count = len( filter(lambda result: result['added'], results)) if added_result_count > 0 and self.show_warning( request.GET.get('warning', 'hide')): self.add_version_warning_to_session(data, request, results) return HttpResponse(json.dumps({ 'update_results': results, 'success_url': self.get_success_url(), 'errors': errors, }), content_type="application/json")
def post(self, request, *args, **kwargs): """ Post the data """ self.get_all_args() data = {} try: print 'request json:', self.request_json for n in self.field_names: # Skipping over fields that are not given -- exception is never thrown now...?? v = self.request_json.get(n, None) if v is not None: data[n] = v except KeyError: resp = {u"message": _('Invalid input')} return self.render_bad_request_response(resp) api = OclApi(self.request, debug=True) if self.is_edit(): if self.item_name == 'mappings': result = api.put( self.owner_type, self.owner_id, 'sources', self.source_id, self.item_name, **data) else: result = api.put( self.owner_type, self.owner_id, 'sources', self.source_id, 'concepts', self.concept_id, self.item_name, self.item_id, **data) msg = _('updated') else: if self.item_name == 'mappings': result = api.post( self.owner_type, self.owner_id, 'sources', self.source_id, self.item_name, **data) else: result = api.post( self.owner_type, self.owner_id, 'sources', self.source_id, 'concepts', self.concept_id, self.item_name, **data) msg = _('added') if not result.ok: logger.warning('Update failed %s' % result.content) return self.render_bad_request_response(result.content) return self.render_json_response({'message': msg})
def post(self, request, *args, **kwargs): self.get_args() data = json.loads(request.body) api = OclApi(self.request, debug=True) result = api.put(self.owner_type, self.owner_id, 'collections', self.collection_id, 'references', data=data) errors = result.json( ) if result.status_code == requests.codes.bad else [] return HttpResponse(json.dumps({ 'success_url': self.get_success_url(), 'errors': errors }), content_type="application/json")
def post(self, request, *args, **kwargs): self.get_args() data = json.loads(request.body) api = OclApi(self.request, debug=True) if self.adding_single_reference(data) and not data['expressions']: return HttpResponseBadRequest( json.dumps({'errors': ('%s' % EXPRESSIONS_SHOULD_EXIST)})) result = api.put(self.owner_type, self.owner_id, 'collections', self.collection_id, 'references', data=data) results = result.json() errors = results if result.status_code == requests.codes.bad else None added_result_count = len( filter(lambda result: result['added'], results)) mapping_expressions = [ res['expression'] for res in results if 'mappings' in res['expression'] ] if added_result_count > 0: self.add_version_warning_to_session(data, request, results) if self.adding_single_reference(data): request.session['added_mappings'] = mapping_expressions if len( results ) == added_result_count and not self.adding_single_reference(data): request.session['added_mappings'] = \ filter(lambda exp: exp not in data['mappings'], mapping_expressions) return HttpResponse(json.dumps({ 'update_results': results, 'success_url': self.get_success_url(), 'errors': errors, }), content_type="application/json")
def post(self, request, *args, **kwargs): self.get_args() data = json.loads(request.body) api = OclApi(self.request, debug=True) result = api.put( self.owner_type, self.owner_id, 'collections', self.collection_id, 'references', data=data ) errors = result.json() if result.status_code == requests.codes.bad else [] return HttpResponse( json.dumps({ 'success_url': self.get_success_url(), 'errors': errors }), content_type="application/json" )
def form_valid(self, form, *args, **kwargs): """ Validates the form data and submits if valid """ print args print kwargs self.get_org() new_username = form.cleaned_data.pop('member_username') api = OclApi(self.request, debug=True) result = api.put('orgs', self.org['id'], 'members', new_username) # TODO: Catch exceptions that will be raised by # Ocl lib. if result.status_code == 204: messages.add_message(self.request, messages.INFO, _('Member Added')) return redirect(reverse('org-details', kwargs={'org': self.org['id']})) elif result.status_code == 404: messages.add_message(self.request, messages.ERROR, 'Member doesn\'t exist') return super(OrganizationMemberAddView, self).form_invalid(form)
def form_valid(self, form, *args, **kwargs): """ Validates the form data and submits if valid """ print args print kwargs self.get_org() new_username = form.cleaned_data.pop('member_username') api = OclApi(self.request, debug=True) result = api.put('orgs', self.org['id'], 'members', new_username) # TODO: Catch exceptions that will be raised by # Ocl lib. if result.status_code == 204: messages.add_message(self.request, messages.INFO, _('Member Added')) return redirect( reverse('org-details', kwargs={'org': self.org['id']})) elif result.status_code == 404: messages.add_message(self.request, messages.ERROR, 'Member doesn\'t exist') return super(OrganizationMemberAddView, self).form_invalid(form)
def form_valid(self, form, *args, **kwargs): """ Use validated form data to delete the collection""" self.get_args() data = form.cleaned_data # resolver = resolve(data) api = OclApi(self.request, debug=True) result = api.put(self.owner_type, self.owner_id, 'collections', self.collection_id, 'references', **data) if not result.status_code == requests.codes.all_good: emsg = result.json().get('detail', 'Error') messages.add_message(self.request, messages.ERROR, emsg) return HttpResponseRedirect(self.request.path) messages.add_message(self.request, messages.INFO, _('Expression added.')) if self.from_org: return HttpResponseRedirect(reverse('collection-references', kwargs={'org': self.org_id, 'collection': self.collection_id})) else: return HttpResponseRedirect(reverse('collection-references', kwargs={'user': self.user_id, 'collection': self.collection_id}))
def post(self, request, *args, **kwargs): self.get_args() data = json.loads(request.body) api = OclApi(self.request, debug=True) if self.adding_single_reference(data) and not data['expressions']: return HttpResponseBadRequest(json.dumps({ 'errors': ('%s' % EXPRESSIONS_SHOULD_EXIST) })) result = api.put( self.owner_type, self.owner_id, 'collections', self.collection_id, 'references', data=data, params={'cascade': request.GET.get('cascade', 'sourcemappings')} ) results = result.json() errors = results if result.status_code == requests.codes.bad else None added_result_count = len(filter(lambda result: result['added'], results)) if added_result_count > 0 and self.show_warning(request.GET.get('warning', 'hide')): self.add_version_warning_to_session(data, request, results) return HttpResponse( json.dumps({ 'update_results': results, 'success_url': self.get_success_url(), 'errors': errors, }), content_type="application/json" )