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

N21-2106 Fix oauth school feature #3492

Merged
merged 6 commits into from
Jul 26, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 1 addition & 13 deletions controllers/administration.js
Original file line number Diff line number Diff line change
Expand Up @@ -1289,7 +1289,7 @@ const getUsersWithoutConsent = async (req, roleName, classId) => {
.map((u) => u._id),
consentStatus: { $in: ['missing', 'parentsAgreed'] },
$limit: batchSize,
$sort: { 'lastName': 1},
$sort: { lastName: 1 },
},
})).data,
);
Expand Down Expand Up @@ -2277,7 +2277,6 @@ const schoolUpdateHandler = async (req, res, next) => {
student: { LERNSTORE_VIEW: false },
teacher: { STUDENT_LIST: false },
},
features: [],
logo,
};

Expand All @@ -2293,17 +2292,6 @@ const schoolUpdateHandler = async (req, res, next) => {
requestBody.permissions.student.LERNSTORE_VIEW = !!req.body.studentlernstorevisibility;
}

// Update school features
const possibleSchoolFeatures = [
'messenger', 'messengerSchoolRoom', 'messengerStudentRoomCreate', 'rocketChat', 'videoconference',
];

for (const feature of possibleSchoolFeatures) {
if (req.body[feature] === 'true') {
requestBody.features.push(feature);
}
}

