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")
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')