예제 #1
0
    def delete(self, exploration_id):
        """Deletes the given exploration."""

        log_debug_string = '(%s) %s tried to delete exploration %s' % (
            self.role, self.user_id, exploration_id)
        logging.debug(log_debug_string)

        is_exploration_cloned = rights_manager.is_exploration_cloned(
            exploration_id)
        exp_services.delete_exploration(
            self.user_id, exploration_id, force_deletion=is_exploration_cloned)

        log_info_string = '(%s) %s deleted exploration %s' % (
            self.role, self.user_id, exploration_id)
        logging.info(log_info_string)
예제 #2
0
    def delete(self, exploration_id):
        """Deletes the given exploration."""
        role = self.request.get('role')
        if not role:
            role = None

        if role == rights_manager.ROLE_ADMIN:
            if not self.is_admin:
                logging.error(
                    '%s tried to delete an exploration, but is not an admin.'
                    % self.user_id)
                raise self.UnauthorizedUserException(
                    'User %s does not have permissions to delete exploration '
                    '%s' % (self.user_id, exploration_id))
        elif role == rights_manager.ROLE_MODERATOR:
            if not self.is_moderator:
                logging.error(
                    '%s tried to delete an exploration, but is not a '
                    'moderator.' % self.user_id)
                raise self.UnauthorizedUserException(
                    'User %s does not have permissions to delete exploration '
                    '%s' % (self.user_id, exploration_id))
        elif role is not None:
            raise self.InvalidInputException('Invalid role: %s' % role)

        logging.info(
            '%s %s tried to delete exploration %s' %
            (role, self.user_id, exploration_id))

        exploration = exp_services.get_exploration_by_id(exploration_id)
        can_delete = rights_manager.Actor(self.user_id).can_delete(
            rights_manager.ACTIVITY_TYPE_EXPLORATION, exploration.id)
        if not can_delete:
            raise self.UnauthorizedUserException(
                'User %s does not have permissions to delete exploration %s' %
                (self.user_id, exploration_id))

        is_exploration_cloned = rights_manager.is_exploration_cloned(
            exploration_id)
        exp_services.delete_exploration(
            self.user_id, exploration_id, force_deletion=is_exploration_cloned)

        logging.info(
            '%s %s deleted exploration %s' %
            (role, self.user_id, exploration_id))
예제 #3
0
파일: editor.py 프로젝트: gvirav/oppia
    def delete(self, exploration_id):
        """Deletes the given exploration."""

        role_description = ''
        if self.is_admin:
            role_description = 'admin'
        elif self.is_moderator:
            role_description = 'moderator'

        log_debug_string = ''
        if role_description == '':
            log_debug_string = '%s tried to delete exploration %s' % (
                self.user_id, exploration_id)
        else:
            log_debug_string = '(%s) %s tried to delete exploration %s' % (
                role_description, self.user_id, exploration_id)
        logging.debug(log_debug_string)

        exploration = exp_services.get_exploration_by_id(exploration_id)
        can_delete = rights_manager.Actor(self.user_id).can_delete(
            feconf.ACTIVITY_TYPE_EXPLORATION, exploration.id)
        if not can_delete:
            raise self.UnauthorizedUserException(
                'User %s does not have permissions to delete exploration %s' %
                (self.user_id, exploration_id))

        is_exploration_cloned = rights_manager.is_exploration_cloned(
            exploration_id)
        exp_services.delete_exploration(
            self.user_id, exploration_id, force_deletion=is_exploration_cloned)

        log_info_string = ''
        if role_description == '':
            log_info_string = '%s deleted exploration %s' % (
                self.user_id, exploration_id)
        else:
            log_info_string = '(%s) %s deleted exploration %s' % (
                role_description, self.user_id, exploration_id)
        logging.info(log_info_string)
예제 #4
0
파일: editor.py 프로젝트: DSeanLaw/oppia
    def delete(self, exploration_id):
        """Deletes the given exploration."""

        role_description = ''
        if self.is_admin:
            role_description = 'admin'
        elif self.is_moderator:
            role_description = 'moderator'

        log_debug_string = ''
        if role_description == '':
            log_debug_string = '%s tried to delete exploration %s' % (
                self.user_id, exploration_id)
        else:
            log_debug_string = '(%s) %s tried to delete exploration %s' % (
                role_description, self.user_id, exploration_id)
        logging.debug(log_debug_string)

        exploration = exp_services.get_exploration_by_id(exploration_id)
        can_delete = rights_manager.Actor(self.user_id).can_delete(
            feconf.ACTIVITY_TYPE_EXPLORATION, exploration.id)
        if not can_delete:
            raise self.UnauthorizedUserException(
                'User %s does not have permissions to delete exploration %s' %
                (self.user_id, exploration_id))

        is_exploration_cloned = rights_manager.is_exploration_cloned(
            exploration_id)
        exp_services.delete_exploration(
            self.user_id, exploration_id, force_deletion=is_exploration_cloned)

        log_info_string = ''
        if role_description == '':
            log_info_string = '%s deleted exploration %s' % (
                self.user_id, exploration_id)
        else:
            log_info_string = '(%s) %s deleted exploration %s' % (
                role_description, self.user_id, exploration_id)
        logging.info(log_info_string)