Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Survey: Permitir modificar código encuesta al copiar encuesta #5124

Open
wants to merge 2 commits into
base: 1.11.x
Choose a base branch
from

Conversation

juancp-contidosdixitais

Actualmente, al seleccionar la opción de copiar en el listado de encuestas de un curso, se inicia un proceso de clonación de la encuesta elegida. Durante este proceso, se verifica si el código de la encuesta ya está en uso. En caso afirmativo, se añade un índice al código de la encuesta, que se incrementa sucesivamente hasta confirmar que el nuevo código generado no está repetido

public static function generate_unique_code($code)
{
if (empty($code)) {
return false;
}
$course_id = api_get_course_int_id();
$table = Database::get_course_table(TABLE_SURVEY);
$code = Database::escape_string($code);
$num = 0;
$new_code = $code;
while (true) {
$sql = "SELECT * FROM $table
WHERE code = '$new_code' AND c_id = $course_id";
$result = Database::query($sql);
if (Database::num_rows($result)) {
$num++;
$new_code = $code.$num;
} else {
break;
}
}
return $code.$num;
}

El campo en la base de datos destinado a almacenar este valor tiene una longitud máxima de 20 caracteres. Hemos detectado un problema: aunque el proceso de clonación descrito anteriormente funciona correctamente, puede resultar en la generación de un código de encuesta que excede los 20 caracteres. Al intentar almacenar este código en un nuevo registro de la base de datos, solo se guardan los primeros 20 caracteres, lo que puede ocasionar duplicaciones de códigos.

Además del problema mencionado, es esencial ofrecer a los usuarios la posibilidad de modificar el código de la encuesta al clonarla. Por ello, se propone implementar en Chamilo 1.11.x un sistema que permita al usuario introducir un código de encuesta personalizado al seleccionar la opción de copiar encuesta. Este sistema limitará la entrada a 20 caracteres y verificará que el código introducido no esté ya en uso en el sistema.

Nuevo modal para introducción código de encuesta al copiar una encuesta:
image

image

Referencia: #5091

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants