Catalogue: Creation of the catalog of courses and sessions - refs #2571
pull/3713/head^2
Angel Fernando Quiroz Campos 2 years ago committed by GitHub
commit aaf6af02d3
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 59
      assets/css/scss/_catalog_course.scss
  2. 66
      assets/css/scss/_catalog_session.scss
  3. 2
      assets/css/scss/index.scss
  4. 24
      assets/locales/ar.json
  5. 24
      assets/locales/ast_ES.json
  6. 24
      assets/locales/bg.json
  7. 24
      assets/locales/bn_BD.json
  8. 24
      assets/locales/bo_CN.json
  9. 24
      assets/locales/bs_BA.json
  10. 24
      assets/locales/ca_ES.json
  11. 24
      assets/locales/cs_CZ.json
  12. 24
      assets/locales/da.json
  13. 24
      assets/locales/de.json
  14. 24
      assets/locales/el.json
  15. 24
      assets/locales/en.json
  16. 24
      assets/locales/eo.json
  17. 24
      assets/locales/es.json
  18. 24
      assets/locales/eu_ES.json
  19. 24
      assets/locales/fa_AF.json
  20. 24
      assets/locales/fa_IR.json
  21. 24
      assets/locales/fi_FI.json
  22. 24
      assets/locales/fo_FO.json
  23. 28
      assets/locales/fr_FR.json
  24. 24
      assets/locales/fur.json
  25. 24
      assets/locales/gl.json
  26. 24
      assets/locales/he_IL.json
  27. 24
      assets/locales/hi.json
  28. 24
      assets/locales/hr_HR.json
  29. 24
      assets/locales/hu_HU.json
  30. 24
      assets/locales/id_ID.json
  31. 24
      assets/locales/it.json
  32. 24
      assets/locales/ja.json
  33. 24
      assets/locales/ka_GE.json
  34. 24
      assets/locales/ko_KR.json
  35. 24
      assets/locales/lt_LT.json
  36. 24
      assets/locales/lv_LV.json
  37. 24
      assets/locales/mk_MK.json
  38. 24
      assets/locales/ms_MY.json
  39. 24
      assets/locales/nl.json
  40. 24
      assets/locales/nn_NO.json
  41. 24
      assets/locales/oc.json
  42. 24
      assets/locales/pl_PL.json
  43. 24
      assets/locales/ps.json
  44. 24
      assets/locales/pt_PT.json
  45. 24
      assets/locales/quz_PE.json
  46. 24
      assets/locales/ro_RO.json
  47. 24
      assets/locales/ru_RU.json
  48. 24
      assets/locales/sk_SK.json
  49. 24
      assets/locales/sl_SI.json
  50. 24
      assets/locales/so_SO.json
  51. 24
      assets/locales/sr_RS.json
  52. 24
      assets/locales/sv_SE.json
  53. 24
      assets/locales/sw_KE.json
  54. 24
      assets/locales/th.json
  55. 24
      assets/locales/tl_PH.json
  56. 24
      assets/locales/tr.json
  57. 24
      assets/locales/uk_UA.json
  58. 24
      assets/locales/vi_VN.json
  59. 24
      assets/locales/xh_ZA.json
  60. 24
      assets/locales/yo_NG.json
  61. 24
      assets/locales/zh_CN.json
  62. 24
      assets/locales/zh_TW.json
  63. 8
      assets/vue/layouts/Catalog.vue
  64. 1
      assets/vue/main.js
  65. 470
      assets/vue/views/course/Catalog.vue
  66. 288
      assets/vue/views/course/CatalogSession.vue
  67. 42
      src/CoreBundle/Entity/Course.php
  68. 2
      src/CoreBundle/Entity/CourseCategory.php
  69. 2
      src/CoreBundle/Entity/SessionRelCourse.php
  70. 87
      src/CoreBundle/Entity/TrackCourseRanking.php
  71. 3
      src/CoreBundle/Entity/User.php

@ -0,0 +1,59 @@
::v-deep(.p-paginator) {
.p-paginator-current {
margin-left: auto;
}
}
.course-image {
width: 130px;
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23)
}
.p-input-icon-left > i:first-of-type {
left: 0.75rem;
color: #6c757d;
}
.p-input-icon-left > i, .p-input-icon-right > i {
margin-top: -.5rem;
position: absolute;
top: 50%;
}
.p-input-icon-left > .p-inputtext {
padding-left: 2.5rem;
}
.p-inputtext {
font-size: 1rem;
color: #495057;
background: #ffffff;
padding: 0.75rem 0.75rem;
border: 1px solid #ced4da;
transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
appearance: none;
border-radius: 6px;
}
.p-inputtext:enabled:hover {
border-color: #3B82F6;
}
.p-inputtext:enabled:focus {
outline: 0 none;
outline-offset: 0;
box-shadow: 0 0 0 0.2rem #BFDBFE;
border-color: #3B82F6;
}
::v-deep(.p-datatable.p-datatable-courses) {
.p-datatable-header {
padding: 1rem;
text-align: left;
font-size: 1.5rem;
}
.p-paginator {
padding: 1rem;
}
.p-datatable-thead > tr > th {
text-align: left;
}
.p-datatable-tbody > tr > td {
cursor: auto;
}
}

@ -0,0 +1,66 @@
::v-deep(.p-paginator) {
.p-paginator-current {
margin-left: auto;
}
}
.course-image {
width: 130px;
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23)
}
.session-name {
font-weight: 700 !important;
}
.p-input-icon-left > i:first-of-type {
left: 0.75rem;
color: #6c757d;
}
.p-input-icon-left > i, .p-input-icon-right > i {
margin-top: -.5rem;
position: absolute;
top: 50%;
}
.p-input-icon-left > .p-inputtext {
padding-left: 2.5rem;
}
.p-inputtext {
font-size: 1rem;
color: #495057;
background: #ffffff;
padding: 0.75rem 0.75rem;
border: 1px solid #ced4da;
transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
appearance: none;
border-radius: 6px;
}
.p-inputtext:enabled:hover {
border-color: #3B82F6;
}
.p-inputtext:enabled:focus {
outline: 0 none;
outline-offset: 0;
box-shadow: 0 0 0 0.2rem #BFDBFE;
border-color: #3B82F6;
}
.orders-subtable {
padding: 1rem;
}
::v-deep(.p-datatable.p-datatable-sessions) {
.p-datatable-header {
padding: 1rem;
text-align: left;
font-size: 1.5rem;
}
.p-paginator {
padding: 1rem;
}
.p-datatable-thead > tr > th {
text-align: left;
}
.p-datatable-tbody > tr > td {
cursor: auto;
}
}

@ -56,5 +56,7 @@
@import 'forums';
@import 'exercise';
@import 'catalog_course';
@import 'catalog_session';
//@import 'jqueryui';
@import 'lp';

@ -130,5 +130,27 @@
"Edit profile": "\u062a\u0639\u062f\u064a\u0644 \u0627\u0644\u062d\u0633\u0627\u0628",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": " \u0625\u062f\u0627\u0631\u0629 \u0627\u0644\u0645\u0642\u0631\u0631\u0627\u062a",
"Sessions catalog": "Sessions catalog",
"Expand": "\u062a\u0648\u0633\u064a\u0639",
"Collapse": "\u062a\u0642\u0644\u064a\u0635",
"Clear filter results": "\u062d\u0630\u0641 \u0646\u062a\u0627\u0626\u062c \u0627\u0644\u062a\u0635\u0641\u064a\u0629",
"Coach": "\u0645\u062f\u0631\u0628",
"Ranking": "\u0627\u0644\u062a\u0631\u062a\u064a\u0628",
"Teachers": " \u0645\u062f\u0631\u0633\u064a \u0645\u0642\u0631\u0631",
"Categories": " \u0627\u0644\u062a\u0635\u0627\u0646\u064a\u0641",
"Category": "\u0627\u0644\u0641\u0626\u0629",
"Language": " \u0627\u0644\u0644\u063a\u0629",
"Go to the course": "\u0627\u0644\u0630\u0647\u0627\u0628 \u0627\u0644\u064a \u0627\u0644\u0645\u0642\u0631\u0631",
"Go to the session": "Go to the session",
"Total number of courses": "\u0645\u062c\u0645\u0648\u0639 \u0639\u062f\u062f \u0627\u0644\u0645\u0642\u0631\u0631\u0627\u062a",
"Number of sessions": "\u0639\u062f\u062f \u0627\u0644\u062f\u0648\u0631\u0627\u062a",
"Courses in this session": "\u0627\u0644\u0645\u0642\u0631\u0631\u0627\u062a \u0641\u064a \u0647\u0630\u0647 \u0627\u0644\u062f\u0648\u0631\u0629",
"Session description": "Session description",
"Start Date": "\u062a\u0627\u0631\u064a\u062e \u0627\u0644\u0628\u062f\u0627\u064a\u0629",
"No course available": "\u0644\u0627 \u064a\u0648\u062c\u062f \u0645\u0642\u0631\u0631",
"There are no sessions available": "\u0644\u0627 \u064a\u0648\u062c\u062f \u062f\u0648\u0631\u0627\u062a \u0645\u062a\u0627\u062d\u0629",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "Editar informaci\u00f3n",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Xestionar los mios cursos",
"Sessions catalog": "Sessions catalog",
"Expand": "Desplegar",
"Collapse": "Plegar",
"Clear filter results": "",
"Coach": "Tutor",
"Ranking": "Nivel",
"Teachers": "Profesores del cursu",
"Categories": "Categor\u00edes",
"Category": "Categor\u00eda",
"Language": "Idioma",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "Cantid\u00e1 de sesiones",
"Courses in this session": "Llist\u00e1u de cursos nesta sesi\u00f3n",
"Session description": "Session description",
"Start Date": "Fecha d'entamu",
"No course available": "ensin cursos",
"There are no sessions available": "Nun hai tov\u00eda nenguna sesi\u00f3n",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0430\u043d\u0435",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "\u0423\u0447\u0430\u0441\u0442\u0438\u0435 \u0432 \u043a\u0443\u0440\u0441\u043e\u0432\u0435\u0442\u0435 (\u0437\u0430\u043f\u0438\u0441\u0432\u0430\u043d\u0435, \u043e\u0442\u043f\u0438\u0441\u0432\u0430\u043d\u0435)",
"Sessions catalog": "Sessions catalog",
"Expand": "\u041f\u043e\u043a\u0430\u0436\u0438 \u0432\u0441\u0438\u0447\u043a\u0438",
"Collapse": "\u0421\u043a\u0440\u0438\u0439 \u0432\u0441\u0438\u0447\u043a\u0438",
"Clear filter results": "",
"Coach": "\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440",
"Ranking": "\u041a\u043b\u0430\u0441\u0430\u0446\u0438\u044f",
"Teachers": "\u041f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u0442\u0435\u043b\u0438 \u0432 \u043a\u0443\u0440\u0441\u0430",
"Categories": "\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438",
"Category": "\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u044f",
"Language": "\u0415\u0437\u0438\u043a",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "\u0411\u0440\u043e\u0439 \u0441\u0435\u0441\u0438\u0438",
"Courses in this session": "\u041a\u0443\u0440\u0441\u043e\u0432\u0435 \u0432 \u0442\u0430\u0437\u0438 \u0441\u0435\u0441\u0438\u044f",
"Session description": "Session description",
"Start Date": "\u041d\u0430\u0447\u0430\u043b\u043d\u0430 \u0434\u0430\u0442\u0430",
"No course available": "\u043d\u044f\u043c\u0430 \u043a\u0443\u0440\u0441\u043e\u0432\u0435",
"There are no sessions available": "\u041d\u044f\u043c\u0430 \u043d\u0430\u043b\u0438\u0447\u043d\u0438 \u0441\u0435\u0441\u0438\u0438.",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "",
"Ranking": "",
"Teachers": "",
"Categories": "",
"Category": "",
"Language": "",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "",
"Session description": "Session description",
"Start Date": "",
"No course available": "",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "",
"Ranking": "",
"Teachers": "",
"Categories": "",
"Category": "",
"Language": "",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "",
"Session description": "Session description",
"Start Date": "",
"No course available": "",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "",
"Ranking": "",
"Teachers": "",
"Categories": "",
"Category": "",
"Language": "",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "",
"Session description": "Session description",
"Start Date": "",
"No course available": "",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "Editar informaci\u00f3",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Cat\u00e1logo de cursos",
"Sessions catalog": "Sessions catalog",
"Expand": "Expandir",
"Collapse": "Contreure",
"Clear filter results": "Neteja els resultats",
"Coach": "Tutor",
"Ranking": "Nivell",
"Teachers": "Docents del curs",
"Categories": "Categories",
"Category": "Categoria",
"Language": "Idioma",
"Go to the course": "V\u00e9s al curs",
"Go to the session": "Go to the session",
"Total number of courses": "Nombre total de cursos",
"Number of sessions": "Nombre de sessions",
"Courses in this session": "Llista dels cursos d'aquesta sessi\u00f3",
"Session description": "Session description",
"Start Date": "Data inici",
"No course available": "no hi ha curs",
"There are no sessions available": "Encara no hi ha una sessi\u00f3",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Spr\u00e1va kurz\u016f",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "Tutor (studijn\u00ed vedouc\u00ed)",
"Ranking": "",
"Teachers": "Studenti",
"Categories": "Kategorie",
"Category": "Kategorie",
"Language": "Jazyk",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "\u0160kolenen\u00ed v tomto sezen\u00ed",
"Session description": "Session description",
"Start Date": "Datum za\u010d\u00e1tku",
"No course available": "",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Kursush\u00e5ndtering",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "Instruktor",
"Ranking": "",
"Teachers": "Undervisere",
"Categories": "Kategorier",
"Category": "Kategori",
"Language": "Sprog",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "Antal sessioner",
"Courses in this session": "Kursusoversigt i denne session",
"Session description": "Session description",
"Start Date": "Startdato",
"No course available": "ingen kursus",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "Profil bearbeiten",
"Update profile": "Profil aktualisieren",
"Firstname": "Vorname",
"Lastname": "Nachname"
"Lastname": "Nachname",
"Courses catalog": "Kursauswahl",
"Sessions catalog": "Sessions catalog",
"Expand": "ausklappen",
"Collapse": "zusammenklappen",
"Clear filter results": "Alle Filter aufheben",
"Coach": "Tutor",
"Ranking": "Bewertung",
"Teachers": "Kursleiter",
"Categories": "Kategorien",
"Category": "Kategorie",
"Language": "Sprache",
"Go to the course": "gehe zu Kurs",
"Go to the session": "Go to the session",
"Total number of courses": "Gesamtzahl der Kurse",
"Number of sessions": "Kurs-Sessions",
"Courses in this session": "Kursliste in dieser Kurs-Session",
"Session description": "Session description",
"Start Date": "Anfangsdatum",
"No course available": "kein Kurs verf\u00fcgbar",
"There are no sessions available": "Keine Kurs-Sessions verf\u00fcgbar",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "\u0395\u03c0\u03b5\u03be\u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b1 \u03c0\u03c1\u03bf\u03c6\u03af\u03bb",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "\u039a\u03b1\u03c4\u03ac\u03bb\u03bf\u03b3\u03bf\u03c2 \u03bc\u03b1\u03b8\u03b7\u03bc\u03ac\u03c4\u03c9\u03bd",
"Sessions catalog": "Sessions catalog",
"Expand": "\u0395\u03c0\u03ad\u03ba\u03c4\u03b1\u03c3\u03b7",
"Collapse": "\u03a3\u03cd\u03bc\u03c0\u03c4\u03b9\u03be\u03b7",
"Clear filter results": "\u039a\u03b1\u03b8\u03b1\u03c1\u03b9\u03c3\u03bc\u03cc\u03c2 \u03c6\u03af\u03bb\u03c4\u03c1\u03c9\u03bd \u03b1\u03c0\u03bf\u03c4\u03b5\u03bb\u03b5\u03c3\u03bc\u03ac\u03c4\u03c9\u03bd",
"Coach": "\u0394\u03b9\u03b4\u03ac\u03c3\u03ba\u03bf\u03bd\u03c4\u03b1\u03c2",
"Ranking": "\u039a\u03b1\u03c4\u03ac\u03c4\u03b1\u03be\u03b7",
"Teachers": "\u0395\u03ba\u03c0\u03b1\u03b9\u03b4\u03b5\u03c5\u03c4\u03b9\u03ba\u03bf\u03af",
"Categories": "\u039a\u03b1\u03c4\u03b7\u03b3\u03bf\u03c1\u03af\u03b5\u03c2",
"Category": "\u039a\u03b1\u03c4\u03b7\u03b3\u03bf\u03c1\u03af\u03b1",
"Language": "\u0393\u03bb\u03ce\u03c3\u03c3\u03b1",
"Go to the course": "\u039c\u03b5\u03c4\u03ac\u03b2\u03b1\u03c3\u03b7 \u03c3\u03c4\u03bf \u03bc\u03ac\u03b8\u03b7\u03bc\u03b1",
"Go to the session": "Go to the session",
"Total number of courses": "\u03a3\u03c5\u03bd\u03bf\u03bb\u03b9\u03ba\u03cc\u03c2 \u03b1\u03c1\u03b9\u03b8\u03bc\u03cc\u03c2 \u03bc\u03b1\u03b8\u03b7\u03bc\u03ac\u03c4\u03c9\u03bd",
"Number of sessions": "Number of sessions",
"Courses in this session": "\u039c\u03b1\u03b8\u03ae\u03bc\u03b1\u03c4\u03b1 \u03c3\u03c4\u03b7\u03bd \u03c0\u03b5\u03c1\u03af\u03bf\u03b4\u03bf",
"Session description": "Session description",
"Start Date": "\u0397\u03bc\u03b5\u03c1. \u0388\u03bd\u03b1\u03c1\u03be\u03b7\u03c2",
"No course available": "\u0394\u03b5\u03bd \u03c5\u03c0\u03ac\u03c1\u03c7\u03b5\u03b9 \u03b4\u03b9\u03b1\u03b8\u03ad\u03c3\u03b9\u03bc\u03bf \u03bc\u03ac\u03b8\u03b7\u03bc\u03b1",
"There are no sessions available": "There are no sessions available",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "Edit profile",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Courses catalog",
"Sessions catalog": "Sessions catalog",
"Expand": "Expand",
"Collapse": "Collapse",
"Clear filter results": "Clear filter results",
"Coach": "Coach",
"Ranking": "Ranking",
"Teachers": "Teachers",
"Categories": "Categories",
"Category": "Category",
"Language": "Language",
"Go to the course": "Go to the course",
"Go to the session": "Go to the session",
"Total number of courses": "Total number of courses",
"Number of sessions": "Number of sessions",
"Courses in this session": "Courses in this session",
"Session description": "Session description",
"Start Date": "Start Date",
"No course available": "No course available",
"There are no sessions available": "There are no sessions available",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Kursmastrumado",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "Akompananto (de grupoj)",
"Ranking": "",
"Teachers": "Kursinstruistoj",
"Categories": "Kategorioj",
"Category": "Fakultato",
"Language": "Lingvo",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "Kurslisto en \u0109i tiu sesio",
"Session description": "Session description",
"Start Date": "Startodato",
"No course available": "ne kurso",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "Editar informaci\u00f3n",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Cat\u00e1logo de cursos",
"Sessions catalog": "Sessions catalog",
"Expand": "Expandir",
"Collapse": "Contraer",
"Clear filter results": "Limpiar resultados",
"Coach": "Tutor",
"Ranking": "Nivel",
"Teachers": "Profesores del curso",
"Categories": "Categor\u00edas",
"Category": "Categor\u00eda",
"Language": "Idioma",
"Go to the course": "Ir al curso",
"Go to the session": "Go to the session",
"Total number of courses": "N\u00famero total de cursos",
"Number of sessions": "N\u00famero de sesiones",
"Courses in this session": "Lista de cursos en esta sesi\u00f3n",
"Session description": "Session description",
"Start Date": "Fecha de inicio",
"No course available": "Sin cursos disponibles",
"There are no sessions available": "No hay a\u00fan una sesi\u00f3n",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "Editatu informazioa",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Ikastaroen katalogoa",
"Sessions catalog": "Sessions catalog",
"Expand": "Zabaldu",
"Collapse": "Tolestu",
"Clear filter results": "Garbitu iragazitako emaitzak",
"Coach": "Arduraduna",
"Ranking": "Maila",
"Teachers": "Ikastaroko irakasleak",
"Categories": "Kategoriak",
"Category": "Kategoria",
"Language": "Hizkuntza",
"Go to the course": "Joan ikastarora",
"Go to the session": "Go to the session",
"Total number of courses": "Ikastaro kopurua, guztira",
"Number of sessions": "Saio kopurua",
"Courses in this session": "Ikastaro zerrenda saio honen barruan",
"Session description": "Session description",
"Start Date": "Hasiera eguna",
"No course available": "Ikastaro erabilgarririk gabe",
"There are no sessions available": "Ez dago inolako saiorik eskura",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "",
"Ranking": "",
"Teachers": "",
"Categories": "",
"Category": "",
"Language": "",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "",
"Session description": "Session description",
"Start Date": "",
"No course available": "",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "\u0648\u06cc\u0631\u0627\u06cc\u0634 \u0645\u0634\u062e\u0635\u0627\u062a",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "\u06a9\u062a\u0627\u0644\u0648\u06af \u062f\u0631\u0648\u0633",
"Sessions catalog": "Sessions catalog",
"Expand": "\u0628\u0627\u0632 \u06a9\u0631\u062f\u0646",
"Collapse": "\u0628\u0633\u062a\u0646",
"Clear filter results": "\u062d\u0630\u0641 \u0646\u062a\u0627\u06cc\u062c \u0641\u06cc\u0644\u062a\u0631",
"Coach": "\u0645\u0631\u0628\u06cc",
"Ranking": "",
"Teachers": "\u0627\u0633\u0627\u062a\u06cc\u062f",
"Categories": "\u062f\u0633\u062a\u0647 \u0628\u0646\u062f\u06cc \u0647\u0627",
"Category": "\u062f\u0633\u062a\u0647 \u0628\u0646\u062f\u06cc",
"Language": "\u0632\u0628\u0627\u0646",
"Go to the course": "\u0631\u0641\u062a\u0646 \u0628\u0647 \u062f\u0631\u0633",
"Go to the session": "Go to the session",
"Total number of courses": "\u0645\u062c\u0645\u0648\u0639 \u062a\u0639\u062f\u0627\u062f \u062f\u0631\u0648\u0633",
"Number of sessions": "",
"Courses in this session": "\u062f\u0631\u0648\u0633 \u062f\u0631 \u0627\u06cc\u0646 \u062c\u0644\u0633\u0647",
"Session description": "Session description",
"Start Date": "\u062a\u0627\u0631\u06cc\u062e \u0634\u0631\u0648\u0639",
"No course available": "\u062f\u0631\u0633\u06cc \u0645\u0648\u062c\u0648\u062f \u0646\u0645\u06cc \u0628\u0627\u0634\u062f",
"There are no sessions available": "\u0647\u06cc\u0686 \u062c\u0644\u0633\u0647 \u0627\u06cc \u062f\u0631 \u062f\u0633\u062a\u0631\u0633 \u0646\u06cc\u0633\u062a",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "Muokkaa profiilia",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Kurssin yll\u00e4pito",
"Sessions catalog": "Sessions catalog",
"Expand": "Laajenna",
"Collapse": "Pienenn\u00e4",
"Clear filter results": "",
"Coach": "Tutor",
"Ranking": "",
"Teachers": "Opettajat",
"Categories": "Aihealueet",
"Category": "Koulutusala",
"Language": "Kieli",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "Kursseja t\u00e4ss\u00e4 istunnossa",
"Session description": "Session description",
"Start Date": "Aloitusp\u00e4iv\u00e4",
"No course available": "ei kurssia",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "",
"Ranking": "",
"Teachers": "",
"Categories": "",
"Category": "",
"Language": "",
"Go to the course": "Far til hetta skei\u00f0i\u00f0",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "",
"Session description": "Session description",
"Start Date": "Byrjanardagur",
"No course available": "",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -38,7 +38,7 @@
"Reset": "R\u00e9initialiser",
"Filters": "Filters",
"Content is required": "Content is required",
"Profile": "Mise \u00e0 jour du profil",
"Profile": "R\u00f4le",
"Inbox": "Bo\u00eete de r\u00e9ception",
"Signed in as": "Connect\u00e9 comme",
"Settings": "Param\u00e8tres",
@ -64,7 +64,7 @@
"Edit": "\u00c9diter",
"Submit": "Valider",
"Send": "Send",
"Delete": "Supprimer le parcours",
"Delete": "Supprimer",
"{resource} created": "{resource} created",
"{resource} deleted": "{resource} deleted",
"Edit event": "Modifier l'\u00e9v\u00e8nement",
@ -130,5 +130,27 @@
"Edit profile": "\u00c9diter le profil",
"Update profile": "Mettre \u00e0 jour le profil",
"Firstname": "Pr\u00e9nom",
"Lastname": "Nom"
"Lastname": "Nom",
"Courses catalog": "Catalogue de cours",
"Sessions catalog": "Sessions catalog",
"Expand": "D\u00e9plier",
"Collapse": "Replier",
"Clear filter results": "Nettoyer le filtre de r\u00e9sultats",
"Coach": "Coach",
"Ranking": "Note",
"Teachers": "Formateurs du cours",
"Categories": "Cat\u00e9gories",
"Category": "Cat\u00e9gorie",
"Language": "Langue",
"Go to the course": "Acc\u00e9der au cours",
"Go to the session": "Go to the session",
"Total number of courses": "Nombre total de cours",
"Number of sessions": "Nombre de sessions",
"Courses in this session": "Liste des cours de cette session",
"Session description": "Session description",
"Start Date": "Date de d\u00e9but",
"No course available": "Pas de cours",
"There are no sessions available": "Il n'y a pas encore de session",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "Edit profile",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Courses catalog",
"Sessions catalog": "Sessions catalog",
"Expand": "Expand",
"Collapse": "Collapse",
"Clear filter results": "Clear filter results",
"Coach": "Coach",
"Ranking": "Ranking",
"Teachers": "Teachers",
"Categories": "Categories",
"Category": "Category",
"Language": "Language",
"Go to the course": "Go to the course",
"Go to the session": "Go to the session",
"Total number of courses": "Total number of courses",
"Number of sessions": "Number of sessions",
"Courses in this session": "Courses in this session",
"Session description": "Session description",
"Start Date": "Start Date",
"No course available": "No course available",
"There are no sessions available": "There are no sessions available",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "Edit profile",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Courses catalog",
"Sessions catalog": "Sessions catalog",
"Expand": "Expand",
"Collapse": "Collapse",
"Clear filter results": "Clear filter results",
"Coach": "Coach",
"Ranking": "Ranking",
"Teachers": "Teachers",
"Categories": "Categories",
"Category": "Category",
"Language": "Language",
"Go to the course": "Go to the course",
"Go to the session": "Go to the session",
"Total number of courses": "Total number of courses",
"Number of sessions": "Number of sessions",
"Courses in this session": "Courses in this session",
"Session description": "Session description",
"Start Date": "Start Date",
"No course available": "No course available",
"There are no sessions available": "There are no sessions available",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "",
"Ranking": "",
"Teachers": "",
"Categories": "",
"Category": "",
"Language": "",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "",
"Session description": "Session description",
"Start Date": "",
"No course available": "",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "",
"Ranking": "",
"Teachers": "",
"Categories": "",
"Category": "",
"Language": "",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "",
"Session description": "Session description",
"Start Date": "",
"No course available": "",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "Uredi informacije",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Nadzor kolegija",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "Tutor",
"Ranking": "Ocjena",
"Teachers": "",
"Categories": "Kategorije",
"Category": "Kategorija",
"Language": "Jezik",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "Broj sesija",
"Courses in this session": "",
"Session description": "Session description",
"Start Date": "Nadnevak po\u010detka",
"No course available": "nema kolegija",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Kurzus menedzsment",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "Oktat\u00f3",
"Ranking": "",
"Teachers": "Kurzus tan\u00e1rok",
"Categories": "Kateg\u00f3ri\u00e1k",
"Category": "Kateg\u00f3ria",
"Language": "Nyelv",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "L\u00e1togat\u00e1sok sz\u00e1ma",
"Courses in this session": "Kurzusok list\u00e1ja ezen a tal\u00e1lkoz\u00f3n",
"Session description": "Session description",
"Start Date": "Kezd\u00e9s d\u00e1tuma",
"No course available": "nincs kurzus",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Pengelolan Mata Kuliah",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "Tutor",
"Ranking": "",
"Teachers": "",
"Categories": "Kategori",
"Category": "Fakultas\/Kategori",
"Language": "Bahasa",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "",
"Session description": "Session description",
"Start Date": "Tanggal Mulai",
"No course available": "tidak ada mata kuliah",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "Modifica le informazioni",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Gestione corsi",
"Sessions catalog": "Sessions catalog",
"Expand": "Espandi",
"Collapse": "Riduci",
"Clear filter results": "Pulisci filtro risultati",
"Coach": "Tutor",
"Ranking": "Livello",
"Teachers": "Docenti del corso",
"Categories": "Categorie",
"Category": "Categoria",
"Language": "Lingua",
"Go to the course": "Vai al corso",
"Go to the session": "Go to the session",
"Total number of courses": "Totale dei Corsi",
"Number of sessions": "Numero sessioni",
"Courses in this session": "Elenco dei corsi compresi nella sessione",
"Session description": "Session description",
"Start Date": "Dal",
"No course available": "nessun corso",
"There are no sessions available": "Non c'\u00e8 ancora alcuna sessione",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "\u30b3\u30fc\u30b9 \u30ab\u30bf\u30ed\u30b0",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "",
"Ranking": "\u30e9\u30f3\u30af",
"Teachers": "\u6559\u54e1",
"Categories": "",
"Category": "\u6c60\u5f69",
"Language": "\u8a00\u8a9e",
"Go to the course": "\u30b3\u30fc\u30b9\u3078\u79fb\u52d5",
"Go to the session": "Go to the session",
"Total number of courses": "\u30b3\u30fc\u30b9\u306e\u5408\u8a08\u6570",
"Number of sessions": "\u30bb\u30c3\u30b7\u30e7\u30f3\u6570",
"Courses in this session": "",
"Session description": "Session description",
"Start Date": "\u958b\u59cb\u65e5",
"No course available": "",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "",
"Ranking": "",
"Teachers": "",
"Categories": "",
"Category": "",
"Language": "",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "",
"Session description": "Session description",
"Start Date": "",
"No course available": "",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "\uacfc\uc815 \uad00\ub9ac",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "\ud29c\ud130",
"Ranking": "",
"Teachers": "",
"Categories": "\uce74\ud14c\uace0\ub9ac",
"Category": "\uce74\ud14c\uace0\ub9ac",
"Language": "\uc5b8\uc5b4",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "",
"Session description": "Session description",
"Start Date": "\uc2dc\uc791 \ub0a0\uc9dc",
"No course available": "\uacfc\uc815 \uc5c6\uc74c",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Kurs\u0173 valdymas",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "Kuratorius",
"Ranking": "",
"Teachers": "Kurso d\u0117stytojai",
"Categories": "Kategorijos",
"Category": "Kategorija",
"Language": "Kalba",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "Number of sessions",
"Courses in this session": "Kurs\u0173 s\u0105ra\u0161as \u0161ioje sesijoje",
"Session description": "Session description",
"Start Date": "Prad\u017eios data",
"No course available": "kurs\u0173 n\u0117ra",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "Redi\u0123\u0113t profilu",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "<b>Kursu vad\u012bba :<\/b><br>- Pieteik\u0161an\u0101s Kursiem<br> - Kursu organiz\u0101cija<br> - Kursu k\u0101rto\u0161ana",
"Sessions catalog": "Sessions catalog",
"Expand": "Papla\u0161in\u0101t",
"Collapse": "Saspiest",
"Clear filter results": "Dz\u0113st filtru inform\u0101ciju",
"Coach": "Metodi\u0137e\/-is",
"Ranking": "Reitings",
"Teachers": "Kursa Lektori",
"Categories": "M\u0101c\u012bbu kategorijas",
"Category": "Kategorija",
"Language": "Valoda",
"Go to the course": "Doties uz kursu",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "Sesiju skaits",
"Courses in this session": "Kursi \u0161aj\u0101 sesij\u0101",
"Session description": "Session description",
"Start Date": "S\u0101kuma datums",
"No course available": "Pieejamu kursu nav",
"There are no sessions available": "\u0160eit nav pieejamu sesiju",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "\u0423\u043f\u0440\u0430\u0432\u0443\u0432\u0430\u045a\u0435 \u0441\u043e \u043a\u0443\u0440\u0441\u043e\u0442",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "\u041e\u0431\u0443\u0447\u0443\u0432\u0430\u0447",
"Ranking": "",
"Teachers": "\u0423\u0447\u0438\u0442\u0435\u043b\u0438 \u043d\u0430 \u043a\u0443\u0440\u0441\u043e\u0442",
"Categories": "\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0438",
"Category": "\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0458\u0430",
"Language": "\u0408\u0430\u0437\u0438\u043a",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "\u0411\u0440\u043e\u0458 \u043d\u0430 \u0441\u0435\u0441\u0438\u0438",
"Courses in this session": "\u0421\u043f\u0438\u0441\u043e\u043a \u043d\u0430 \u043a\u0443\u0440\u0441\u043e\u0442 \u0432\u043e \u043e\u0432\u0430\u0430 \u0441\u0435\u0441\u0438\u0458\u0430",
"Session description": "Session description",
"Start Date": "\u041f\u043e\u0447\u0435\u0442\u0435\u043d \u0434\u0430\u0442\u0443\u043c",
"No course available": "\u043d\u0435\u043c\u0430 \u043a\u0443\u0440\u0441\u0435\u0432\u0438",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "",
"Ranking": "",
"Teachers": "",
"Categories": "",
"Category": "Pusat Pengajian",
"Language": "Bahasa",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "",
"Session description": "Session description",
"Start Date": "",
"No course available": "tiada subjek",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "Wijzig profiel",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Cursusbeheer",
"Sessions catalog": "Sessions catalog",
"Expand": "Tonen",
"Collapse": "Verbergen",
"Clear filter results": "Filterresultaten opschonen",
"Coach": "Begeleider (groepen)",
"Ranking": "Weergave",
"Teachers": "Leerkrachten van de cursus",
"Categories": "Categorie\u00ebn",
"Category": "Faculteit",
"Language": "Taal",
"Go to the course": "Meld je aan voor de cursus",
"Go to the session": "Go to the session",
"Total number of courses": "Aantal cursussen",
"Number of sessions": "Aantal sessies",
"Courses in this session": "Cursuslijst in deze sessie",
"Session description": "Session description",
"Start Date": "Startdatum",
"No course available": "geen cursus",
"There are no sessions available": "Er zijn geen sessies beschikbaar",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Kursh\u00e5ndtering",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "Mentor",
"Ranking": "",
"Teachers": "",
"Categories": "Kategorier",
"Category": "Kategori",
"Language": "",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "",
"Session description": "Session description",
"Start Date": "Startdato",
"No course available": "",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "Edit profile",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Courses catalog",
"Sessions catalog": "Sessions catalog",
"Expand": "Expand",
"Collapse": "Collapse",
"Clear filter results": "Clear filter results",
"Coach": "Coach",
"Ranking": "Ranking",
"Teachers": "Teachers",
"Categories": "Categories",
"Category": "Category",
"Language": "Language",
"Go to the course": "Go to the course",
"Go to the session": "Go to the session",
"Total number of courses": "Total number of courses",
"Number of sessions": "Number of sessions",
"Courses in this session": "Courses in this session",
"Session description": "Session description",
"Start Date": "Start Date",
"No course available": "No course available",
"There are no sessions available": "There are no sessions available",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "Edytuj profil",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Katalog kurs\u00f3w",
"Sessions catalog": "Sessions catalog",
"Expand": "Rozwi\u0144",
"Collapse": "Zwi\u0144",
"Clear filter results": "Usu\u0144 wyniki filtrowania",
"Coach": "Trener",
"Ranking": "Ranking",
"Teachers": "Nauczyciele kursu",
"Categories": "Kategorie",
"Category": "Wydzia\u0142(Kategoria)",
"Language": "J\u0119zyk",
"Go to the course": "Przejd\u017a do kursu",
"Go to the session": "Go to the session",
"Total number of courses": "\u0141\u0105czna liczba kurs\u00f3w",
"Number of sessions": "Ilo\u015b\u0107 sesji",
"Courses in this session": "Kursy w tej sesji",
"Session description": "Session description",
"Start Date": "Data pocz\u0105tkowa",
"No course available": "brak kursu",
"There are no sessions available": "Brak dost\u0119pnych sesji",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "",
"Ranking": "",
"Teachers": "",
"Categories": "",
"Category": "",
"Language": "",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "",
"Session description": "Session description",
"Start Date": "",
"No course available": "",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "Editar perfil",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Gest\u00e3o de Cursos",
"Sessions catalog": "Sessions catalog",
"Expand": "Expandir",
"Collapse": "Recolher",
"Clear filter results": "",
"Coach": "Tutor",
"Ranking": "N\u00edvel",
"Teachers": "Professores",
"Categories": "Categorias",
"Category": "Categoria",
"Language": "Idioma",
"Go to the course": "Ir para o curso",
"Go to the session": "Go to the session",
"Total number of courses": "N\u00famero total de cursos",
"Number of sessions": "N\u00famero de sess\u00f5es",
"Courses in this session": "Cursos nesta sess\u00e3o",
"Session description": "Session description",
"Start Date": "Data de In\u00edcio",
"No course available": "nenhum curso",
"There are no sessions available": "N\u00e3o existem sess\u00f5es dispon\u00edveis",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "Edit profile",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Courses catalog",
"Sessions catalog": "Sessions catalog",
"Expand": "Expand",
"Collapse": "Collapse",
"Clear filter results": "Clear filter results",
"Coach": "Coach",
"Ranking": "Ranking",
"Teachers": "Teachers",
"Categories": "Categories",
"Category": "Category",
"Language": "Language",
"Go to the course": "Go to the course",
"Go to the session": "Go to the session",
"Total number of courses": "Total number of courses",
"Number of sessions": "Number of sessions",
"Courses in this session": "Courses in this session",
"Session description": "Session description",
"Start Date": "Start Date",
"No course available": "No course available",
"There are no sessions available": "There are no sessions available",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "Editati informatii",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Administrarea cursului",
"Sessions catalog": "Sessions catalog",
"Expand": "Extinde",
"Collapse": "Contractar",
"Clear filter results": "Curata rezultatele",
"Coach": "Tutore",
"Ranking": "Clasa",
"Teachers": "Profesorii asociati cursului",
"Categories": "Categorii",
"Category": "Categorie",
"Language": "Limba",
"Go to the course": "Mergi la curs",
"Go to the session": "Go to the session",
"Total number of courses": "Numarul total de cursuri",
"Number of sessions": "Numarul de sesiuni",
"Courses in this session": "Lista cursurilor in aceasta sesiune",
"Session description": "Session description",
"Start Date": "Data de \u00eencepere",
"No course available": "nici un curs",
"There are no sessions available": "Inca nu exista o sesiune",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "\u0423\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043a\u0443\u0440\u0441\u0430\u043c\u0438",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "\u0418\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440",
"Ranking": "",
"Teachers": "\u041f\u0440\u0435\u043f\u043e\u0434\u0430\u0432\u0430\u0442\u0435\u043b\u0438 \u043a\u0443\u0440\u0441\u0430",
"Categories": "\u0420\u0430\u0437\u0434\u0435\u043b\u044b",
"Category": "\u0420\u0430\u0437\u0434\u0435\u043b",
"Language": "\u042f\u0437\u044b\u043a",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0435\u0441\u0441\u0438\u0439",
"Courses in this session": "\u0421\u043f\u0438\u0441\u043e\u043a \u043a\u0443\u0440\u0441\u0430 \u044d\u0442\u043e\u0439 \u0441\u0435\u0441\u0441\u0438\u0438",
"Session description": "Session description",
"Start Date": "\u0414\u0430\u0442\u0430 \u043d\u0430\u0447\u0430\u043b\u0430",
"No course available": "\u043a\u0443\u0440\u0441\u0430 \u043d\u0435\u0442",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "Editova\u0165 profil",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Spr\u00e1va kurzov",
"Sessions catalog": "Sessions catalog",
"Expand": "Rozbali\u0165",
"Collapse": "Zbali\u0165",
"Clear filter results": "Vymaza\u0165 v\u00fdsledky filtra",
"Coach": "T\u00fator",
"Ranking": "Zn\u00e1mka",
"Teachers": "Lektori kurzu",
"Categories": "Kateg\u00f3rie",
"Category": "Kateg\u00f3ria",
"Language": "Jazyk",
"Go to the course": "\u00cds\u0165 do kurzu",
"Go to the session": "Go to the session",
"Total number of courses": "Celkov\u00fd po\u010det kurzov",
"Number of sessions": "Po\u010det stretnut\u00ed",
"Courses in this session": "Zoznam kurzov v tomto stretnut\u00ed",
"Session description": "Session description",
"Start Date": "D\u00e1tum za\u010diatku",
"No course available": "\u017diadny kurz",
"There are no sessions available": "Nie s\u00fa k dispoz\u00edcii \u017eiadne stretnutia",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "Uredi informacije",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Katalog te\u010dajev",
"Sessions catalog": "Sessions catalog",
"Expand": "Raz\u0161iri",
"Collapse": "Skr\u010di",
"Clear filter results": "Po\u010disti rezultate filtriranja",
"Coach": "In\u0161truktor",
"Ranking": "Ocena",
"Teachers": "U\u010ditelji",
"Categories": "Kategorije",
"Category": "Kategorija",
"Language": "Jezik",
"Go to the course": "Vstopi",
"Go to the session": "Go to the session",
"Total number of courses": "Skupno \u0161tevilo te\u010dajev",
"Number of sessions": "\u0160tevilo sej",
"Courses in this session": "Seznam te\u010dajev v tej seji",
"Session description": "Session description",
"Start Date": "Za\u010detni datum",
"No course available": "brez te\u010daja",
"There are no sessions available": "Tu \u0161e vedno ni seje",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "",
"Ranking": "",
"Teachers": "",
"Categories": "",
"Category": "",
"Language": "",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "",
"Session description": "Session description",
"Start Date": "",
"No course available": "",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "Izmeni profil",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Administriranje kursa",
"Sessions catalog": "Sessions catalog",
"Expand": "Pro\u0161iri",
"Collapse": "Skupi",
"Clear filter results": "",
"Coach": "Mentor",
"Ranking": "",
"Teachers": "",
"Categories": "Kategorije",
"Category": "Kategorije",
"Language": "Jezik",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "",
"Session description": "Session description",
"Start Date": "Datum po\u010detka",
"No course available": "nema kursa",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "Redigera Profil",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Kursadministration",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "L\u00e4rare",
"Ranking": "",
"Teachers": "Kursl\u00e4rare",
"Categories": "Kategorier",
"Category": "Kurskategori",
"Language": "Spr\u00e5k",
"Go to the course": "Till kursen",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "Kurslista i denna period",
"Session description": "Session description",
"Start Date": "Startdatum",
"No course available": "ingen kurs",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "",
"Ranking": "",
"Teachers": "",
"Categories": "",
"Category": "",
"Language": "",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "",
"Session description": "Session description",
"Start Date": "",
"No course available": "",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "\u0e01\u0e32\u0e23\u0e1a\u0e23\u0e34\u0e2b\u0e32\u0e23\u0e08\u0e31\u0e14\u0e01\u0e32\u0e23\u0e23\u0e32\u0e22\u0e27\u0e34\u0e0a\u0e32",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "\u0e1c\u0e39\u0e49\u0e0a\u0e48\u0e27\u0e22\u0e2a\u0e2d\u0e19",
"Ranking": "",
"Teachers": "",
"Categories": "\u0e1b\u0e23\u0e30\u0e40\u0e20\u0e17\u0e23\u0e32\u0e22\u0e27\u0e34\u0e0a\u0e32",
"Category": "\u0e1b\u0e23\u0e30\u0e40\u0e20\u0e17",
"Language": "\u0e20\u0e32\u0e29\u0e32",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "",
"Session description": "Session description",
"Start Date": "\u0e40\u0e23\u0e34\u0e48\u0e21\u0e27\u0e31\u0e19\u0e17\u0e35\u0e48",
"No course available": "\u0e44\u0e21\u0e48\u0e21\u0e35\u0e23\u0e32\u0e22\u0e27\u0e34\u0e0a\u0e32",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Katalogo ng mga kurso",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "",
"Ranking": "Ranggo",
"Teachers": "Mga Guro",
"Categories": "",
"Category": "",
"Language": "Wika",
"Go to the course": "Pumunta sa kurso",
"Go to the session": "Go to the session",
"Total number of courses": "Kabuuang bilang ng mga kurso",
"Number of sessions": "Bilang ng mga sesyon",
"Courses in this session": "",
"Session description": "Session description",
"Start Date": "Petsa ng Simula",
"No course available": "",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "Ders Y\u00f6netimi",
"Sessions catalog": "Sessions catalog",
"Expand": "Geni\u015flet",
"Collapse": "Daralt",
"Clear filter results": "",
"Coach": "E\u011fitmen",
"Ranking": "S\u0131ralama",
"Teachers": "Ders e\u011fitmenleri",
"Categories": "Kategoriler",
"Category": "Kategori",
"Language": "Language",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "kurs listesi",
"Session description": "Session description",
"Start Date": "Ba\u015flang\u0131\u00e7 tarihi",
"No course available": "ders bulunmuyor",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "\u041a\u0435\u0440\u0443\u0432\u0430\u043d\u043d\u044f \u043a\u0443\u0440\u0441\u043e\u043c",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "\u0406\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440",
"Ranking": "",
"Teachers": "\u0412\u0438\u043a\u043b\u0430\u0434\u0430\u0447\u0456 \u043a\u0443\u0440\u0441\u0443",
"Categories": "\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0456\u0457",
"Category": "\u041a\u0430\u0442\u0435\u0433\u043e\u0440\u0456\u044f",
"Language": "\u041c\u043e\u0432\u0430",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "\u0421\u043f\u0438\u0441\u043e\u043a \u043a\u0443\u0440\u0441\u0456\u0432 \u0446\u0456\u0454\u0457 \u0441\u0435\u0441\u0456\u0457",
"Session description": "Session description",
"Start Date": "",
"No course available": "",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "",
"Ranking": "",
"Teachers": "",
"Categories": "",
"Category": "B\u1ed9 m\u00f4n",
"Language": "Ng\u00f4n ng\u1eef",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "",
"Session description": "Session description",
"Start Date": "",
"No course available": "kh\u00f4ng c\u00f3 kh\u00f3a h\u1ecdc",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "",
"Ranking": "",
"Teachers": "",
"Categories": "",
"Category": "",
"Language": "",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "",
"Session description": "Session description",
"Start Date": "",
"No course available": "",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "",
"Ranking": "",
"Teachers": "",
"Categories": "",
"Category": "",
"Language": "",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "",
"Courses in this session": "",
"Session description": "Session description",
"Start Date": "",
"No course available": "",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "\u8bfe\u7a0b\u7ba1\u7406",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "\u6559\u5e08",
"Ranking": "\u6392\u884c",
"Teachers": "\u8bfe\u7a0b\u6559\u5e08",
"Categories": "\u5206\u7c7b",
"Category": "\u5206\u7c7b",
"Language": "\u8bed\u8a00",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "\u8bb2\u4e60\u73ed\u6570\u76ee",
"Courses in this session": "\u8fd9\u4e2a\u8bb2\u4e60\u73ed\u7684\u8bfe\u7a0b",
"Session description": "Session description",
"Start Date": "\u5f00\u59cb\u65e5\u671f",
"No course available": "\u6ca1\u6709\u8bfe\u7a0b",
"There are no sessions available": "\u6ca1\u53ef\u7528\u7684\u8bb2\u4e60\u73ed",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -130,5 +130,27 @@
"Edit profile": "",
"Update profile": "Update profile",
"Firstname": "Firstname",
"Lastname": "Lastname"
"Lastname": "Lastname",
"Courses catalog": "\u8ab2\u7a0b\u7ba1\u7406",
"Sessions catalog": "Sessions catalog",
"Expand": "",
"Collapse": "",
"Clear filter results": "",
"Coach": "\u6559\u5e2b",
"Ranking": "",
"Teachers": "\u8ab2\u7a0b\u6559\u5e2b",
"Categories": "\u5206\u985e",
"Category": "\u5206\u985e",
"Language": "\u8a9e\u8a00",
"Go to the course": "",
"Go to the session": "Go to the session",
"Total number of courses": "",
"Number of sessions": "\u5b78\u671f\u6578\u91cf",
"Courses in this session": "\u672c\u5b78\u671f\u55ae\u5143\u5167\u4e4b\u8ab2\u7a0b\u6e05\u55ae",
"Session description": "Session description",
"Start Date": "\u958b\u59cb\u65e5\u671f",
"No course available": "\u6c92\u6709\u8ab2\u7a0b",
"There are no sessions available": "",
"Loading courses. Please wait.": "Loading courses. Please wait.",
"Loading sessions. Please wait.": "Loading sessions. Please wait."
}