await api(req, { version: 'v3' }).patch(`/school/${res.locals.currentSchool}`, {
json: requestBody,
});
Expand Down
4 changes: 0 additions & 4 deletions locales/de.json
Original file line number Diff line number Diff line change
Expand Up @@ -566,7 +566,6 @@
"generalSettings": "Allgemeine Einstellungen"
},
"label": {
"activeChatFunction": "Chatfunktion aktivieren",
"activeMatrixFunction": "Matrix Messenger aktivieren",
"afterTheTransferPhaseEnded": "Nach Beenden der Transferphase",
"allStudentsVisibility": "Die Aktivierung dieser Option hat datenschutzrechtlich eine hohe Schwelle. Um die Sichtbarkeit aller Schüler:innen der Schule für jede Lehrkraft zu aktivieren, ist es erforderlich, dass jede/r Schüler:in wirksam in diese Datenverarbeitung eingewilligt hat.",
Expand All @@ -585,7 +584,6 @@
"dataProtectionAdd": "Datenschutzerklärung hinzufügen",
"duringTheSchoolYear": "Während des Schuljahres",
"duringTheTransferPhase": "Während der Transferphase",
"enableVideoConference": "Videokonferenzen für Kurse und Teams aktivieren",
"endOfTheTransferPhase": "Beenden der Transferphase",
"fileStorageSpaceUsedInCloud": "Genutzter Datei-Speicherplatz in der Cloud",
"inTheTransferPhase": "in der Transferphase:",
Expand Down Expand Up @@ -631,9 +629,7 @@
"fileSelected": "Datei ausgewählt",
"fileTooLarge": "PDF Datei ist zu groß. Maximal {{size}}MB",
"ifChatsAreActivatedAtYourSchool": "Sind Chats an deiner Schule aktiviert, können Team-Admins im jeweiligen Team sowie Lehrkräfte in ihren Kursen die Chatfunktion gezielt freischalten.",
"ifChatsAreActivatedAtYourSchoolTeamAdministratorsCan": "Sind Chats an deiner Schule aktiviert, können Team-Admins im jeweiligen Team die Chatfunktion gezielt freischalten.",
"ifMatrixIsActivatedAtYourSchool": "Ist der Matrix Messenger aktiviert, können alle Lehrkräfte dieser Schule Chaträume, private Unterhaltungen oder kurs- und teaminterne Gruppendiskussionen starten. Schüler:innen haben dort anfangs nur Leserechte, können aber über die Kurs- und Teameinstellungen auch Schreibrechte zugewiesen bekommen. Mehr Informationen dazu findest du im ",
"ifVideoConferenceAreActivatedAtYourSchool": "Sind Videokonferenzen an deiner Schule aktiviert, können Lehrkräfte ihrem Kurs im Bereich Tools das Videokonferenz-Tool hinzufügen und dann von dort aus Videokonferenzen für alle Kursteilnehmer:innen starten. Team-Admins können die Videokonferenzfunktion im jeweiligen Team aktivieren. Team-Leiter:innen und Team-Admins können dann Videokonferenzen zu Terminen hinzufügen und starten.",
"LDAPChanges": "du kannst die notwendigen Änderungen für das neue Schuljahr im\nLDAP vornehmen (neue Nutzer:innen, Update der Klassen)",
"lernstoreEnabledForStudents": "Wenn diese Option nicht aktiviert ist, können die Schüler:innen nicht auf den Lern-Store zugreifen",
"loginViaLDAP": "der Login via LDAP ist für bestehende Nutzer:innen weiterhin möglich",
Expand Down
4 changes: 0 additions & 4 deletions locales/en.json
Original file line number Diff line number Diff line change
Expand Up @@ -566,7 +566,6 @@
"generalSettings": "General Settings"
},
"label": {
"activeChatFunction": "Activate chat function",
"activeMatrixFunction": "Activate Matrix Messenger",
"afterTheTransferPhaseEnded": "After the transfer phase has ended",
"allStudentsVisibility": "Activating this option has a high threshold under data protection law. In order to activate the visibility of all students in the school for each teacher, it is necessary that each student has effectively consented to this data processing.",
Expand All @@ -585,7 +584,6 @@
"dataProtectionAdd": "Add privacy policy",
"duringTheSchoolYear": "During the school year",
"duringTheTransferPhase": "During the transfer phase",
"enableVideoConference": "Activate video conferencing for courses and teams",
"endOfTheTransferPhase": "End of the transfer phase",
"fileStorageSpaceUsedInCloud": "Used file storage in the cloud",
"inTheTransferPhase": "in the transfer phase:",
Expand Down Expand Up @@ -631,9 +629,7 @@
"fileSelected": "File selected",
"fileTooLarge": "PDF file is too large. It can be at max {{size}}MB large.",
"ifChatsAreActivatedAtYourSchool": "If chats are enabled at your school, team administrators and teachers can selectively unlock the chat function respectively for their team or courses.",
"ifChatsAreActivatedAtYourSchoolTeamAdministratorsCan": "If chats are enabled at your school, team administrators in the respective team can specifically unlock the chat function.",
"ifMatrixIsActivatedAtYourSchool": "If the Matrix Messenger is activated, all teachers in this school can start chat rooms, private conversations or group discussions within the course or team. Students initially have read-only access, but can also be given write access via the course and team settings. Students can also start private chats within courses and teams. You can find more information about this in the ",
"ifVideoConferenceAreActivatedAtYourSchool": "If video conferencing is enabled at your school, teachers can add the video conferencing tool to their course in the Tools section and then start video conferencing for all course participants from there. Team administrators can activate the video conference function in the respective team. Team leaders and team admins can then add and start video conferences for appointments.",
"LDAPChanges": "you can make the necessary changes for the new school year in the\nLDAP (new users, update classes)",
"lernstoreEnabledForStudents": "If unchecked, then the students will not be able to access Learning Store",
"loginViaLDAP": "Login via LDAP is still possible for existing users",
Expand Down
4 changes: 0 additions & 4 deletions locales/es.json
Original file line number Diff line number Diff line change
Expand Up @@ -566,7 +566,6 @@
"generalSettings": "Configuración general"
},
"label": {
"activeChatFunction": "Activar función de chat",
"activeMatrixFunction": "Activar Matrix Messenger",
"afterTheTransferPhaseEnded": "Una vez finalizada la fase de transferencia",
"allStudentsVisibility": "La activación de esta opción tiene un nivel alto según la ley de protección de datos. Para activar la visibilidad de todos los alumnos de la escuela para cada profesor, es necesario que cada alumno haya dado su consentimiento de manera efectiva para este tratamiento de datos.",
Expand All @@ -585,7 +584,6 @@
"dataProtectionAdd": "Añadir política de privacidad",
"duringTheSchoolYear": "Durante el año escolar",
"duringTheTransferPhase": "Durante la fase de transferencia",
"enableVideoConference": "Activar videoconferencias para cursos y equipos",
"endOfTheTransferPhase": "Fin de la fase de transferencia",
"fileStorageSpaceUsedInCloud": "Almacenamiento de archivos usados en la nube",
"inTheTransferPhase": "en la fase de transferencia:",
Expand Down Expand Up @@ -631,9 +629,7 @@
"fileSelected": "Archivo seleccionado",
"fileTooLarge": "El archivo PDF es demasiado grande. Puede tener un tamaño máximo de {{size}} MB.",
"ifChatsAreActivatedAtYourSchool": "Si los chats están habilitados en tu escuela, los administradores del equipo y los profesores pueden desbloquear la función de chat de manera selectiva y respectivamente para su equipo o cursos.",
"ifChatsAreActivatedAtYourSchoolTeamAdministratorsCan": "Si los chats están habilitados en tu escuela, los administradores del equipo en el equipo respectivo pueden desbloquear específicamente la función de chat.",
"ifMatrixIsActivatedAtYourSchool": "Si se activa Matrix Messenger, todos los profesores de esta escuela pueden iniciar salas de chat, conversaciones privadas o discusiones en grupo dentro del curso o equipo. Los estudiantes inicialmente solo tienen acceso de lectura, pero también se les puede dar acceso de escritura a través de la configuración del curso y del equipo. Los estudiantes también pueden iniciar chats privados dentro de los cursos y equipos. Puedes encontrar más información al respecto en la",
"ifVideoConferenceAreActivatedAtYourSchool": "Si la videoconferencia está habilitada en tu escuela, los profesores pueden añadir la herramienta de videoconferencia a su curso en la sección Herramientas y entonces podrán iniciar desde allí videoconferencias para todos los participantes del curso. Los administradores del equipo pueden activar la función de videoconferencia en el equipo respectivo. Los líderes de equipo y los administradores de equipo pueden añadir e iniciar videoconferencias para citas.",
"LDAPChanges": "Puedes realizar los cambios necesarios para el nuevo año escolar en LDAP (nuevos usuarios, clases de actualización)",
"lernstoreEnabledForStudents": "Si no está seleccionado, los estudiantes no podrán acceder a Lern-Store",
"loginViaLDAP": "El inicio de sesión a través de LDAP sigue siendo posible para los usuarios existentes",
Expand Down
4 changes: 0 additions & 4 deletions locales/uk.json
Original file line number Diff line number Diff line change
Expand Up @@ -862,8 +862,6 @@
"coursesWithLearningContent": "Курси з навчальним контентом для наступного навчального року також можна створити у фазі переходу (без призначення класу)",
"doNotEndTheTransferPhase": "Не завершуйте фазу переходу, доки користувачів не буде призначено до нових класів",
"ifChatsAreActivatedAtYourSchool": "Якщо у вашій школі ввімкнено чати, адміністратори команд і викладачі можуть вибірково розблокувати функцію чату відповідно для своєї команди або курсів.",
"ifChatsAreActivatedAtYourSchoolTeamAdministratorsCan": "Якщо у вашій школі ввімкнено чати, адміністратори команди у відповідній команді можуть спеціально розблокувати функцію чату.",
"ifVideoConferenceAreActivatedAtYourSchool": "Якщо у вашій школі увімкнені відеоконференції, викладачі можуть додати інструмент відеоконференцій до свого курсу в розділі «Інструменти», а потім почати відеоконференції для всіх учасників курсу звідти. Адміністратори команд можуть активувати функцію відеоконференції у відповідній команді. Керівники команд і адміністратори команд можуть потім додавати та розпочинати відеоконференції для призначення зустрічей.",
"loginViaLDAP": "Вхід в систему через LDAP все ще можливий для наявних користувачів",
"newSchoolYear": "Новий навчальний рік",
"newUsersClassesAndChanges": "Щойно додані користувачі, класи та зміни в наявних даних не синхронізуються з LDAP",
Expand Down Expand Up @@ -897,7 +895,6 @@
"saveGeneralSettings": "Збережіть загальні налаштування"
},
"label": {
"activeChatFunction": "Активувати функцію чату",
"afterTheTransferPhaseEnded": "Після завершення фази переходу",
"allStudentsVisibility": "Активація цієї опції має високе граничне значення згідно із законодавством про захист даних. Щоб активувати видимість усіх учнів у школі для кожного викладача, необхідно, щоб кожен учень надав свою фактичну згоду на таку обробку даних.",
"allStudentsVisibilityBrandenburg": "Увімкнення цієї опції вмикає видимість всіх учнів цієї школи для кожного вчителя.",
Expand All @@ -911,7 +908,6 @@
"dataProtectionAdd": "Додати політику конфіденційності",
"duringTheSchoolYear": "Протягом навчального року",
"duringTheTransferPhase": "Під час фази переходу",
"enableVideoConference": "Активувати відеоконференції для курсів і команд",
"endOfTheTransferPhase": "Закінчення фази переходу",
"fileStorageSpaceUsedInCloud": "Використовується сховище файлів у хмарі",
"inTheTransferPhase": "у фазі переходу:",
Expand Down
45 changes: 0 additions & 45 deletions views/administration/school.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -289,51 +289,6 @@
{{/ifConfig}}
{{/ifConfig}}

{{! Only hide setting from UI and not completly from the DOM to ensure that the configured state is passed back to the server }}
<div class="form-group {{#unless @root.ROCKETCHAT_SERVICE_ENABLED}}hidden{{/unless}}">
<div {{#hasConfig "ROCKET_CHAT_DEPRECATION_DATE"}}style="opacity: 0.4"{{/hasConfig}}>
<label>
<input
type="checkbox"
name="rocketChat"
value="true"
data-testid="school-administration-chat-checkbox"
{{#inArray "rocketChat" ../school.features}}checked{{/inArray}}
{{#userHasPermission 'SCHOOL_EDIT'}}{{else}}
{{#userHasPermission 'SCHOOL_CHAT_MANAGE'}}{{else}}
disabled
{{/userHasPermission}}
{{/userHasPermission}}
{{#hasConfig "ROCKET_CHAT_DEPRECATION_DATE"}}
disabled
{{/hasConfig}}
/>
{{$t "administration.school.label.activeChatFunction" }}
</label>
<p class="text-muted">
{{$t "administration.school.text.ifChatsAreActivatedAtYourSchoolTeamAdministratorsCan" }}
</p>
</div>
{{#hasConfig "ROCKET_CHAT_DEPRECATION_DATE"}}
<p class="alert alert-info">
<strong><i class="fa fa-info-circle" aria-hidden="true"></i> {{$t "global.text.info"}}</strong>
{{$t "administration.school.text.rocketChatDeprecationInfo" (dict "date" (i18nDate (getConfig "ROCKET_CHAT_DEPRECATION_DATE")))}}
</p>
{{/hasConfig}}
</div>

{{#ifConfig "FEATURE_VIDEOCONFERENCE_ENABLED" true}}
<div class="form-group">
<label>
<input type="checkbox" name="videoconference" value="true" data-testid="school-administration-video-conference-checkbox"
{{#inArray "videoconference" ../../school.features}}checked{{/inArray}}>
{{$t "administration.school.label.enableVideoConference" }}
<p class="text-muted">
{{$t "administration.school.text.ifVideoConferenceAreActivatedAtYourSchool" }}
</p>
</label>
</div>
{{/ifConfig}}
{{#if ../school.fileStorageType}}
<div class="form-group">
<label>{{$t "administration.school.label.cloudStorageProvider" }}</label>
Expand Down
Loading