Exemplo n.º 1
0
    def _process_DELETE(self):
        if EditingRevisionFile.query.with_parent(self.file_type).has_rows():
            raise UserValueError(_('Cannot delete file type which already has files'))

        if self.file_type.review_conditions:
            raise UserValueError(_('Cannot delete file type which is used in a review condition'))
        if self.file_type.publishable:
            is_last = not (EditingFileType.query
                           .with_parent(self.event)
                           .filter(EditingFileType.publishable, EditingFileType.id != self.file_type.id)
                           .has_rows())
            if is_last:
                raise UserValueError(_('Cannot delete the only publishable file type'))
        delete_file_type(self.file_type)
        return '', 204
Exemplo n.º 2
0
    def _process_DELETE(self):
        if EditingRevisionFile.query.with_parent(self.file_type).has_rows():
            raise ExpectedError(
                _('Cannot delete file type which already has files'))

        review_conditions = editing_settings.get(self.event,
                                                 'review_conditions')
        if any(self.file_type.id in cond for cond in review_conditions):
            raise ExpectedError(
                _('Cannot delete file type which is used in a review condition'
                  ))
        if self.file_type.publishable:
            is_last = not (EditingFileType.query.with_parent(
                self.event).filter(
                    EditingFileType.publishable,
                    EditingFileType.id != self.file_type.id).has_rows())
            if is_last:
                raise ExpectedError(
                    _('Cannot delete the only publishable file type'))
        delete_file_type(self.file_type)
        return '', 204