@ -1,13 +1,13 @@
<template>
<q-layout>
<q-tabs align="left" dense inline-label no-caps>
<q-route-tab to="/catalog/course" label="Courses" />
<q-route-tab to="/catalog/session" label="Sessions" />
<q-route-tab to="/catalog/course" :label="$t('Courses catalog')" />
<q-route-tab to="/catalog/session" :label="$t('Sessions catalog')" />
</q-tabs>
<!-- this is where the Pages are injected -->
<q-page-container>
<router-view></router-view>
<router-view />
</q-page-container>
</q-layout>
</template>
</template>

@ -251,6 +251,7 @@ app.component('EmptyLayout', EmptyLayout);
app.component('TinyEditor', Editor);
app.config.globalProperties.axios = axios;
app.config.globalProperties.window = window
const prettyBytes = require('pretty-bytes');
const { DateTime } = require("luxon");

@ -1,274 +1,286 @@
<template>
<div class="card">
<DataView :value="courses" :layout="layout" :paginator="true" :rows="9" :sortOrder="sortOrder" :sortField="sortField">
<DataTable
v-model:filters="filters"
:value="courses"
edit-mode="cell"
:paginator="true"
class="p-datatable-courses p-datatable-lg"
:rows="9"
data-key="id"
filter-display="menu"
:loading="status"
responsive-layout="scroll"
striped-rows
:global-filter-fields="['title','description','category.name','courseLanguage']"
>
<template #header>
<div class="p-grid p-nogutter">
<div class="p-col-3" style="text-align: left">
<Dropdown
v-model="sortKey"
:options="sortOptions"
optionLabel="label"
placeholder="Sort By Title"
@change="onSortChange($event)"
<div class="table-header-container">
<div class="flex justify-content-end">
<Button
type="button"
icon="pi pi-filter-slash"
:label="$t('Clear filter results')"
class="p-button-outlined mr-2"
@click="clearFilter()"
/>
<span class="p-input-icon-left">
<i class="pi pi-search" />
<InputText
v-model="filters['global'].value"
:placeholder="$t('Search')"
/>
</span>
</div>
<!-- <div class="p-col-3" style="text-align: left">-->
<!-- <Dropdown-->
<!-- v-model="sortKey"-->
<!-- :options="sortOptions"-->
<!-- optionLabel="label"-->
<!-- placeholder="Categories"-->
<!-- @change="onSortChange($event)"-->
<!-- />-->
<!-- </div>-->
<!-- <div class="p-col-6" style="text-align: right">-->
<!-- <DataViewLayoutOptions v-model="layout" />-->
<!-- </div>-->
</div>
</template>
<template #list="slotProps">
<div class="p-col-12">
<div class="course-list-item">
<img src="/img/session_default.png" :alt="slotProps.data.title"/>
<div class="course-list-detail">
<div class="course-name">{{ slotProps.data.title }}</div>
<div class="course-description">{{ slotProps.data.description }}</div>
<!-- <Rating :modelValue="slotProps.data.rating" :readonly="true" :cancel="false"></Rating>-->
<span v-for="category in slotProps.data.categories">
<i class="pi pi-tag course-category-icon"></i>
<span class="course-category">{{ category.name }}</span>&nbsp;
</span>
</div>
<div class="course-list-action">
<!-- <span class="course-price">${{slotProps.data.price}}</span>-->
<!-- <Button icon="pi pi-shopping-cart" label="Add to Cart" :disabled="slotProps.data.inventoryStatus === 'OUTOFSTOCK'"></Button>-->
<!-- <span :class="'course-badge status-'+slotProps.data.inventoryStatus.toLowerCase()">{{slotProps.data.inventoryStatus}}</span>-->
</div>
</div>
</div>
<template #empty>
{{ $t('No course available') }}
</template>
<template #grid="slotProps">
<div class="p-col-12 p-md-4">
<div class="course-grid-item card">
<div class="course-grid-item-top">
<div>
<i class="pi pi-tag course-category-icon"></i>
<span class="course-category">{{ slotProps.data.title }}</span>
</div>
<!-- <span :class="'course-badge status-'+slotProps.data.inventoryStatus.toLowerCase()">{{slotProps.data.inventoryStatus}}</span>-->
</div>
<div class="course-grid-item-content">
<img src="/img/icons/64/course.png" :alt="slotProps.data.title"/>
<div class="course-name">{{ slotProps.data.title }}</div>
<div class="course-description">{{ slotProps.data.description }}</div>
<!-- <Rating :modelValue="slotProps.data.rating" :readonly="true" :cancel="false"></Rating>-->
</div>
<div class="course-grid-item-bottom">
<!-- <span class="course-price">${{slotProps.data.price}}</span>-->
<!-- <Button icon="pi pi-shopping-cart" :disabled="slotProps.data.inventoryStatus === 'OUTOFSTOCK'"></Button>-->
</div>
</div>
</div>
<template #loading>
{{ $t('Loading courses. Please wait.') }}
</template>
<Column header="">
<template #body="{data}">
<img
:src="data.illustrationUrl"
:alt="data.title"
class="course-image"
>
</template>
</Column>
<Column
field="title"
:header="$t('Title')"
:sortable="true"
style="min-width:10rem"
>
<template #body="{data}">
{{ data.title }}
</template>
</Column>
<Column
field="description"
:header="$t('Course description')"
:sortable="true"
style="min-width:12rem"
>
<template #body="{data}">
{{ data.description }}
</template>
</Column>
<Column
field="teachers"
:header="$t('Teachers')"
:sortable="true"
style="min-width:20rem"
>
<template #body="{data}">
<TeacherBar
:teachers="data.teachers.map(
teacher => ({
id: teacher.id,
...teacher.user,
})
)"
/>
</template>
</Column>
<Column
field="courseLanguage"
:header="$t('Language')"
:sortable="true"
style="min-width:7rem"
>
<template #body="{data}">
{{ data.courseLanguage }}
</template>
</Column>
<Column
field="categories"
:header="$t('Categories')"
:sortable="true"
style="min-width:11rem"
>
<template #body="{data}">
<span
v-for="category in data.categories"
:key="category.id"
>
<em class="pi pi-tag course-category-icon" />
<span class="course-category">{{ category.name }}</span><br>
</span>
</template>
</Column>
<Column
field="trackCourseRanking.realTotalScore"
:header="$t('Ranking')"
:sortable="true"
style="min-width:8rem"
>
<template #body="{data}">
<Rating
:model-value="data.trackCourseRanking ? data.trackCourseRanking.realTotalScore : 0"
:stars="5"
:cancel="false"
class="pointer-events: none"
@change="onRatingChange($event, data.trackCourseRanking, data.id)"
/>
</template>
</Column>
<Column
field="link"
header=""
style="min-width:8rem"
>
<template #body="{data}">
<router-link
v-slot="{ navigate }"
:to="{ name: 'CourseHome', params: {id: data.id} }"
>
<Button
:label="$t('Go to the course')"
class="p-button-sm"
icon="pi pi-external-link"
@click="navigate"
/>
</router-link>
</template>
</Column>
<template #footer>
{{ $t('Total number of courses').concat(": ", courses ? courses.length.toString() : "0") }}
</template>
</DataView>
</DataTable>
</div>
</template>
<style lang="scss" scoped>
.card {
background: #ffffff;
padding: 2rem;
box-shadow: 0 2px 1px -1px rgba(0,0,0,.2), 0 1px 1px 0 rgba(0,0,0,.14), 0 1px 3px 0 rgba(0,0,0,.12);
border-radius: 4px;
margin-bottom: 2rem;
}
.p-dropdown {
width: 14rem;
font-weight: normal;
}
.course-name {
font-size: 1.5rem;
font-weight: 700;
}
.course-description {
margin: 0 0 1rem 0;
}
.course-category-icon {
vertical-align: middle;
margin-right: .5rem;
}
.course-category {
font-weight: 600;
vertical-align: middle;
}
::v-deep(.course-list-item) {
display: flex;
align-items: center;
padding: 1rem;
width: 100%;
img {
width: 150px;
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
margin-right: 2rem;
}
.course-list-detail {
flex: 1 1 0;
}
.p-rating {
margin: 0 0 .5rem 0;
}
.course-price {
font-size: 1.5rem;
font-weight: 600;
margin-bottom: .5rem;
align-self: flex-end;
}
.course-list-action {
display: flex;
flex-direction: column;
}
.p-button {
margin-bottom: .5rem;
}
}
::v-deep(.course-grid-item) {
margin: .5rem;
border: 1px solid #dee2e6;
.course-grid-item-top,
.course-grid-item-bottom {
display: flex;
align-items: center;
justify-content: space-between;
}
img {
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
margin: 2rem 0;
}
.course-grid-item-content {
text-align: center;
}
.course-price {
font-size: 1.5rem;
font-weight: 600;
}
}
@media screen and (max-width: 576px) {
.course-list-item {
flex-direction: column;
align-items: center;
img {
margin: 2rem 0;
}
.course-list-detail {
text-align: center;
}
.course-price {
align-self: center;
}
.course-list-action {
display: flex;
flex-direction: column;
}
.course-list-action {
margin-top: 2rem;
flex-direction: row;
justify-content: space-between;
align-items: center;
width: 100%;
}
}
}
</style>
<script>
import {ENTRYPOINT} from '../../config/entrypoint';
import axios from "axios";
import Dropdown from "primevue/dropdown";
import DataView from 'primevue/dataview';
import DataViewLayoutOptions from 'primevue/dataviewlayoutoptions';
import {FilterMatchMode} from "primevue/api";
import Button from 'primevue/button';
import DataTable from 'primevue/datatable';
import Column from 'primevue/column';
import Rating from 'primevue/rating';
import TeacherBar from '../../components/TeacherBar.vue'
export default {
name: 'Catalog',
components: {
DataView,
Dropdown,
DataViewLayoutOptions
DataTable,
Column,
Button,
TeacherBar,
Rating,
},
data() {
return {
status: '',
status: null,
courses: [],
layout: 'list',
sortKey: null,
sortOrder: null,
sortField: null,
sortOptions: [
{label: 'A-z', value: 'title'},
{label: 'Z-a', value: '!title'},
]
filters: null,
teachers: [],
};
},
created: function () {
this.load();
this.initFilters();
},
mounted: function () {
},
methods: {
load: function () {
//this.status = 'Loading';
//let user = this.$store.getters['security/getUser'];
this.status = true;
axios.get(ENTRYPOINT + 'courses.json').then(response => {
this.status = '';
this.status = false;
if (Array.isArray(response.data)) {
this.courses = response.data;
response.data.forEach(course => course.courseLanguage = this.getOriginalLanguageName(course.courseLanguage));
this.courses = response.data;
}
}).catch(function (error) {
console.log(error);
});
},
onSortChange(event) {
const value = event.value.value;
const sortValue = event.value;
updateRating: function (id, value) {
this.status = true;
axios.patch(ENTRYPOINT + 'track_course_rankings/' + id,
{"totalScore": value},
{headers: {'Content-Type': 'application/merge-patch+json'}}
).then(response => {
this.courses.forEach(
course => {
if (course.trackCourseRanking && course.trackCourseRanking.id === id) {
course.trackCourseRanking.realTotalScore = response.data.realTotalScore;
}
}
);
this.status = false;
}).catch(function (error) {
console.log(error);
});
},
newRating: function (courseId, value) {
this.status = true;
axios.post(ENTRYPOINT + 'track_course_rankings',
{
totalScore: value,
course: ENTRYPOINT + "courses/" + courseId,
url_id: window.access_url_id,
sessionId: 0
},
{headers: {'Content-Type': 'application/ld+json'}}
).then(response => {
this.courses.forEach(
course => {
if (course.id === courseId) {
course.trackCourseRanking = response.data;
}
}
);
this.status = false;
}).catch(function (error) {
console.log(error);
});
},
clearFilter() {
this.initFilters();
},
initFilters() {
this.filters = {
'global': {value: null, matchMode: FilterMatchMode.CONTAINS},
}
},
getOriginalLanguageName(courseLanguage) {
const languages = window.languages;
let language = languages.find(element => element.isocode === courseLanguage);
if (language) {
return language.originalName;
} else {
return '';
}
},
onRatingChange(event, trackCourseRanking, courseId) {
let { value } = event;
if (value > 0) {
if (trackCourseRanking)
this.updateRating(trackCourseRanking.id, value);
else
this.newRating(courseId, value);
} else {
event.preventDefault();
}
if (value.indexOf('!') === 0) {
this.sortOrder = -1;
this.sortField = value.substring(1, value.length);
this.sortKey = sortValue;
}
else {
this.sortOrder = 1;
this.sortField = value;
this.sortKey = sortValue;
}
},
onNewRatingChange(event, courseId) {
let { value } = event;
if (value > 0)
this.newRating(courseId, value);
else
event.preventDefault();
}
}
};
</script>

@ -1,72 +1,280 @@
<template>
<div class="card">
Session catalog todo
<DataTable
v-model:filters="filters"
v-model:expandedRows="expandedRows"
:value="sessions"
:paginator="true"
class="p-datatable-sessions p-datatable-lg"
:rows="9"
data-key="id"
filter-display="menu"
:loading="status"
responsive-layout="scroll"
striped-rows
:global-filter-fields="['name','description','category','category.name','course.courseLanguage']"
>
<template #header>
<div class="table-header-container">
<div class="flex justify-space-between">
<div class="justify-content-left">
<Button
icon="pi pi-plus"
:label="$t('Expand')"
class="mr-2"
@click="expandAll"
/>
<Button
icon="pi pi-minus"
:label="$t('Collapse')"
@click="collapseAll"
/>
</div>
<div class="justify-content-right">
<Button
type="button"
icon="pi pi-filter-slash"
:label="$t('Clear filter results')"
class="p-button-outlined mr-2"
@click="clearFilter()"
/>
<span class="p-input-icon-left">
<i class="pi pi-search" />
<InputText
v-model="filters['global'].value"
:placeholder="$t('Search')"
/>
</span>
</div>
</div>
</div>
</template>
<template #empty>
{{ $t('There are no sessions available') }}
</template>
<template #loading>
{{ $t('Loading sessions. Please wait.') }}
</template>
<Column
:expander="true"
header-style="width: 3rem"
/>
<Column
field="name"
:header="$t('Title')"
:sortable="true"
style="min-width:12rem"
class="session-name"
>
<template #body="{data}">
{{ data.name }}
</template>
</Column>
<Column
field="description"
:header="$t('Session description')"
:sortable="true"
style="min-width:12rem"
>
<template #body="{data}">
<!-- eslint-disable-next-line vue/no-v-html -->
<span v-html="data.description" />
</template>
</Column>
<Column
field="category"
:header="$t('Category')"
:sortable="true"
style="min-width:12rem"
>
<template #body="{data}">
<span v-if="data.category">
<em class="pi pi-tag course-category-icon" />
{{ data.category.name }}
</span>
</template>
</Column>
<Column
field="displayStartDate"
:header="$t('Start Date')"
:sortable="true"
style="min-width:12rem"
>
<template #body="{data}">
<i class="pi pi-calendar-times" /> {{ formatDate(data.displayStartDate) }}
</template>
</Column>
<Column
field="sessionlink"
header=""
style="min-width:8rem"
>
<template #body="{data}">
<router-link
v-slot="{ navigate }"
:to="'/main/session/resume_session.php?id_session=' + data.id"
>
<Button
:label="$t('Go to the session')"
class="p-button-sm"
icon="pi pi-external-link"
@click="navigate"
/>
</router-link>
</template>
</Column>
<template #expansion="item">
<div class="orders-subtable">
<h5>{{ $t('Courses in this session') + " - " + item.data.name }}</h5>
<DataTable
:value="item.data.courses"
responsive-layout="scroll"
striped-rows
>
<Column header="">
<template #body="{data}">
<img
:src="data.course.illustrationUrl"
:alt="data.course.title"
class="course-image"
>
</template>
</Column>
<Column
field="course.title"
:header="$t('Title')"
:sortable="true"
>
<template #body="{data}">
{{ data.course.title }}
</template>
</Column>
<Column
field="course.courseLanguage"
:header="$t('Language')"
:sortable="true"
style="min-width:6rem"
>
<template #body="{data}">
{{ getOriginalLanguageName(data.course.courseLanguage) }}
</template>
</Column>
<Column
:header="$t('Categories')"
field="course.categories"
:sortable="true"
style="min-width:8rem"
>
<template #body="{data}">
<span
v-for="category in data.course.categories"
:key="category.id"
>
<em class="pi pi-tag course-category-icon" />
<span class="course-category">{{ category.name }}</span><br>
</span>
</template>
</Column>
<Column
field="link"
header=""
style="min-width:8rem"
>
<template #body="{data}">
<router-link
v-slot="{ navigate }"
:to="{ name: 'CourseHome', params: {id: data.course.id} }"
>
<Button
:label="$t('Go to the course')"
class="p-button-sm"
icon="pi pi-external-link"
@click="navigate"
/>
</router-link>
</template>
</Column>
</DataTable>
</div>
</template>
<template #footer>
{{ $t('Number of sessions').concat(": ", sessions ? sessions.length.toString() : "0") }}
</template>
</DataTable>
</div>
</template>
<script>
import {ENTRYPOINT} from '../../config/entrypoint';
import axios from "axios";
import Dropdown from "primevue/dropdown";
import DataView from 'primevue/dataview';
import DataViewLayoutOptions from 'primevue/dataviewlayoutoptions';
import {FilterMatchMode} from "primevue/api";
import Button from 'primevue/button';
import DataTable from 'primevue/datatable';
import Column from 'primevue/column';
export default {
name: 'Catalog',
name: 'SessionCatalog',
components: {
DataView,
Dropdown,
DataViewLayoutOptions
DataTable,
Column,
Button,
},
data() {
return {
status: '',
courses: [],
layout: 'list',
sortKey: null,
sortOrder: null,
sortField: null,
sortOptions: [
{label: 'A-z', value: 'title'},
{label: 'Z-a', value: '!title'},
]
status: null,
sessions: [],
filters: null,
expandedRows: [],
};
},
created: function () {
this.load();
this.initFilters();
},
mounted: function () {
},
methods: {
load: function () {
//this.status = 'Loading';
//let user = this.$store.getters['security/getUser'];
axios.get(ENTRYPOINT + 'courses.json').then(response => {
this.status = '';
this.status = true;
axios.get(ENTRYPOINT + 'sessions.json').then(response => {
this.status = false;
if (Array.isArray(response.data)) {
this.courses = response.data;
this.sessions = response.data;
}
}).catch(function (error) {
console.log(error);
});
},
onSortChange(event) {
const value = event.value.value;
const sortValue = event.value;
if (value.indexOf('!') === 0) {
this.sortOrder = -1;
this.sortField = value.substring(1, value.length);
this.sortKey = sortValue;
}
else {
this.sortOrder = 1;
this.sortField = value;
this.sortKey = sortValue;
}
}
clearFilter() {
this.initFilters();
},
initFilters() {
this.filters = {
'global': {value: null, matchMode: FilterMatchMode.CONTAINS},
}
},
expandAll() {
this.expandedRows = this.sessions.filter(p => p.id);
},
collapseAll() {
this.expandedRows = null;
},
formatDate(value) {
return new Date(value).toLocaleDateString(undefined, {
month: 'long',
day: 'numeric',
year: 'numeric',
});
},
getOriginalLanguageName(courseLanguage) {
const languages = window.languages;
let language = languages.find(element => element.isocode === courseLanguage);
if (language) {
return language.originalName;
} else {
return '';
}
},
}
};
</script>

@ -153,6 +153,18 @@ class Course extends AbstractResource implements ResourceInterface, ResourceWith
#[ApiSubresource]
protected Collection $users;
/**
* @var Collection|CourseRelUser[]
*
* "orphanRemoval" is needed to delete the CourseRelUser relation
* in the CourseAdmin class. The setUsers, getUsers, removeUsers and
* addUsers methods need to be added.
*
* @ORM\OneToMany(targetEntity="Chamilo\CoreBundle\Entity\CourseRelUser", mappedBy="course", cascade={"persist"})
*/
#[Groups(['course:read', 'user:read'])]
protected Collection $teachers;
/**
* @var AccessUrlRelCourse[]|Collection
*
@ -180,11 +192,25 @@ class Course extends AbstractResource implements ResourceInterface, ResourceWith
/**
* @var Collection|CTool[]
*
* @ORM\OneToMany(targetEntity="Chamilo\CourseBundle\Entity\CTool", mappedBy="course", cascade={"persist", "remove"})
* @ORM\OneToMany(
* targetEntity="Chamilo\CourseBundle\Entity\CTool",
* mappedBy="course",
* cascade={"persist", "remove"}
* )
*/
#[Groups(['course:read'])]
protected Collection $tools;
/**
* @var TrackCourseRanking
*
* @ORM\OneToOne(targetEntity="Chamilo\CoreBundle\Entity\TrackCourseRanking",
* mappedBy="course",
* cascade={"persist", "remove"},
* orphanRemoval=true)
*/
#[Groups(['course:read'])]
protected TrackCourseRanking|null $trackCourseRanking = null;
protected Session $currentSession;
protected AccessUrl $currentUrl;
@ -263,7 +289,7 @@ class Course extends AbstractResource implements ResourceInterface, ResourceWith
/**
* @ORM\Column(name="course_language", type="string", length=20, nullable=false, unique=false)
*/
#[Groups(['course:read'])]
#[Groups(['course:read', 'session:read'])]
#[Assert\NotBlank]
protected string $courseLanguage;
@ -293,7 +319,7 @@ class Course extends AbstractResource implements ResourceInterface, ResourceWith
* )
*/
#[ApiSubresource]
#[Groups(['course:read', 'course:write', 'course_rel_user:read'])]
#[Groups(['course:read', 'course:write', 'course_rel_user:read', 'session:read'])]
protected Collection $categories;
/**
@ -492,6 +518,16 @@ class Course extends AbstractResource implements ResourceInterface, ResourceWith
return $this;
}
public function getTrackCourseRanking(): TrackCourseRanking|null
{
return $this->trackCourseRanking;
}
public function setTrackCourseRanking($trackCourseRanking): self
{
$this->trackCourseRanking = $trackCourseRanking;
return $this;
}
/**
* @return AccessUrlRelCourse[]|Collection
*/

@ -57,7 +57,7 @@ class CourseCategory
protected Collection $children;
/**
* @Groups({"course_category:read", "course_category:write", "course:read"})
* @Groups({"course_category:read", "course_category:write", "course:read", "session:read"})
* @ORM\Column(name="name", type="text", nullable=false)
*/
#[Assert\NotBlank]

@ -73,7 +73,7 @@ class SessionRelCourse
* @ORM\ManyToOne(targetEntity="Chamilo\CoreBundle\Entity\Course", inversedBy="sessions", cascade={"persist"})
* @ORM\JoinColumn(name="c_id", referencedColumnName="id", nullable=false)
*/
#[Groups(['session_rel_course:read', 'session_rel_course:write'])]
#[Groups(['session_rel_course:read', 'session_rel_course:write', 'session:read'])]
protected ?Course $course = null;
/**

@ -6,13 +6,16 @@ declare(strict_types=1);
namespace Chamilo\CoreBundle\Entity;
use ApiPlatform\Core\Annotation\ApiResource;
use ApiPlatform\Core\Annotation\ApiSubresource;
use DateTime;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Annotation\Groups;
/**
* TrackCourseRanking.
*
* @ORM\Table(name="track_course_ranking", indexes={
* @ORM\Table(
* name="track_course_ranking",
* indexes={
* @ORM\Index(name="idx_tcc_cid", columns={"c_id"}),
* @ORM\Index(name="idx_tcc_sid", columns={"session_id"}),
* @ORM\Index(name="idx_tcc_urlid", columns={"url_id"}),
@ -20,36 +23,63 @@ use Doctrine\ORM\Mapping as ORM;
* })
* @ORM\Entity
*/
#[ApiResource(
attributes: [
'security' => "is_granted('ROLE_USER')",
],
denormalizationContext: [
'groups' => ['trackCourseRanking:write'],
],
normalizationContext: [
'groups' => ['trackCourseRanking:read'],
],
)]
class TrackCourseRanking
{
/**
* @ORM\Column(name="c_id", type="integer", nullable=false)
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
#[Groups(['course:read', 'trackCourseRanking:read'])]
protected ?int $id = null;
/**
* @ORM\OneToOne(targetEntity="Chamilo\CoreBundle\Entity\Course", inversedBy="trackCourseRanking")
* @ORM\JoinColumn(name="c_id", referencedColumnName="id", nullable=false, onDelete="cascade")
*/
protected int $cId;
#[ApiSubresource]
#[Groups(['course:read', 'trackCourseRanking:read', 'trackCourseRanking:write'])]
protected Course $course;
/**
* @ORM\Column(name="session_id", type="integer", nullable=false)
*/
#[Groups(['trackCourseRanking:read', 'trackCourseRanking:write'])]
protected int $sessionId;
/**
* @ORM\Column(name="url_id", type="integer", nullable=false)
*/
#[Groups(['trackCourseRanking:read', 'trackCourseRanking:write'])]
protected int $urlId;
/**
* @ORM\Column(name="accesses", type="integer", nullable=false)
*/
#[Groups(['course:read', 'trackCourseRanking:read'])]
protected int $accesses;
/**
* @ORM\Column(name="total_score", type="integer", nullable=false)
*/
#[Groups(['course:read', 'trackCourseRanking:read', 'trackCourseRanking:write'])]
protected int $totalScore;
/**
* @ORM\Column(name="users", type="integer", nullable=false)
*/
#[Groups(['course:read'])]
protected int $users;
/**
@ -57,33 +87,28 @@ class TrackCourseRanking
*/
protected DateTime $creationDate;
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
protected ?int $id = null;
#[Groups(['course:read', 'trackCourseRanking:read'])]
protected ?int $realTotalScore = null;
/**
* Set cId.
*
* @return TrackCourseRanking
*/
public function setCId(int $cId)
public function __construct()
{
$this->cId = $cId;
$this->urlId = 0;
$this->accesses = 0;
$this->totalScore = 0;
$this->users = 0;
$this->creationDate = new DateTime();
}
public function setCourse(Course $course): self
{
$this->course = $course;
return $this;
}
/**
* Get cId.
*
* @return int
*/
public function getCId()
public function getCourse(): Course
{
return $this->cId;
return $this->course;
}
/**
@ -159,7 +184,8 @@ class TrackCourseRanking
*/
public function setTotalScore(int $totalScore)
{
$this->totalScore = $totalScore;
$this->users++;
$this->totalScore += $totalScore;
return $this;
}
@ -227,4 +253,13 @@ class TrackCourseRanking
{
return $this->id;
}
public function getRealTotalScore(): int
{
if (0 !== $this->totalScore && 0 !== $this->users) {
return (int) round($this->totalScore / $this->users);
}
return 0;
}
}

@ -138,6 +138,7 @@ class User implements UserInterface, EquatableInterface, ResourceInterface, Reso
*/
#[Groups([
'user:read',
'course:read',
'resource_node:read',
'user_json:read',
'message:read',
@ -794,7 +795,7 @@ class User implements UserInterface, EquatableInterface, ResourceInterface, Reso
// Property used only during installation.
protected bool $skipResourceNode = false;
#[Groups(['user:read', 'user_json:read', 'social_post:read'])]
#[Groups(['user:read', 'user_json:read', 'social_post:read', 'course:read'])]
protected string $fullName;
/**

Loading…
Cancel
Save