def post(self, request, project_id, template_id): if is_create_template(template_id): # template dict like {'desc': '', 'name': ''} tpl_args = request.data.get('template', {}) template = create_template_with_perm_check(request, project_id, tpl_args) else: template = get_template_by_project_and_id(project_id, template_id) self.can_edit_template(request, template) serializer = serializers_new.TemplateDraftSLZ( template, data=request.data, context={'template_id': template.id}) serializer.is_valid(raise_exception=True) serializer.save(draft_updator=request.user.username) validated_data = serializer.validated_data # 记录操作日志 client.ContextActivityLogClient(project_id=template.project_id, user=request.user.username, resource_type='template', resource=template.name, resource_id=template.id, extra=json.dumps(validated_data), description=_("保存草稿")).log_modify() return Response({ 'template_id': template.id, 'show_version_id': -1, 'real_version_id': validated_data['real_version_id'], })
def post(self, request, project_id, template_id, resource_name): validate_resource_name(resource_name) if is_create_template(template_id): # template dict like {'desc': '', 'name': ''} tpl_args = request.data.get('template', {}) template = create_template_with_perm_check(request, project_id, tpl_args) else: template = get_template_by_project_and_id(project_id, template_id) self.can_edit_template(request, template) data = request.data or {} data.update({ 'version_id': 0, 'resource_id': 0, 'project_id': project_id }) serializer_class = serializers_new.get_slz_class_by_resource_name( resource_name) serializer = serializer_class(data=data) serializer.is_valid(raise_exception=True) validated_data = serializer.validated_data create_data = self._compose_create_data(validated_data) ret_data = self._create_resource_entity(resource_name, template.id, create_data) return Response(ret_data)
def create(self, validated_data): request = self.context["request"] project_id = validated_data["project_id"] desc_args = { "name": validated_data["name"], "desc": validated_data.get("desc", ""), "project_id": project_id, "edit_mode": TemplateEditMode.YAML.value, } template = utils.create_template_with_perm_check(request, project_id, desc_args) files2res.create_resources(template, validated_data["show_version"], validated_data["template_files"]) return template
def create(self, validated_data): request = self.context['request'] project_id = validated_data['project_id'] desc_args = { 'name': validated_data['name'], 'desc': validated_data.get('desc', ''), 'project_id': project_id, 'edit_mode': TemplateEditMode.YAML.value } template = utils.create_template_with_perm_check( request, project_id, desc_args) files2res.create_resources(template, validated_data['show_version'], validated_data['template_files']) return template