示例#1
0
    def delete(self, file_uuid):
        uploaded_file = File.get_active_by_uuid_or_404(file_uuid)

        require(DELETE, uploaded_file)

        for assignment in uploaded_file.assignments.all():
            assignment.file_id = None

        for answer in uploaded_file.answers.all():
            answer.file_id = None

        uploaded_file.active = False
        db.session.commit()

        on_file_delete.send(
            self,
            event_name=on_file_delete.name,
            user=current_user,
            data={'file_id': uploaded_file.id})

        return {'id': uploaded_file.uuid}