Exemple #1
0
    def create(request):
        if request.method != CommonData.Method.POST.value:
            data = CommonData.response_data(RequetMethodError,
                                            "Method is invalid")
            return HttpResponse(json.dumps(data),
                                content_type="application/json")

        form = ProjectCreateForm(data=request.POST)
        if form.is_valid():
            model = Project()
            model.name = form.clean().get('name')
            model.note = form.clean().get('note')
            model.status = form.clean().get('status')
            project = ProjectDao.create(model)
            if project is None:
                data = CommonData.response_data(DaoOperationError,
                                                "API create faild")
                return HttpResponse(json.dumps(data),
                                    content_type="application/json")
            else:
                data = CommonData.response_data(Success, "sucsses")
                data['project'] = model_to_dict(project)
                return HttpResponse(json.dumps(data),
                                    content_type="application/json")
        else:
            data = CommonData.response_data(FormParseError, "form parse faild")
            return HttpResponse(json.dumps(data),
                                content_type="application/json")
Exemple #2
0
    def create(request: HttpRequest):
        if request.method != CommonData.Method.POST.value:
            return HttpResponse(Response.methodInvalidResponse().toJson(),
                                content_type='application/json')

        form = ProjectCreateForm(data=request.POST)
        if form.is_valid():
            model = Project()
            model.name = form.clean().get('name')
            model.note = form.clean().get('note')
            model.permissionType = form.clean().get('permissionType')
            model.status = form.clean().get('status')
            project = ProjectDao.create(model)

            # setting user profile
            userProfile = AccountDao.get_userProfile_with_id(request.user.id)
            userProfile.projects.add(project)
            userProfile.save()
            # setting user permissions
            user = User.objects.get(id=request.user.id)
            assign_perm('view_project', user, project)
            # setting group permissions
            default_group = AccountDao.get_default_group()
            if model.permissionType == Project.PermissionType.Public.value:
                assign_perm('view_project', default_group, project)
            else:
                remove_perm('view_project', default_group, project)

            if project is None:
                response = Response(DaoOperationError, 'API create failed', {})
                return HttpResponse(response.toJson(),
                                    content_type='application/json')
            else:
                response = Response(Success, 'Sucsses', model_to_dict(project))
                return HttpResponse(response.toJson(),
                                    content_type='application/json')
        else:
            response = Response(FormParseError, 'Form parse failed', {})
            return HttpResponse(response.toJson(),
                                content_type='application/json')