def handle_environment_request(id=None, request): if request.method != "GET": if not request.user.is_authenticated(): return not_logged_error("Environment") if request.method == "POST": """ HANDLE POST REQUEST - semantics of creation """ form = EnvironmentForm(request.POST) try: if form.is_valid(): instance = form.save(commit=False) data = { 'url': instance.get_absolute_url, 'id': str(instance.id) } instance.save() return operation_successful("Environment", OP_CREATE, data) else: err_text = form._get_errors().as_text() return bad_request_error("Environment", OP_CREATE + " operation failed. ", {"model_errors": err_text}) except Exception, ex: err_text = form._get_errors().as_text() return bad_request_error("Environment", OP_CREATE + " operation failed. ", {"model_errors": err_text})
def handle_annotation_request(annID=None, request): if request.method == "POST": form = AnnotationForm(request.POST) try: if form.is_valid(): instance = form.save(commit=False) data = { 'url': instance.get_absolute_url, 'id': str(instance.id) } instance.save() return operation_successful("Annotation", OP_CREATE, data) else: err_text = form._get_errors().as_text() return bad_request_error("Annotation", OP_CREATE + " operation failed. ", {"model_errors": err_text}) except Exception, ex: err_text = form._get_errors().as_text() return bad_request_error("Annotation", OP_CREATE + " operation failed. ", {"model_errors": err_text})
def handle_annotation_request(annID = None, request): if request.method == "POST": form = AnnotationForm(request.POST) try: if form.is_valid(): instance = form.save(commit=False) data = {'url': instance.get_absolute_url, 'id': str(instance.id)} instance.save() return operation_successful("Annotation", OP_CREATE, data) else: err_text = form._get_errors().as_text() return bad_request_error("Annotation", OP_CREATE + " operation failed. ", {"model_errors": err_text}) except Exception, ex: err_text = form._get_errors().as_text() return bad_request_error("Annotation", OP_CREATE + " operation failed. ", {"model_errors": err_text})
def handle_announcement_request(id = None, request): if request.method != "GET": if not request.user.is_authenticated(): return not_logged_error("Announcement") if request.method == "POST": form = AnnouncementForm(request.POST) try: if form.is_valid(): instance = form.save(commit=False) data = {'url': instance.get_absolute_url, 'id': str(instance.id)} instance.save() return operation_successful("Announcement", OP_CREATE, data) else: err_text = form._get_errors().as_text() return bad_request_error("Announcement", OP_CREATE + " operation failed. ", {"model_errors": err_text}) except Exception, ex: err_text = form._get_errors().as_text() return bad_request_error("Announcement", OP_CREATE + " operation failed. ", {"model_errors": err_text})
## check if user has rights user = request.user.get_profile() if user == instance.owner: try: form = UpdateEnvironmentForm(request.PUT, instance=instance) if form.is_valid(): instance = form.save(commit=False) data = { 'url': instance.get_absolute_url, 'id': str(instance.id) } instance.save() return operation_successful("Environment", OP_UPDATE, data) else: err_text = form._get_errors().as_text() return bad_request_error( "Environment", OP_UPDATE + " operation failed. ", {"model_errors": err_text}) except Exception, ex: err_text = form._get_errors().as_text() return bad_request_error("Environment", OP_UPDATE + " operation failed. ", {"model_errors": err_text}) else: return bad_request_error( "Environment", msg="Invalid " + OP_UPDATE + ". You are not the owner of this environment. This incident will be reported"
if id is None: return bad_request_error("Environment", msg = "Invalid update. No environment id specified.") else: instance = Environment.objects.get(id=id) ## check if user has rights user = request.user.get_profile() if user == instance.owner: try: form = UpdateEnvironmentForm(request.PUT, instance=instance) if form.is_valid(): instance = form.save(commit = False) data = {'url': instance.get_absolute_url, 'id': str(instance.id)} instance.save() return operation_successful("Environment", OP_UPDATE, data) else: err_text = form._get_errors().as_text() return bad_request_error("Environment", OP_UPDATE + " operation failed. ", {"model_errors": err_text}) except Exception, ex: err_text = form._get_errors().as_text() return bad_request_error("Environment", OP_UPDATE + " operation failed. ", {"model_errors": err_text}) else: return bad_request_error("Environment", msg = "Invalid " + OP_UPDATE + ". You are not the owner of this environment. This incident will be reported") elif request.method == "DELETE": """ HANDLE DELETE REQUEST - semantics of delete """ if id is None: