From 580f21160816966ea6cfa7012d008957a259a8c3 Mon Sep 17 00:00:00 2001 From: Murat Merdoglu <64781656+muratmerdoglu-dp@users.noreply.github.com> Date: Mon, 2 Dec 2024 13:24:22 +0100 Subject: [PATCH 1/4] delete announcement (#3546) BC-8322 - delete announcement --- locales/de.json | 1 - locales/en.json | 1 - locales/es.json | 1 - locales/uk.json | 1 - 4 files changed, 4 deletions(-) diff --git a/locales/de.json b/locales/de.json index 22ae8f8630..fa7e19b9ef 100644 --- a/locales/de.json +++ b/locales/de.json @@ -1250,7 +1250,6 @@ }, "text": { "announcementBrb": "Neu bei bettermarks: Fertige Unterrichtseinheiten jetzt für Klasse 5 bis 8 und neue Übungs- und Testaufgaben für Jahrgangsstufe 4 bis 13!
Hier finden Sie unsere Kursbeispiele/Themenvorschläge für die Schul-Cloud Brandenburg: einsehen, auswählen und als eigenen Kurs importieren!", - "announcement": "Nehmen Sie an unserer Zufriedenheitsumfrage teil und helfen Sie uns, die Cloud zu verbessern. Hier geht’s zur Befragung.", "emptyHomeworksInfo": "Keine gestellten Aufgaben. Du findest alle Aufgaben im Aufgaben-Bereich.", "emptyNewsInfo": "Bisher gibt es keine News.", "graded": "Bewertet", diff --git a/locales/en.json b/locales/en.json index 459a04f9d8..e12314a278 100644 --- a/locales/en.json +++ b/locales/en.json @@ -1250,7 +1250,6 @@ }, "text": { "announcementBrb": "New at bettermarks: Ready-made teaching units now for grades 5 to 8 and new exercises and tests for grades 4 to 13!
Here you can find our course examples/topic suggestions for the Brandenburg School Cloud: view, select and import as your own course!", - "announcement": "Take part in our satisfaction survey and help us to improve the cloud. Click here to go to the survey (exclusively in German language).", "emptyHomeworksInfo": "No assigned tasks. You can find all tasks in the tasks area.", "emptyNewsInfo": "So far there is no news.", "graded": "Graded", diff --git a/locales/es.json b/locales/es.json index 3c79f69d26..b44d97d3a5 100644 --- a/locales/es.json +++ b/locales/es.json @@ -1250,7 +1250,6 @@ }, "text": { "announcementBrb": "Nuevo en bettermarks: Unidades didácticas preparadas ahora para los cursos 5º a 8º y nuevos ejercicios y tests para los cursos 4º a 13º!
Aquí puede encontrar nuestros ejemplos de cursos/sugerencias de temas para la Nube Escolar de Brandenburgo: ¡visualícelos, selecciónelos e impórtelos como su propio curso!", - "announcement": "Participe en nuestra encuesta de satisfacción y ayúdenos a mejorar la nube. Haga clic aquí para acceder a la encuesta (exclusivamente en alemán).", "emptyHomeworksInfo": "No hay tareas asignadas. Puedes encontrarar todas las tareas en el área de tareas.", "emptyNewsInfo": "Hasta el momento no hay noticias.", "graded": "Calificado", diff --git a/locales/uk.json b/locales/uk.json index 7cbab54ba3..b291f3ef13 100644 --- a/locales/uk.json +++ b/locales/uk.json @@ -10,7 +10,6 @@ }, "text": { "announcementBrb": "Нове на bettermarks: Готові навчальні блоки для 5-8 класів та нові вправи і тести для 4-13 класів!
Тут ви можете знайти приклади наших курсів/пропозиції тем для Бранденбурзької шкільної хмари: переглядайте, обирайте та імпортуйте як свій власний курс!", - "announcement": "Візьміть участь у нашому опитуванні та допоможіть нам покращити хмару. Натисніть тут, щоб пройти опитування (виключно німецькою мовою).", "notFound": "Активних записів не знайдено.", "emptyHomeworksInfo": "Усі домашні завдання показуються в розділі домашніх завдань.", "emptyNewsInfo": "Немає останніх новин. Перегляньте розділ новин, щоб бути в курсі.", From 9312d68e8873a8158a2481cda7dfc935436e42c9 Mon Sep 17 00:00:00 2001 From: Max <53796487+dyedwiper@users.noreply.github.com> Date: Mon, 2 Dec 2024 16:49:00 +0100 Subject: [PATCH 2/4] BC-7994 Use node --watch instead of nodemon (#3547) --- README.md | 10 +--------- nodemon.json | 20 -------------------- package-lock.json | 1 - package.json | 7 ++----- 4 files changed, 3 insertions(+), 35 deletions(-) delete mode 100644 nodemon.json diff --git a/README.md b/README.md index 4a568dabdd..799790019f 100644 --- a/README.md +++ b/README.md @@ -23,22 +23,14 @@ Short setup version: 1. Clone directory into local folder 2. Go into the cloned folder and enter `npm install` -3. Install nodemon and gulp globally by entering `npm install -g nodemon gulp` ## Run 1. Start the [schul-cloud server](https://github.com/hpi-schul-cloud/schulcloud-server) 2. Go into project folder -3. Run `gulp watch` to run gulp -4. Set the ENV-variable `TZ=Europe/Berlin` (for windows use `set TZ=Europe/Berlin`). You can also set the variables `SC_TITLE=HPI Schul-Cloud` if you want. -5. run `npm run watch` to boot the application +5. run `npm run dev` to boot the application 6. go to `http://localhost:3100` -**Alternative with browser-sync** - -1. run `gulp watch-reload` to run gulp with browser sync. It also starts the node-client-server. -2. go to `http://localhost:7000` - For connecting to the [SchulCloud Calendar-Service](https://github.com/hpi-schul-cloud/schulcloud-calendar) you have to set `export CALENDAR_SERVICE_ENABLED=true`. For connecting to the [SchulCloud Notification-Service](https://github.com/hpi-schul-cloud/node-notification-service) you have to set `export NOTIFICATION_SERVICE_ENABLED=true`. diff --git a/nodemon.json b/nodemon.json deleted file mode 100644 index 312a6178c4..0000000000 --- a/nodemon.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "ignore": [ - ".git", - "node_modules/**/node_modules" - ], - "watch": [ - "build", - "views", - "theme", - "controllers", - "helpers", - "locales", - "config", - "app.js", - "api.js" - ], - "exec": "node ./bin/www", - "ext": "js, hbs, json", - "delay": "2000" -} diff --git a/package-lock.json b/package-lock.json index ef78373992..e0a1067ac6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -152,7 +152,6 @@ "imagemin-lint-staged": "^0.5.1", "lint-staged": "^10.5.4", "mocha": "^10.1.0", - "nodemon": "^2.0.20", "nyc": "^15.1.0", "postcss-css-variables": "^0.13.0", "pump": "^1.0.2", diff --git a/package.json b/package.json index e486d325b5..32c52cd789 100644 --- a/package.json +++ b/package.json @@ -2,11 +2,9 @@ "name": "schulcloud-client", "scripts": { "start": "node --unhandled-rejections=warn ./bin/www", - "watch": "nodemon --config nodemon.json", - "debug": "nodemon --inspect=9310 --config nodemon.json", - "debug:container": "nodemon --inspect=0.0.0.0:9310 --config nodemon.json", + "watch": "node --watch ./bin/www", + "debug": "node --inspect=9310 --watch ./bin/www", "lint": "eslint --ext .json --fix . && eslint ./controllers ./helpers ./test/mocha ./api.js ./app.js ./locales --ext .js --ext .json --fix", - "startd": "echo 'Do you mean 'npm run watch'?'", "mocha": "cross-env NODE_ENV=test mocha test/mocha/ --exit --recursive", "build": "gulp clear && cross-env NODE_OPTIONS=--openssl-legacy-provider gulp", "dev": "gulp clear && cross-env NODE_OPTIONS=--openssl-legacy-provider gulp watch-reload", @@ -173,7 +171,6 @@ "imagemin-lint-staged": "^0.5.1", "lint-staged": "^10.5.4", "mocha": "^10.1.0", - "nodemon": "^2.0.20", "nyc": "^15.1.0", "postcss-css-variables": "^0.13.0", "pump": "^1.0.2", From 5f18f3447477b7286708946b9ef3f41ca9ee160d Mon Sep 17 00:00:00 2001 From: Uwe Ilgenstein Date: Wed, 4 Dec 2024 17:14:43 +0100 Subject: [PATCH 3/4] BC-8348 - Implement Sharing and Copying of Room Boards (#3549) * exclude room sidebar item for unauthorized users --- helpers/handlebars/middleware.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/helpers/handlebars/middleware.js b/helpers/handlebars/middleware.js index 76a3084471..2c50c52041 100644 --- a/helpers/handlebars/middleware.js +++ b/helpers/handlebars/middleware.js @@ -9,6 +9,7 @@ const { ALERT_STATUS_URL, SC_THEME, } = require('../../config/global'); +const { permission } = require('process'); const makeActive = (items, currentUrl) => { currentUrl += '/'; @@ -181,6 +182,7 @@ module.exports = (req, res, next) => { testId: 'Rooms', icon: 'account-supervisor-circle-outline', link: '/rooms', + permission: 'ROOM_CREATE', }); } From 74a65d6ac86c40fd620102ac455bf66640f402a7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marvin=20=C3=96hlerking?= <103562092+MarvinOehlerkingCap@users.noreply.github.com> Date: Wed, 11 Dec 2024 09:14:23 +0100 Subject: [PATCH 4/4] N21-2266 Add error for external users without role (#3550) --- helpers/authentication.js | 4 ++++ locales/de.json | 4 +++- locales/en.json | 4 +++- locales/es.json | 4 +++- locales/uk.json | 4 +++- 5 files changed, 16 insertions(+), 4 deletions(-) diff --git a/helpers/authentication.js b/helpers/authentication.js index 854287989a..f7760bc81a 100644 --- a/helpers/authentication.js +++ b/helpers/authentication.js @@ -311,6 +311,10 @@ const mapErrorToTranslationKey = (error) => { return 'login.text.multipleUsersFound'; case 'USER_ACCOUNT_DEACTIVATED': return 'login.text.userAccountDeactivated'; + case 'EXTERNAL_USER_ROLE_UNKNOWN': + return 'login.text.externalUserRoleUnknown'; + case 'SCHOOL_MISSING': + return 'login.text.unprocessableData'; default: return 'login.text.loginFailed'; } diff --git a/locales/de.json b/locales/de.json index fa7e19b9ef..c525ae1a99 100644 --- a/locales/de.json +++ b/locales/de.json @@ -2596,7 +2596,9 @@ "schoolInMigration": "Deine Schule wechselt gerade das Anmeldesystem zu {{systemName}}. Bevor Du Dich über {{systemName}} anmelden kannst, musst Du Deinen Account umziehen. Melde Dich dazu mit Deinem alten System an.", "userNotFoundAfterProvisioning": "Login fehlgeschlagen. Entweder ist die Schule noch nicht zu {{systemName}} umgezogen oder die Erstellung neuer Nutzer in der {{shortTitle}} ist für die Schule nicht aktiv. Bitte wenden Sie sich an Ihren Schuladministrator.", "multipleUsersFound": "Dieser moin.schule-Benutzer kann nicht eindeutig einem Account in der Niedersächsischen Bildungscloud zugeordnet werden. Bitte Support benachrichtigen!", - "userAccountDeactivated": "Ihr Konto wurde deaktiviert. Bitte wenden Sie sich an Ihren Schuladministrator." + "userAccountDeactivated": "Ihr Konto wurde deaktiviert. Bitte wenden Sie sich an Ihren Schuladministrator.", + "externalUserRoleUnknown": "Konto mit einer unbekannten Nutzer-Rolle kann nicht angemeldet werden. Bitte an Schuladministrator wenden.", + "unprocessableData": "Die Daten des Anmeldesystems konnten nicht vollständig verarbeitet werden. Bitte erneut versuchen oder den Support kontaktieren." } }, "messenger": { diff --git a/locales/en.json b/locales/en.json index e12314a278..9c47be1549 100644 --- a/locales/en.json +++ b/locales/en.json @@ -2596,7 +2596,9 @@ "schoolInMigration": "Your school is in the process of changing the login system to {{systemName}}. Before you can log in via {{systemName}}, you have to move your account. To do this, log in with your old system.", "userNotFoundAfterProvisioning": "Login failed. Either the school hasn't moved to {{systemName}} yet or the creation of new users in the {{shortTitle}} is not active for the school. Please contact your school administrator.", "multipleUsersFound": "This moin.schule user cannot be clearly assigned to an account in the Niedersächsische Bildungscloud. Please contact support!", - "userAccountDeactivated": "Your account has been deactivated. Please contact your school administrator." + "userAccountDeactivated": "Your account has been deactivated. Please contact your school administrator.", + "externalUserRoleUnknown": "Account with an unknown user role cannot be logged in. Please contact school administrator.", + "unprocessableData": "The login system data could not be fully processed. Please try again or contact support." } }, "messenger": { diff --git a/locales/es.json b/locales/es.json index b44d97d3a5..b44063823e 100644 --- a/locales/es.json +++ b/locales/es.json @@ -2596,7 +2596,9 @@ "schoolInMigration": "Su escuela está en proceso de cambiar el sistema de registro a {{systemName}}. Antes de que pueda iniciar sesión a través de {{systemName}}, debe mover su cuenta. Para hacer esto, inicie sesión con su antiguo sistema.", "userNotFoundAfterProvisioning": "Error de inicio de sesion. La escuela aún no se ha mudado a {{systemName}} o la creación de nuevos usuarios en {{shortTitle}} no está activa para la escuela. Comuníquese con el administrador de su escuela.", "multipleUsersFound": "Este usuario de moin.schule no puede ser asignado claramente a una cuenta en la Niedersächsische Bildungscloud. Póngase en contacto con el servicio de asistencia.", - "userAccountDeactivated": "Su cuenta ha sido desactivada. Comuníquese con el administrador de su escuela." + "userAccountDeactivated": "Su cuenta ha sido desactivada. Comuníquese con el administrador de su escuela.", + "externalUserRoleUnknown": "No se puede iniciar sesión en una cuenta con una función de usuario desconocida. Comuníquese con el administrador de la escuela.", + "unprocessableData": "Los datos del sistema de registro no se pudieron procesar en su totalidad. Inténtelo de nuevo o comuníquese con el soporte." } }, "messenger": { diff --git a/locales/uk.json b/locales/uk.json index b291f3ef13..cb7e18abf4 100644 --- a/locales/uk.json +++ b/locales/uk.json @@ -1836,7 +1836,9 @@ "schoolInMigration": "Ваша школа перебуває в процесі зміни системи реєстрації на {{systemName}}. Перш ніж ви зможете увійти через {{systemName}}, вам потрібно перемістити свій обліковий запис. Для цього увійдіть у свою стару систему.", "userNotFoundAfterProvisioning": "Помилка логіну. Або школа ще не переїхала до {{systemName}}, або створення нових користувачів у {{shortTitle}} неактивне для школи. Будь ласка, зверніться до адміністратора школи.", "multipleUsersFound": "Цей користувач moin.schule не може бути чітко прив'язаний до облікового запису в Niedersächsische Bildungscloud. Будь ласка, зверніться до служби підтримки!", - "userAccountDeactivated": "Ваш обліковий запис було деактивовано. Будь ласка, зверніться до адміністратора школи." + "userAccountDeactivated": "Ваш обліковий запис було деактивовано. Будь ласка, зверніться до адміністратора школи.", + "externalUserRoleUnknown": "Неможливо ввійти в обліковий запис із невідомою роллю користувача. Будь ласка, зверніться до адміністратора школи.", + "unprocessableData": "Не вдалося повністю обробити дані системи реєстрації. Спробуйте ще раз або зверніться до служби підтримки." }, "separatorExternalLogin": { "text": {