Allow Course Editors to import YouTube transcripts and surface errors
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 78/100
- Tipo de issue
- Error
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- python
- Área
- authorization
Línea de trabajo
Empieza en views/transcripts_ajax.py, en _get_item (líneas 775-783), y luego lee las comprobaciones de permisos y las pruebas existentes para las vistas de transcripciones. Actualiza la comprobación para que los editores del curso con permiso para editar contenido puedan comprobar e importar transcripciones, mientras que los usuarios sin ese permiso sigan recibiendo 403. Añade o actualiza pruebas para ambos casos; el manejo opcional de errores de MFE se identifica por separado en VideoSourceWidget/hooks.jsx.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Description
Course Editors cannot import YouTube transcripts in the video editor. Every /transcripts/* view goes through _get_item, which uses the legacy has_course_author_access, so editors get a 403. The MFE ignores the error, so the user gets no feedback.
Current Behavior
/transcripts/check returns 403 for an Editor. The MFE only shows the import card when command == "import" and ignores the failed request (VideoSourceWidget/hooks.jsx:18-27), so the import option silently never appears.
Expected Behavior
An Editor can check and import transcripts, since the video editor already requires edit permission. If a request is denied, the MFE shows an error.
Steps to reproduce
- Log in as a Course Editor.
- Open the video editor for a video with a YouTube source.
- Observe that the transcript import card never appears and no error is shown (
/transcripts/checkreturns 403).
Acceptance Criteria
-
_get_iteminviews/transcripts_ajax.py(lines 775-783) usesuser_has_course_permission(..., COURSES_EDIT_COURSE_CONTENT, ..., LegacyAuthoringPermission.WRITE)instead ofhas_course_author_access. - Editors can check and import transcripts.
- Users without edit permission (e.g. Auditor) still get 403.
- (MFE, optional)
checkTranscriptsForImportfailures surface an error to the user. - Tests are added or updated.
Technical Notes
All views using _get_item serve the video editor, so requiring edit permission for all of them is consistent.
- Lenguaje dominante
- Python
- Estrellas
- 0
- Forks
- 10
- Merge medio
- 3 d 19 h
- PR fusionados (30 d)
- 22
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de openedx/openedx-authz
-
willow
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
openedx/openedx-authz#604 ·
Los mantenedores suelen responder en 1 día
-
willow
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
openedx/openedx-authz#579 ·
Los mantenedores suelen responder en 1 día
-
willow
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
openedx/openedx-authz#605 ·
Los mantenedores suelen responder en 1 día
-
willow
Dificultad 3/5 1-2 días Aptitud para principiantes 58/100
openedx/openedx-authz#602 ·
Los mantenedores suelen responder en 1 día
-
willow
Dificultad 4/5 1-2 días Aptitud para principiantes 48/100
openedx/openedx-authz#600 ·
Los mantenedores suelen responder en 1 día
Todos los issues de openedx/openedx-authz
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
cline/mcp-marketplace#3576 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 90/100
griptape-ai/griptape-nodes-library-elevenlabs#30 ·
Los mantenedores suelen responder en 1 día
-
docs: Release playbookAbiertodocumentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
awslabs/social-messaging-agent-runtime-toolkit#140 ·
Los mantenedores suelen responder en 1 día
-
subtask
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
fga-eps-mds/2026.2-MeasureSoftGram-DOC#187 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
NSPG13/agent-bounties#1747 ·
Los mantenedores suelen responder en 1 día