예제 #1
0
파일: views.py 프로젝트: asorici/envsmth
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})
예제 #2
0
파일: views.py 프로젝트: asorici/envsmth
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})
예제 #3
0
파일: views.py 프로젝트: asorici/envsmth
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})
예제 #4
0
파일: views.py 프로젝트: asorici/envsmth
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})
예제 #5
0
파일: views.py 프로젝트: asorici/envsmth
            ## 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"
예제 #6
0
파일: views.py 프로젝트: asorici/envsmth
        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: