示例#1
0
    def put(self, skill_id):
        """Publishes a skill."""
        skill = skill_services.get_skill_by_id(skill_id)
        version = self.payload.get('version')
        _require_valid_version(version, skill.version)

        skill_domain.Skill.require_valid_skill_id(skill_id)

        try:
            skill_services.publish_skill(skill_id, self.user_id)
        except Exception as e:
            raise self.UnauthorizedUserException(e)

        skill_rights = skill_services.get_skill_rights(skill_id, strict=False)
        user_actions_info = user_services.UserActionsInfo(self.user_id)
        can_edit_skill_description = check_can_edit_skill_description(
            user_actions_info)

        self.values.update({
            'skill_is_private':
            skill_rights.skill_is_private,
            'creator_id':
            skill_rights.creator_id,
            'can_edit_skill_description':
            can_edit_skill_description
        })

        self.render_json(self.values)
示例#2
0
    def get(self, skill_id):
        """Returns the SkillRights object of a skill."""
        skill_domain.Skill.require_valid_skill_id(skill_id)

        skill_rights = skill_services.get_skill_rights(skill_id, strict=False)
        user_actions_info = user_services.UserActionsInfo(self.user_id)
        can_edit_skill_description = check_can_edit_skill_description(
            user_actions_info)

        self.values.update({
            'skill_is_private': skill_rights.skill_is_private,
            'creator_id': skill_rights.creator_id,
            'can_edit_skill_description': can_edit_skill_description,
            'skill_id': skill_id
        })

        self.render_json(self.values)
示例#3
0
    def get(self, skill_id):
        """Returns the SkillRights object of a skill."""
        skill_domain.Skill.require_valid_skill_id(skill_id)

        skill_rights = skill_services.get_skill_rights(skill_id, strict=False)
        if skill_rights is None:
            raise self.InvalidInputException(
                'Could not find skill rights associated with the provided '
                'skill id')
        user_actions_info = user_services.UserActionsInfo(self.user_id)
        can_edit_skill_description = check_can_edit_skill_description(
            user_actions_info)

        self.values.update({
            'skill_is_private': skill_rights.skill_is_private,
            'creator_id': skill_rights.creator_id,
            'can_edit_skill_description': can_edit_skill_description,
            'skill_id': skill_id
        })

        self.render_json(self.values)
 def test_get_skill_rights_with_invalid_skill_id(self):
     skill_rights = skill_services.get_skill_rights('invalid_skill_id',
                                                    strict=False)
     self.assertIsNone(skill_rights)