def cancel_form(request): """Cancel current form. Args: request: Returns: """ try: # get curate data structure curate_data_structure_id = request.POST["id"] curate_data_structure = curate_data_structure_api.get_by_id( curate_data_structure_id, request.user) # unlock from database if curate_data_structure.data is not None: lock_api.remove_lock_on_object(curate_data_structure.data, request.user) curate_data_structure_api.delete(curate_data_structure, request.user) # add success message messages.add_message( request, messages.SUCCESS, get_form_label().capitalize() + " deleted with success.", ) return HttpResponse(json.dumps({}), content_type="application/javascript") except Exception as e: return HttpResponseBadRequest( "An unexpected error has occured: %s" % str(e).replace('"', "'"), content_type="application/javascript", )
def cancel_form(request): """Cancel current form. Args: request: Returns: """ try: # get curate data structure curate_data_structure_id = request.POST['id'] curate_data_structure = curate_data_structure_api.get_by_id( curate_data_structure_id) # unlock from database if curate_data_structure.data is not None: lock_api.remove_lock_on_object(curate_data_structure.data, request.user) curate_data_structure_api.delete(curate_data_structure) # add success message messages.add_message( request, messages.SUCCESS, get_form_label().capitalize() + ' deleted with success.') return HttpResponse(json.dumps({}), content_type='application/javascript') except: return HttpResponseBadRequest()
def save_data(request): """Save data - delete curate data structure. Args: request: Returns: """ try: # get curate data structure curate_data_structure_id = request.POST["id"] curate_data_structure = curate_data_structure_api.get_by_id( curate_data_structure_id, request.user) # unlock from database if curate_data_structure.data is not None: lock_api.remove_lock_on_object(curate_data_structure.data, request.user) # generate the XML xml_data = render_xml( request, curate_data_structure.data_structure_element_root) if curate_data_structure.data is not None: # update existing data data = curate_data_structure.data else: # create new data data = Data() data.title = curate_data_structure.name template = template_api.get(str(curate_data_structure.template.id), request=request) data.template = template data.user_id = str(request.user.id) # set content data.xml_content = xml_data # save data data = data_api.upsert(data, request) curate_data_structure_api.delete(curate_data_structure, request.user) messages.add_message( request, messages.SUCCESS, get_data_label().capitalize() + " saved with success.", ) except Exception as e: return HttpResponseBadRequest(str(e).replace('"', "'"), content_type="application/javascript") return HttpResponse(json.dumps({"data_id": str(data.id)}), content_type="application/javascript")
def save_data(request): """Save data - delete curate data structure. Args: request: Returns: """ try: # get curate data structure curate_data_structure_id = request.POST['id'] curate_data_structure = curate_data_structure_api.get_by_id( curate_data_structure_id) # unlock from database if curate_data_structure.data is not None: lock_api.remove_lock_on_object(curate_data_structure.data, request.user) # generate the XML xml_data = render_xml( curate_data_structure.data_structure_element_root) if curate_data_structure.data is not None: # update existing data data = curate_data_structure.data else: # create new data data = Data() data.title = curate_data_structure.name data.template = curate_data_structure.template data.user_id = str(request.user.id) # set content data.xml_content = xml_data # save data data_api.upsert(data, request.user) curate_data_structure_api.delete(curate_data_structure) messages.add_message( request, messages.SUCCESS, get_data_label().capitalize() + ' saved with success.') except Exception, e: message = e.message.replace('"', '\'') return HttpResponseBadRequest(message, content_type='application/javascript')
def delete(self, request, pk): """Delete a Curate Data Structure Args: request: HTTP request pk: ObjectId Returns: - code: 204 content: Deletion succeed - code: 404 content: Object was not found - code: 500 content: Internal server error """ try: # Get object data_structure_object = self.get_object(request, pk) # delete object data_structure_api.delete(data_structure_object, request.user) # Return response return Response(status=status.HTTP_204_NO_CONTENT) except AccessControlError as e: content = {"message": str(e)} return Response(content, status=status.HTTP_403_FORBIDDEN) except Http404: content = {"message": "Data structure not found."} return Response(content, status=status.HTTP_404_NOT_FOUND) except Exception as api_exception: content = {"message": str(api_exception)} return Response(content, status=status.HTTP_500_INTERNAL_SERVER_ERROR)
def test_delete_others_data_structure_as_anonymous_user_raises_error(self): data_structure = self.fixture.data_structure_3 mock_user = create_mock_user(self.fixture.data_structure_1.user) with self.assertRaises(AccessControlError): curate_data_structure_api.delete(data_structure, AnonymousUser())
def test_delete_own_data_structure_deletes_data_structure(self): data_structure = self.fixture.data_structure_1 mock_user = create_mock_user(self.fixture.data_structure_1.user) curate_data_structure_api.delete(data_structure, mock_user)
def test_delete_others_data_structure_as_superuser_deletes_data_structure(self): data_structure = self.fixture.data_structure_3 mock_user = create_mock_user( self.fixture.data_structure_1.user, is_staff=True, is_superuser=True ) curate_data_structure_api.delete(data_structure, mock_user)
request: form_ids: Returns: """ try: list_form = _get_forms(form_ids, request.user.is_superuser, request.user.id) except Exception, e: messages.add_message(request, messages.INFO, e.message) return HttpResponse(json.dumps({}), content_type='application/javascript') try: for form in list_form: curate_data_structure_api.delete(form) messages.add_message( request, messages.INFO, get_form_label().capitalize() + ' deleted with success.') except: messages.add_message(request, messages.INFO, 'A problem occurred while deleting.') return HttpResponse(json.dumps({}), content_type='application/javascript') def _delete_record(request, data_ids): """ Delete records. Args: request: