diff --git a/src/main/app/Resources/modules/data/types/timezone/components/input.jsx b/src/main/app/Resources/modules/data/types/timezone/components/input.jsx new file mode 100644 index 00000000000..4cfe75903d2 --- /dev/null +++ b/src/main/app/Resources/modules/data/types/timezone/components/input.jsx @@ -0,0 +1,24 @@ +import React from 'react' + +import {constants} from '#/main/app/intl/date/constants' + +import {PropTypes as T, implementPropTypes} from '#/main/app/prop-types' +import {DataInput as DataInputTypes} from '#/main/app/data/types/prop-types' +import {Select} from '#/main/app/input/components/select' + +const TimezoneInput = props => + + * + * @type {object} + */ +const TIMEZONES = TIMEZONE_CODES + .reduce((timezones, timezoneCode) => Object.assign(timezones,{ + [timezoneCode]: trans(timezoneCode, {}, 'timezones') + }), {}) + +export const constants = { + TIMEZONE_CODES, + TIMEZONES +} diff --git a/src/main/app/Resources/modules/intl/lang/constants.js b/src/main/app/Resources/modules/intl/lang/constants.js deleted file mode 100644 index 16b55153620..00000000000 --- a/src/main/app/Resources/modules/intl/lang/constants.js +++ /dev/null @@ -1,535 +0,0 @@ - -const LANGS = { - 'ab': { - 'name': 'Abkhaz', - 'nativeName': 'аҧсуа' - }, - 'af': { - 'name': 'Afrikaans', - 'nativeName': 'Afrikaans' - }, - 'sq': { - 'name': 'Albanian', - 'nativeName': 'Shqip' - }, - 'am': { - 'name': 'Amharic', - 'nativeName': 'አማርኛ' - }, - 'ar': { - 'name': 'Arabic', - 'nativeName': 'العربية' - }, - 'an': { - 'name': 'Aragonese', - 'nativeName': 'Aragonés' - }, - 'hy': { - 'name': 'Armenian', - 'nativeName': 'Հայերեն' - }, - 'as': { - 'name': 'Assamese', - 'nativeName': 'অসমীয়া' - }, - 'ay': { - 'name': 'Aymara', - 'nativeName': 'aymar aru' - }, - 'az': { - 'name': 'Azerbaijani', - 'nativeName': 'azərbaycan dili' - }, - 'ba': { - 'name': 'Bashkir', - 'nativeName': 'башҡорт теле' - }, - 'eu': { - 'name': 'Basque', - 'nativeName': 'euskara, euskera' - }, - 'be': { - 'name': 'Belarusian', - 'nativeName': 'Беларуская' - }, - 'bn': { - 'name': 'Bengali', - 'nativeName': 'বাংলা' - }, - 'bh': { - 'name': 'Bihari', - 'nativeName': 'भोजपुरी' - }, - 'bi': { - 'name': 'Bislama', - 'nativeName': 'Bislama' - }, - 'br': { - 'name': 'Breton', - 'nativeName': 'brezhoneg' - }, - 'bg': { - 'name': 'Bulgarian', - 'nativeName': 'български език' - }, - 'my': { - 'name': 'Burmese', - 'nativeName': 'ဗမာစာ' - }, - 'ca': { - 'name': 'Catalan; Valencian', - 'nativeName': 'Català' - }, - 'zh': { - 'name': 'Chinese', - 'nativeName': '中文 (Zhōngwén), 汉语, 漢語' - }, - 'hr': { - 'name': 'Croatian', - 'nativeName': 'hrvatski' - }, - 'cs': { - 'name': 'Czech', - 'nativeName': 'česky, čeština' - }, - 'da': { - 'name': 'Danish', - 'nativeName': 'dansk' - }, - 'nl': { - 'name': 'Dutch', - 'nativeName': 'Nederlands, Vlaams' - }, - 'en': { - 'name': 'English', - 'nativeName': 'English' - }, - 'eo': { - 'name': 'Esperanto', - 'nativeName': 'Esperanto' - }, - 'et': { - 'name': 'Estonian', - 'nativeName': 'eesti, eesti keel' - }, - 'fi': { - 'name': 'Finnish', - 'nativeName': 'suomi, suomen kieli' - }, - 'fr': { - 'name': 'French', - 'nativeName': 'Français' - }, - 'gl': { - 'name': 'Galician', - 'nativeName': 'Galego' - }, - 'ka': { - 'name': 'Georgian', - 'nativeName': 'ქართული' - }, - 'de': { - 'name': 'German', - 'nativeName': 'Deutsch' - }, - 'el': { - 'name': 'Greek', - 'nativeName': 'Ελληνικά' - }, - 'gn': { - 'name': 'Guaraní', - 'nativeName': 'Avañeẽ' - }, - 'gu': { - 'name': 'Gujarati', - 'nativeName': 'ગુજરાતી' - }, - 'ht': { - 'name': 'Haitian; Haitian Creole', - 'nativeName': 'Kreyòl ayisyen' - }, - 'ha': { - 'name': 'Hausa', - 'nativeName': 'Hausa, هَوُسَ' - }, - 'he': { - 'name': 'Hebrew', - 'nativeName': 'עברית' - }, - 'hi': { - 'name': 'Hindi', - 'nativeName': 'हिन्दी, हिंदी' - }, - 'hu': { - 'name': 'Hungarian', - 'nativeName': 'Magyar' - }, - 'ia': { - 'name': 'Interlingua', - 'nativeName': 'Interlingua' - }, - 'id': { - 'name': 'Indonesian', - 'nativeName': 'Bahasa Indonesia' - }, - 'ie': { - 'name': 'Interlingue', - 'nativeName': 'Originally called Occidental; then Interlingue after WWII' - }, - 'ga': { - 'name': 'Irish', - 'nativeName': 'Gaeilge' - }, - 'io': { - 'name': 'Ido', - 'nativeName': 'Ido' - }, - 'is': { - 'name': 'Icelandic', - 'nativeName': 'Íslenska' - }, - 'it': { - 'name': 'Italian', - 'nativeName': 'Italiano' - }, - 'iu': { - 'name': 'Inuktitut', - 'nativeName': 'ᐃᓄᒃᑎᑐᑦ' - }, - 'ja': { - 'name': 'Japanese', - 'nativeName': '日本語 (にほんご/にっぽんご)' - }, - 'jv': { - 'name': 'Javanese', - 'nativeName': 'basa Jawa' - }, - 'kl': { - 'name': 'Kalaallisut, Greenlandic', - 'nativeName': 'kalaallisut, kalaallit oqaasii' - }, - 'kn': { - 'name': 'Kannada', - 'nativeName': 'ಕನ್ನಡ' - }, - 'ks': { - 'name': 'Kashmiri', - 'nativeName': 'कश्मीरी, كشميري‎' - }, - 'kk': { - 'name': 'Kazakh', - 'nativeName': 'Қазақ тілі' - }, - 'rw': { - 'name': 'Kinyarwanda', - 'nativeName': 'Ikinyarwanda' - }, - 'ky': { - 'name': 'Kirghiz, Kyrgyz', - 'nativeName': 'кыргыз тили' - }, - 'kg': { - 'name': 'Kongo', - 'nativeName': 'KiKongo' - }, - 'ko': { - 'name': 'Korean', - 'nativeName': '한국어 (韓國語), 조선말 (朝鮮語)' - }, - 'ku': { - 'name': 'Kurdish', - 'nativeName': 'Kurdî, كوردی‎' - }, - 'la': { - 'name': 'Latin', - 'nativeName': 'latine, lingua latina' - }, - 'li': { - 'name': 'Limburgish, Limburgan, Limburger', - 'nativeName': 'Limburgs' - }, - 'ln': { - 'name': 'Lingala', - 'nativeName': 'Lingála' - }, - 'lo': { - 'name': 'Lao', - 'nativeName': 'ພາສາລາວ' - }, - 'lt': { - 'name': 'Lithuanian', - 'nativeName': 'lietuvių kalba' - }, - 'lv': { - 'name': 'Latvian', - 'nativeName': 'latviešu valoda' - }, - 'gv': { - 'name': 'Manx', - 'nativeName': 'Gaelg, Gailck' - }, - 'mk': { - 'name': 'Macedonian', - 'nativeName': 'македонски јазик' - }, - 'mg': { - 'name': 'Malagasy', - 'nativeName': 'Malagasy fiteny' - }, - 'ms': { - 'name': 'Malay', - 'nativeName': 'bahasa Melayu, بهاس ملايو‎' - }, - 'ml': { - 'name': 'Malayalam', - 'nativeName': 'മലയാളം' - }, - 'mt': { - 'name': 'Maltese', - 'nativeName': 'Malti' - }, - 'mi': { - 'name': 'Māori', - 'nativeName': 'te reo Māori' - }, - 'mr': { - 'name': 'Marathi (Marāṭhī)', - 'nativeName': 'मराठी' - }, - 'mn': { - 'name': 'Mongolian', - 'nativeName': 'монгол' - }, - 'na': { - 'name': 'Nauru', - 'nativeName': 'Ekakairũ Naoero' - }, - 'ne': { - 'name': 'Nepali', - 'nativeName': 'नेपाली' - }, - 'no': { - 'name': 'Norwegian', - 'nativeName': 'Norsk' - }, - 'oc': { - 'name': 'Occitan', - 'nativeName': 'Occitan' - }, - 'om': { - 'name': 'Oromo', - 'nativeName': 'Afaan Oromoo' - }, - 'or': { - 'name': 'Oriya', - 'nativeName': 'ଓଡ଼ିଆ' - }, - 'pa': { - 'name': 'Panjabi, Punjabi', - 'nativeName': 'ਪੰਜਾਬੀ, پنجابی‎' - }, - 'pl': { - 'name': 'Polish', - 'nativeName': 'polski' - }, - 'ps': { - 'name': 'Pashto, Pushto', - 'nativeName': 'پښتو' - }, - 'pt': { - 'name': 'Portuguese', - 'nativeName': 'Português' - }, - 'qu': { - 'name': 'Quechua', - 'nativeName': 'Runa Simi, Kichwa' - }, - 'rn': { - 'name': 'Kirundi', - 'nativeName': 'kiRundi' - }, - 'ro': { - 'name': 'Romanian, Moldavian, Moldovan', - 'nativeName': 'română' - }, - 'ru': { - 'name': 'Russian', - 'nativeName': 'русский язык' - }, - 'sa': { - 'name': 'Sanskrit (Saṁskṛta)', - 'nativeName': 'संस्कृतम्' - }, - 'sd': { - 'name': 'Sindhi', - 'nativeName': 'सिन्धी, سنڌي، سندھی‎' - }, - 'sm': { - 'name': 'Samoan', - 'nativeName': 'gagana faa Samoa' - }, - 'sr': { - 'name': 'Serbian', - 'nativeName': 'српски језик' - }, - 'gd': { - 'name': 'Scottish Gaelic; Gaelic', - 'nativeName': 'Gàidhlig' - }, - 'sn': { - 'name': 'Shona', - 'nativeName': 'chiShona' - }, - 'si': { - 'name': 'Sinhala, Sinhalese', - 'nativeName': 'සිංහල' - }, - 'sk': { - 'name': 'Slovak', - 'nativeName': 'slovenčina' - }, - 'so': { - 'name': 'Somali', - 'nativeName': 'Soomaaliga, af Soomaali' - }, - 'st': { - 'name': 'Southern Sotho', - 'nativeName': 'Sesotho' - }, - 'es': { - 'name': 'Spanish; Castilian', - 'nativeName': 'español, castellano' - }, - 'su': { - 'name': 'Sundanese', - 'nativeName': 'Basa Sunda' - }, - 'sw': { - 'name': 'Swahili', - 'nativeName': 'Kiswahili' - }, - 'ss': { - 'name': 'Swati', - 'nativeName': 'Siswati' - }, - 'sv': { - 'name': 'Swedish', - 'nativeName': 'svenska' - }, - 'ta': { - 'name': 'Tamil', - 'nativeName': 'தமிழ்' - }, - 'te': { - 'name': 'Telugu', - 'nativeName': 'తెలుగు' - }, - 'tg': { - 'name': 'Tajik', - 'nativeName': 'тоҷикӣ, toğikī, تاجیکی‎' - }, - 'th': { - 'name': 'Thai', - 'nativeName': 'ไทย' - }, - 'ti': { - 'name': 'Tigrinya', - 'nativeName': 'ትግርኛ' - }, - 'bo': { - 'name': 'Tibetan Standard, Tibetan, Central', - 'nativeName': 'བོད་ཡིག' - }, - 'tk': { - 'name': 'Turkmen', - 'nativeName': 'Türkmen, Түркмен' - }, - 'tl': { - 'name': 'Tagalog', - 'nativeName': 'Wikang Tagalog, ᜏᜒᜃᜅ᜔ ᜆᜄᜎᜓᜄ᜔' - }, - 'tn': { - 'name': 'Tswana', - 'nativeName': 'Setswana' - }, - 'to': { - 'name': 'Tonga (Tonga Islands)', - 'nativeName': 'faka Tonga' - }, - 'tr': { - 'name': 'Turkish', - 'nativeName': 'Türkçe' - }, - 'ts': { - 'name': 'Tsonga', - 'nativeName': 'Xitsonga' - }, - 'tt': { - 'name': 'Tatar', - 'nativeName': 'татарча, tatarça, تاتارچا‎' - }, - 'tw': { - 'name': 'Twi', - 'nativeName': 'Twi' - }, - 'ug': { - 'name': 'Uighur, Uyghur', - 'nativeName': 'Uyƣurqə, ئۇيغۇرچە‎' - }, - 'uk': { - 'name': 'Ukrainian', - 'nativeName': 'українська' - }, - 'ur': { - 'name': 'Urdu', - 'nativeName': 'اردو' - }, - 'uz': { - 'name': 'Uzbek', - 'nativeName': 'zbek, Ўзбек, أۇزبېك‎' - }, - 'vi': { - 'name': 'Vietnamese', - 'nativeName': 'Tiếng Việt' - }, - 'vo': { - 'name': 'Volapük', - 'nativeName': 'Volapük' - }, - 'wa': { - 'name': 'Walloon', - 'nativeName': 'Walon' - }, - 'cy': { - 'name': 'Welsh', - 'nativeName': 'Cymraeg' - }, - 'wo': { - 'name': 'Wolof', - 'nativeName': 'Wollof' - }, - 'fy': { - 'name': 'Western Frisian', - 'nativeName': 'Frysk' - }, - 'xh': { - 'name': 'Xhosa', - 'nativeName': 'isiXhosa' - }, - 'yi': { - 'name': 'Yiddish', - 'nativeName': 'ייִדיש' - }, - 'yo': { - 'name': 'Yoruba', - 'nativeName': 'Yorùbá' - }, - 'zu': { - 'name': 'Zulu', - 'nativeName': 'isiZulu' - } -} - -export const constants = { - LANGS -} diff --git a/src/main/app/Resources/modules/intl/region/constants.js b/src/main/app/Resources/modules/intl/region/constants.js index dba35923e5c..965735c21fe 100644 --- a/src/main/app/Resources/modules/intl/region/constants.js +++ b/src/main/app/Resources/modules/intl/region/constants.js @@ -1,7 +1,5 @@ import {trans} from '#/main/app/intl/translation' -// TODO : break me - const LANGS = { 'ab': { 'name': 'Abkhaz', diff --git a/src/main/app/Resources/modules/plugin.js b/src/main/app/Resources/modules/plugin.js index d211d51d622..e14dcb0344a 100644 --- a/src/main/app/Resources/modules/plugin.js +++ b/src/main/app/Resources/modules/plugin.js @@ -39,6 +39,7 @@ registry.add('ClarolineAppBundle', { 'storage' : () => { return import(/* webpackChunkName: "app-data-type-storage" */ '#/main/app/data/types/storage') }, 'string' : () => { return import(/* webpackChunkName: "app-data-type-string" */ '#/main/app/data/types/string') }, 'time' : () => { return import(/* webpackChunkName: "app-data-type-time" */ '#/main/app/data/types/time') }, + 'timezone' : () => { return import(/* webpackChunkName: "app-data-type-timezone" */ '#/main/app/data/types/timezone') }, 'translated' : () => { return import(/* webpackChunkName: "app-data-type-translated" */ '#/main/app/data/types/translated') }, 'translation' : () => { return import(/* webpackChunkName: "app-data-type-translation" */ '#/main/app/data/types/translation') }, 'type' : () => { return import(/* webpackChunkName: "app-data-type-type" */ '#/main/app/data/types/type') }, diff --git a/src/main/app/Resources/translations/platform.en.json b/src/main/app/Resources/translations/platform.en.json index 0729105cf87..7460d4027f3 100644 --- a/src/main/app/Resources/translations/platform.en.json +++ b/src/main/app/Resources/translations/platform.en.json @@ -23,5 +23,8 @@ "empty": "is empty", "not_empty": "is not empty", "image_not_found": "We are sorry, we could not find your image. It is possible that it does not exist (or no longer).", - "image_error": "We are sorry, an error occurred while loading your image. Please contact an administrator." + "image_error": "We are sorry, an error occurred while loading your image. Please contact an administrator.", + "timezone": "Timezone", + "date_format": "m/d/Y", + "time_format": "H:i" } diff --git a/src/main/app/Resources/translations/platform.fr.json b/src/main/app/Resources/translations/platform.fr.json index 8494d3d1601..0d1d230475d 100644 --- a/src/main/app/Resources/translations/platform.fr.json +++ b/src/main/app/Resources/translations/platform.fr.json @@ -23,5 +23,8 @@ "empty": "est vide", "not_empty": "est non vide", "image_not_found": "Nous sommes désolés, nous n'avons pas pu trouver votre image. Il est possible qu'elle n'existe pas (ou plus).", - "image_error": "Nous somme désolés, une erreur s'est produite lors du chargement de votre image. Veuillez contacter un administrateur." + "image_error": "Nous somme désolés, une erreur s'est produite lors du chargement de votre image. Veuillez contacter un administrateur.", + "timezone": "Fuseau horaire", + "date_format": "d/m/Y", + "time_format": "H:i" } diff --git a/src/main/app/Resources/translations/timezones.en.json b/src/main/app/Resources/translations/timezones.en.json new file mode 100644 index 00000000000..786ba395d29 --- /dev/null +++ b/src/main/app/Resources/translations/timezones.en.json @@ -0,0 +1,114 @@ +{ + "Pacific/Midway": "(GMT-11:00) Midway Island", + "US/Samoa": "(GMT-11:00) Samoa", + "US/Hawaii": "(GMT-10:00) Hawaii", + "US/Alaska": "(GMT-09:00) Alaska", + "US/Pacific": "(GMT-08:00) Pacific Time (US & Canada)", + "America/Tijuana": "(GMT-08:00) Tijuana", + "US/Arizona": "(GMT-07:00) Arizona", + "US/Mountain": "(GMT-07:00) Mountain Time (US & Canada)", + "America/Chihuahua": "(GMT-07:00) Chihuahua", + "America/Mazatlan": "(GMT-07:00) Mazatlan", + "America/Mexico_City": "(GMT-06:00) Mexico City", + "America/Monterrey": "(GMT-06:00) Monterrey", + "Canada/Saskatchewan": "(GMT-06:00) Saskatchewan", + "US/Central": "(GMT-06:00) Central Time (US & Canada)", + "US/Eastern": "(GMT-05:00) Eastern Time (US & Canada)", + "US/East-Indiana": "(GMT-05:00) Indiana (East)", + "America/Bogota": "(GMT-05:00) Bogota", + "America/Lima": "(GMT-05:00) Lima", + "America/Caracas": "(GMT-04:30) Caracas", + "Canada/Atlantic": "(GMT-04:00) Atlantic Time (Canada)", + "America/La_Paz": "(GMT-04:00) La Paz", + "America/Santiago": "(GMT-04:00) Santiago", + "Canada/Newfoundland": "(GMT-03:30) Newfoundland", + "America/Buenos_Aires": "(GMT-03:00) Buenos Aires", + "Greenland": "(GMT-03:00) Greenland", + "Atlantic/Stanley": "(GMT-02:00) Stanley", + "Atlantic/Azores": "(GMT-01:00) Azores", + "Atlantic/Cape_Verde": "(GMT-01:00) Cape Verde Is.", + "Africa/Casablanca": "(GMT) Casablanca", + "Europe/Dublin": "(GMT) Dublin", + "Europe/Lisbon": "(GMT) Lisbon", + "Europe/London": "(GMT) London", + "Africa/Monrovia": "(GMT) Monrovia", + "Europe/Amsterdam": "(GMT+01:00) Amsterdam", + "Europe/Belgrade": "(GMT+01:00) Belgrade", + "Europe/Berlin": "(GMT+01:00) Berlin", + "Europe/Bratislava": "(GMT+01:00) Bratislava", + "Europe/Brussels": "(GMT+01:00) Brussels", + "Europe/Budapest": "(GMT+01:00) Budapest", + "Europe/Copenhagen": "(GMT+01:00) Copenhagen", + "Europe/Ljubljana": "(GMT+01:00) Ljubljana", + "Europe/Madrid": "(GMT+01:00) Madrid", + "Europe/Paris": "(GMT+01:00) Paris", + "Europe/Prague": "(GMT+01:00) Prague", + "Europe/Rome": "(GMT+01:00) Rome", + "Europe/Sarajevo": "(GMT+01:00) Sarajevo", + "Europe/Skopje": "(GMT+01:00) Skopje", + "Europe/Stockholm": "(GMT+01:00) Stockholm", + "Europe/Vienna": "(GMT+01:00) Vienna", + "Europe/Warsaw": "(GMT+01:00) Warsaw", + "Europe/Zagreb": "(GMT+01:00) Zagreb", + "Europe/Athens": "(GMT+02:00) Athens", + "Europe/Bucharest": "(GMT+02:00) Bucharest", + "Africa/Cairo": "(GMT+02:00) Cairo", + "Africa/Harare": "(GMT+02:00) Harare", + "Europe/Helsinki": "(GMT+02:00) Helsinki", + "Europe/Istanbul": "(GMT+02:00) Istanbul", + "Asia/Jerusalem": "(GMT+02:00) Jerusalem", + "Europe/Kiev": "(GMT+02:00) Kyiv", + "Europe/Minsk": "(GMT+02:00) Minsk", + "Europe/Riga": "(GMT+02:00) Riga", + "Europe/Sofia": "(GMT+02:00) Sofia", + "Europe/Tallinn": "(GMT+02:00) Tallinn", + "Europe/Vilnius": "(GMT+02:00) Vilnius", + "Asia/Baghdad": "(GMT+03:00) Baghdad", + "Asia/Kuwait": "(GMT+03:00) Kuwait", + "Africa/Nairobi": "(GMT+03:00) Nairobi", + "Asia/Riyadh": "(GMT+03:00) Riyadh", + "Europe/Moscow": "(GMT+03:00) Moscow", + "Asia/Tehran": "(GMT+03:30) Tehran", + "Asia/Baku": "(GMT+04:00) Baku", + "Europe/Volgograd": "(GMT+04:00) Volgograd", + "Asia/Muscat": "(GMT+04:00) Muscat", + "Asia/Tbilisi": "(GMT+04:00) Tbilisi", + "Asia/Yerevan": "(GMT+04:00) Yerevan", + "Asia/Kabul": "(GMT+04:30) Kabul", + "Asia/Karachi": "(GMT+05:00) Karachi", + "Asia/Tashkent": "(GMT+05:00) Tashkent", + "Asia/Kolkata": "(GMT+05:30) Kolkata", + "Asia/Kathmandu": "(GMT+05:45) Kathmandu", + "Asia/Yekaterinburg": "(GMT+06:00) Ekaterinburg", + "Asia/Almaty": "(GMT+06:00) Almaty", + "Asia/Dhaka": "(GMT+06:00) Dhaka", + "Asia/Novosibirsk": "(GMT+07:00) Novosibirsk", + "Asia/Bangkok": "(GMT+07:00) Bangkok", + "Asia/Jakarta": "(GMT+07:00) Jakarta", + "Asia/Krasnoyarsk": "(GMT+08:00) Krasnoyarsk", + "Asia/Chongqing": "(GMT+08:00) Chongqing", + "Asia/Hong_Kong": "(GMT+08:00) Hong Kong", + "Asia/Kuala_Lumpur": "(GMT+08:00) Kuala Lumpur", + "Australia/Perth": "(GMT+08:00) Perth", + "Asia/Singapore": "(GMT+08:00) Singapore", + "Asia/Taipei": "(GMT+08:00) Taipei", + "Asia/Ulaanbaatar": "(GMT+08:00) Ulaan Bataar", + "Asia/Urumqi": "(GMT+08:00) Urumqi", + "Asia/Irkutsk": "(GMT+09:00) Irkutsk", + "Asia/Seoul": "(GMT+09:00) Seoul", + "Asia/Tokyo": "(GMT+09:00) Tokyo", + "Australia/Adelaide": "(GMT+09:30) Adelaide", + "Australia/Darwin": "(GMT+09:30) Darwin", + "Asia/Yakutsk": "(GMT+10:00) Yakutsk", + "Australia/Brisbane": "(GMT+10:00) Brisbane", + "Australia/Canberra": "(GMT+10:00) Canberra", + "Pacific/Guam": "(GMT+10:00) Guam", + "Australia/Hobart": "(GMT+10:00) Hobart", + "Australia/Melbourne": "(GMT+10:00) Melbourne", + "Pacific/Port_Moresby": "(GMT+10:00) Port Moresby", + "Australia/Sydney": "(GMT+10:00) Sydney", + "Asia/Vladivostok": "(GMT+11:00) Vladivostok", + "Asia/Magadan": "(GMT+12:00) Magadan", + "Pacific/Auckland": "(GMT+12:00) Auckland", + "Pacific/Fiji": "(GMT+12:00) Fiji" +} diff --git a/src/main/app/Resources/translations/timezones.fr.json b/src/main/app/Resources/translations/timezones.fr.json new file mode 100644 index 00000000000..786ba395d29 --- /dev/null +++ b/src/main/app/Resources/translations/timezones.fr.json @@ -0,0 +1,114 @@ +{ + "Pacific/Midway": "(GMT-11:00) Midway Island", + "US/Samoa": "(GMT-11:00) Samoa", + "US/Hawaii": "(GMT-10:00) Hawaii", + "US/Alaska": "(GMT-09:00) Alaska", + "US/Pacific": "(GMT-08:00) Pacific Time (US & Canada)", + "America/Tijuana": "(GMT-08:00) Tijuana", + "US/Arizona": "(GMT-07:00) Arizona", + "US/Mountain": "(GMT-07:00) Mountain Time (US & Canada)", + "America/Chihuahua": "(GMT-07:00) Chihuahua", + "America/Mazatlan": "(GMT-07:00) Mazatlan", + "America/Mexico_City": "(GMT-06:00) Mexico City", + "America/Monterrey": "(GMT-06:00) Monterrey", + "Canada/Saskatchewan": "(GMT-06:00) Saskatchewan", + "US/Central": "(GMT-06:00) Central Time (US & Canada)", + "US/Eastern": "(GMT-05:00) Eastern Time (US & Canada)", + "US/East-Indiana": "(GMT-05:00) Indiana (East)", + "America/Bogota": "(GMT-05:00) Bogota", + "America/Lima": "(GMT-05:00) Lima", + "America/Caracas": "(GMT-04:30) Caracas", + "Canada/Atlantic": "(GMT-04:00) Atlantic Time (Canada)", + "America/La_Paz": "(GMT-04:00) La Paz", + "America/Santiago": "(GMT-04:00) Santiago", + "Canada/Newfoundland": "(GMT-03:30) Newfoundland", + "America/Buenos_Aires": "(GMT-03:00) Buenos Aires", + "Greenland": "(GMT-03:00) Greenland", + "Atlantic/Stanley": "(GMT-02:00) Stanley", + "Atlantic/Azores": "(GMT-01:00) Azores", + "Atlantic/Cape_Verde": "(GMT-01:00) Cape Verde Is.", + "Africa/Casablanca": "(GMT) Casablanca", + "Europe/Dublin": "(GMT) Dublin", + "Europe/Lisbon": "(GMT) Lisbon", + "Europe/London": "(GMT) London", + "Africa/Monrovia": "(GMT) Monrovia", + "Europe/Amsterdam": "(GMT+01:00) Amsterdam", + "Europe/Belgrade": "(GMT+01:00) Belgrade", + "Europe/Berlin": "(GMT+01:00) Berlin", + "Europe/Bratislava": "(GMT+01:00) Bratislava", + "Europe/Brussels": "(GMT+01:00) Brussels", + "Europe/Budapest": "(GMT+01:00) Budapest", + "Europe/Copenhagen": "(GMT+01:00) Copenhagen", + "Europe/Ljubljana": "(GMT+01:00) Ljubljana", + "Europe/Madrid": "(GMT+01:00) Madrid", + "Europe/Paris": "(GMT+01:00) Paris", + "Europe/Prague": "(GMT+01:00) Prague", + "Europe/Rome": "(GMT+01:00) Rome", + "Europe/Sarajevo": "(GMT+01:00) Sarajevo", + "Europe/Skopje": "(GMT+01:00) Skopje", + "Europe/Stockholm": "(GMT+01:00) Stockholm", + "Europe/Vienna": "(GMT+01:00) Vienna", + "Europe/Warsaw": "(GMT+01:00) Warsaw", + "Europe/Zagreb": "(GMT+01:00) Zagreb", + "Europe/Athens": "(GMT+02:00) Athens", + "Europe/Bucharest": "(GMT+02:00) Bucharest", + "Africa/Cairo": "(GMT+02:00) Cairo", + "Africa/Harare": "(GMT+02:00) Harare", + "Europe/Helsinki": "(GMT+02:00) Helsinki", + "Europe/Istanbul": "(GMT+02:00) Istanbul", + "Asia/Jerusalem": "(GMT+02:00) Jerusalem", + "Europe/Kiev": "(GMT+02:00) Kyiv", + "Europe/Minsk": "(GMT+02:00) Minsk", + "Europe/Riga": "(GMT+02:00) Riga", + "Europe/Sofia": "(GMT+02:00) Sofia", + "Europe/Tallinn": "(GMT+02:00) Tallinn", + "Europe/Vilnius": "(GMT+02:00) Vilnius", + "Asia/Baghdad": "(GMT+03:00) Baghdad", + "Asia/Kuwait": "(GMT+03:00) Kuwait", + "Africa/Nairobi": "(GMT+03:00) Nairobi", + "Asia/Riyadh": "(GMT+03:00) Riyadh", + "Europe/Moscow": "(GMT+03:00) Moscow", + "Asia/Tehran": "(GMT+03:30) Tehran", + "Asia/Baku": "(GMT+04:00) Baku", + "Europe/Volgograd": "(GMT+04:00) Volgograd", + "Asia/Muscat": "(GMT+04:00) Muscat", + "Asia/Tbilisi": "(GMT+04:00) Tbilisi", + "Asia/Yerevan": "(GMT+04:00) Yerevan", + "Asia/Kabul": "(GMT+04:30) Kabul", + "Asia/Karachi": "(GMT+05:00) Karachi", + "Asia/Tashkent": "(GMT+05:00) Tashkent", + "Asia/Kolkata": "(GMT+05:30) Kolkata", + "Asia/Kathmandu": "(GMT+05:45) Kathmandu", + "Asia/Yekaterinburg": "(GMT+06:00) Ekaterinburg", + "Asia/Almaty": "(GMT+06:00) Almaty", + "Asia/Dhaka": "(GMT+06:00) Dhaka", + "Asia/Novosibirsk": "(GMT+07:00) Novosibirsk", + "Asia/Bangkok": "(GMT+07:00) Bangkok", + "Asia/Jakarta": "(GMT+07:00) Jakarta", + "Asia/Krasnoyarsk": "(GMT+08:00) Krasnoyarsk", + "Asia/Chongqing": "(GMT+08:00) Chongqing", + "Asia/Hong_Kong": "(GMT+08:00) Hong Kong", + "Asia/Kuala_Lumpur": "(GMT+08:00) Kuala Lumpur", + "Australia/Perth": "(GMT+08:00) Perth", + "Asia/Singapore": "(GMT+08:00) Singapore", + "Asia/Taipei": "(GMT+08:00) Taipei", + "Asia/Ulaanbaatar": "(GMT+08:00) Ulaan Bataar", + "Asia/Urumqi": "(GMT+08:00) Urumqi", + "Asia/Irkutsk": "(GMT+09:00) Irkutsk", + "Asia/Seoul": "(GMT+09:00) Seoul", + "Asia/Tokyo": "(GMT+09:00) Tokyo", + "Australia/Adelaide": "(GMT+09:30) Adelaide", + "Australia/Darwin": "(GMT+09:30) Darwin", + "Asia/Yakutsk": "(GMT+10:00) Yakutsk", + "Australia/Brisbane": "(GMT+10:00) Brisbane", + "Australia/Canberra": "(GMT+10:00) Canberra", + "Pacific/Guam": "(GMT+10:00) Guam", + "Australia/Hobart": "(GMT+10:00) Hobart", + "Australia/Melbourne": "(GMT+10:00) Melbourne", + "Pacific/Port_Moresby": "(GMT+10:00) Port Moresby", + "Australia/Sydney": "(GMT+10:00) Sydney", + "Asia/Vladivostok": "(GMT+11:00) Vladivostok", + "Asia/Magadan": "(GMT+12:00) Magadan", + "Pacific/Auckland": "(GMT+12:00) Auckland", + "Pacific/Fiji": "(GMT+12:00) Fiji" +} diff --git a/src/main/core/Configuration/PlatformDefaults.php b/src/main/core/Configuration/PlatformDefaults.php index fc5c7ef67d9..3ab94e8453a 100644 --- a/src/main/core/Configuration/PlatformDefaults.php +++ b/src/main/core/Configuration/PlatformDefaults.php @@ -136,6 +136,11 @@ public function getDefaultParameters() 'default' => 'fr', 'available' => ['fr', 'en'], ], + 'intl' => [ + 'timezone' => null, // default to UTC + 'dateFormat' => 'd/m/Y', + 'timeFormat' => 'H:i', + ], 'maintenance' => [ 'enable' => false, 'message' => null, @@ -207,7 +212,7 @@ public function getDefaultParameters() 'changelogMessage' => [ // display a connection message when a new minor version is installed 'enabled' => true, - // how many time the changelog is displayed + // how many times the changelog is displayed 'duration' => 'P7D', // which roles see the changelog message 'roles' => ['ROLE_ADMIN'], diff --git a/src/main/core/Manager/Template/PlaceholderManager.php b/src/main/core/Manager/Template/PlaceholderManager.php index 7d7b3f2e4d3..7c3adf895a9 100644 --- a/src/main/core/Manager/Template/PlaceholderManager.php +++ b/src/main/core/Manager/Template/PlaceholderManager.php @@ -9,12 +9,9 @@ class PlaceholderManager { - /** @var TokenStorageInterface */ - private $tokenStorage; - /** @var PlatformConfigurationHandler */ - private $config; - /** @var PlatformManager */ - private $platformManager; + private TokenStorageInterface $tokenStorage; + private PlatformConfigurationHandler $config; + private PlatformManager $platformManager; public function __construct( TokenStorageInterface $tokenStorage, @@ -26,7 +23,7 @@ public function __construct( $this->platformManager = $platformManager; } - public function getAvailablePlaceholders() + public function getAvailablePlaceholders(): array { return [ 'platform_name', @@ -77,4 +74,39 @@ public function replacePlaceholders(string $text, array $customPlaceholders = [] return str_replace(array_keys($placeholders), array_values($placeholders), $text); } + + public function formatDatePlaceholder(string $placeholderPrefix, ?\DateTime $date): array + { + if (empty($date)) { + return [ + "{$placeholderPrefix}_datetime_utc" => '', + "{$placeholderPrefix}_date_utc" => '', + "{$placeholderPrefix}_time_utc" => '', + "{$placeholderPrefix}_datetime" => '', + "{$placeholderPrefix}_date" => '', + "{$placeholderPrefix}_time" => '', + ]; + } + + $timezone = $this->config->getParameter('intl.timezone'); + $dateFormat = $this->config->getParameter('intl.dateFormat') ?: 'Y-m-d'; + $timeFormat = $this->config->getParameter('intl.timeFormat') ?: 'H:i'; + + $dateTimezone = new \DateTimeZone($timezone ?: 'UTC'); + + // create a copy of the date object to avoid modifying the original data + $localeDate = clone $date; + $localeDate->setTimezone($dateTimezone); + + return [ + // UTC date parts + "{$placeholderPrefix}_datetime_utc" => $date->format($dateFormat.' '.$timeFormat), + "{$placeholderPrefix}_date_utc" => $date->format($dateFormat), + "{$placeholderPrefix}_time_utc" => $date->format($timeFormat), + // Localized date parts + "{$placeholderPrefix}_datetime" => $localeDate->format($dateFormat.' '.$timeFormat), + "{$placeholderPrefix}_date" => $localeDate->format($dateFormat), + "{$placeholderPrefix}_time" => $localeDate->format($timeFormat), + ]; + } } diff --git a/src/main/core/Manager/Template/TemplateManager.php b/src/main/core/Manager/Template/TemplateManager.php index e36ae60d5ff..99a4dd99046 100644 --- a/src/main/core/Manager/Template/TemplateManager.php +++ b/src/main/core/Manager/Template/TemplateManager.php @@ -15,18 +15,16 @@ use Claroline\CoreBundle\Entity\Template\Template; use Claroline\CoreBundle\Entity\Template\TemplateType; use Claroline\CoreBundle\Library\Configuration\PlatformConfigurationHandler; +use Doctrine\Persistence\ObjectRepository; class TemplateManager { - /** @var ObjectManager */ - private $om; - /** @var PlatformConfigurationHandler */ - private $config; - /** @var PlaceholderManager */ - private $placeholderManager; + private ObjectManager $om; + private PlatformConfigurationHandler $config; + private PlaceholderManager $placeholderManager; - private $templateTypeRepo; - private $templateRepo; + private ObjectRepository $templateTypeRepo; + private ObjectRepository $templateRepo; public function __construct( ObjectManager $om, @@ -41,7 +39,7 @@ public function __construct( $this->templateRepo = $om->getRepository(Template::class); } - public function defineTemplateAsDefault(Template $template) + public function defineTemplateAsDefault(Template $template): void { $templateType = $template->getType(); $templateType->setDefaultTemplate($template->getName()); @@ -99,4 +97,9 @@ public function getTemplateContent(Template $template, array $placeholders = [], return ''; } + + public function formatDatePlaceholder(string $placeholderPrefix, ?\DateTime $date): array + { + return $this->placeholderManager->formatDatePlaceholder($placeholderPrefix, $date); + } } diff --git a/src/main/core/Resources/modules/administration/parameters/main/components/meta.jsx b/src/main/core/Resources/modules/administration/parameters/main/components/meta.jsx index 0e04a2acb45..c677ef7fe0c 100644 --- a/src/main/core/Resources/modules/administration/parameters/main/components/meta.jsx +++ b/src/main/core/Resources/modules/administration/parameters/main/components/meta.jsx @@ -57,6 +57,10 @@ const Meta = (props) => options: { available: props.availableLocales } + }, { + name: 'intl.timezone', + type: 'timezone', + label: trans('timezone') } ] }, { diff --git a/src/main/core/Resources/translations/platform.fr.json b/src/main/core/Resources/translations/platform.fr.json index 0ef08168a64..a86ea897a65 100644 --- a/src/main/core/Resources/translations/platform.fr.json +++ b/src/main/core/Resources/translations/platform.fr.json @@ -133,7 +133,6 @@ "data_col": "Colonne des données", "database": "Base de données", "date": "Date", - "date_format": "d/m/Y", "day": "jour", "days": "jours", "days_short": "j", diff --git a/src/main/evaluation/Installation/ClarolineEvaluationInstaller.php b/src/main/evaluation/Installation/ClarolineEvaluationInstaller.php index 045b3daffb1..26c847d513a 100644 --- a/src/main/evaluation/Installation/ClarolineEvaluationInstaller.php +++ b/src/main/evaluation/Installation/ClarolineEvaluationInstaller.php @@ -11,10 +11,18 @@ namespace Claroline\EvaluationBundle\Installation; +use Claroline\EvaluationBundle\Installation\Updater\Updater130800; use Claroline\InstallationBundle\Additional\AdditionalInstaller; class ClarolineEvaluationInstaller extends AdditionalInstaller { + public static function getUpdaters(): array + { + return [ + '13.8.0' => Updater130800::class, + ]; + } + public function hasFixtures(): bool { return true; diff --git a/src/main/evaluation/Installation/Updater/Updater130800.php b/src/main/evaluation/Installation/Updater/Updater130800.php new file mode 100644 index 00000000000..c0682ad275c --- /dev/null +++ b/src/main/evaluation/Installation/Updater/Updater130800.php @@ -0,0 +1,51 @@ +om = $om; + } + + public function postUpdate(): void + { + $this->updateTemplateContent('workspace_participation_certificate'); + $this->updateTemplateContent('workspace_success_certificate'); + } + + private function updateTemplateContent(string $typeName): void + { + $templateType = $this->om->getRepository(TemplateType::class)->findOneBy(['name' => $typeName]); + if (!$templateType) { + return; + } + + /** @var Template[] $templates */ + $templates = $this->om->getRepository(Template::class)->findBy([ + 'type' => $templateType, + ]); + + if (!empty($templates)) { + foreach ($templates as $template) { + foreach ($template->getTemplateContents() as $templateContent) { + $templateContent->setTitle(str_replace('%evaluation_date%', '%evaluation_datetime%', $templateContent->getTitle())); + $templateContent->setContent(str_replace('%evaluation_date%', '%evaluation_datetime%', $templateContent->getContent())); + + $this->om->persist($templateContent); + } + } + + $this->om->flush(); + } + } +} diff --git a/src/main/evaluation/Manager/PdfManager.php b/src/main/evaluation/Manager/PdfManager.php index d9e52d8da5d..edb9dc19183 100644 --- a/src/main/evaluation/Manager/PdfManager.php +++ b/src/main/evaluation/Manager/PdfManager.php @@ -84,7 +84,7 @@ private function getCommonPlaceholders(Evaluation $evaluation): array 'evaluation_duration' => round($evaluation->getDuration() / 60, 2), // in minutes 'evaluation_status' => $this->translator->trans('evaluation_'.$evaluation->getStatus().'_status', [], 'workspace'), - 'evaluation_date' => $evaluation->getDate()->format('d/m/Y H:i'), + ...$this->templateManager->formatDatePlaceholder('evaluation', $evaluation->getDate()), ]; } } diff --git a/src/main/evaluation/Resources/config/config.yml b/src/main/evaluation/Resources/config/config.yml index d65b333cfd6..edb3b6a4515 100644 --- a/src/main/evaluation/Resources/config/config.yml +++ b/src/main/evaluation/Resources/config/config.yml @@ -36,7 +36,9 @@ plugin: - user_username - evaluation_duration - evaluation_status + - evaluation_datetime - evaluation_date + - evaluation_time - name: workspace_success_certificate type: pdf @@ -50,6 +52,8 @@ plugin: - user_username - evaluation_duration - evaluation_status + - evaluation_datetime - evaluation_date + - evaluation_time - evaluation_score - evaluation_score_max diff --git a/src/main/evaluation/Resources/config/services.yml b/src/main/evaluation/Resources/config/services.yml index 49aa4c2b4bd..db2a506f9a6 100644 --- a/src/main/evaluation/Resources/config/services.yml +++ b/src/main/evaluation/Resources/config/services.yml @@ -7,4 +7,5 @@ imports: - { resource: services/messenger.yml } - { resource: services/serializer.yml } - { resource: services/subscriber.yml } + - { resource: services/updater.yml } - { resource: services/voter.yml } diff --git a/src/main/evaluation/Resources/config/services/updater.yml b/src/main/evaluation/Resources/config/services/updater.yml new file mode 100644 index 00000000000..e9806ab1d62 --- /dev/null +++ b/src/main/evaluation/Resources/config/services/updater.yml @@ -0,0 +1,7 @@ +services: + _defaults: + tags: [ 'claroline.platform.updater' ] + + Claroline\EvaluationBundle\Installation\Updater\Updater130800: + arguments: + - '@Claroline\AppBundle\Persistence\ObjectManager' diff --git a/src/main/evaluation/Resources/translations/template.en.json b/src/main/evaluation/Resources/translations/template.en.json index d1a3871871e..5eea8596a85 100644 --- a/src/main/evaluation/Resources/translations/template.en.json +++ b/src/main/evaluation/Resources/translations/template.en.json @@ -2,5 +2,11 @@ "workspace_participation_certificate": "Certificate of participation in a workspace", "workspace_participation_certificate_desc": "Template used to generate certificates of participation for users", "workspace_success_certificate": "Certificate of achievement in a workspace", - "workspace_success_certificate_desc": "Template used to generate certificates of achievement for users." + "workspace_success_certificate_desc": "Template used to generate certificates of achievement for users.", + + "evaluation_duration": "Duration of the evaluation", + "evaluation_status": "Status of the evaluation (Not attempted, In progress, Success, etc.)", + "evaluation_datetime": "Last activity date of the evaluation (Date + Time)", + "evaluation_date": "Last activity date of the evaluation (Date only)", + "evaluation_time": "Last activity date of the evaluation (Time only)" } diff --git a/src/main/evaluation/Resources/translations/template.fr.json b/src/main/evaluation/Resources/translations/template.fr.json index 6c13f7d73f8..cfa2d05327c 100644 --- a/src/main/evaluation/Resources/translations/template.fr.json +++ b/src/main/evaluation/Resources/translations/template.fr.json @@ -2,5 +2,11 @@ "workspace_participation_certificate": "Certificat de participation à un espace d'activités", "workspace_participation_certificate_desc": "Template utilisé pour générer les certificats de participation des utilisateurs.", "workspace_success_certificate": "Certificat de réussite à un espace d'activités", - "workspace_success_certificate_desc": "Template utilisé pour générer les certificats de réussite des utilisateurs." + "workspace_success_certificate_desc": "Template utilisé pour générer les certificats de réussite des utilisateurs.", + + "evaluation_duration_desc": "Durée de l'évaluation", + "evaluation_status_desc": "Statut de l'évaluation (Non commencé, En cours, Réussi, etc.)", + "evaluation_datetime_desc": "La date de dernière activité sur l'évaluation (Date + Heure)", + "evaluation_date_desc": "La date de dernière activité sur l'évaluation (Date seule)", + "evaluation_time_desc": "La date de dernière activité sur l'évaluation (Heure seule)" } diff --git a/src/main/evaluation/Resources/views/template/workspace_participation_certificate.en.pdf.twig b/src/main/evaluation/Resources/views/template/workspace_participation_certificate.en.pdf.twig index af3ddce3447..eedbdd01b1d 100644 --- a/src/main/evaluation/Resources/views/template/workspace_participation_certificate.en.pdf.twig +++ b/src/main/evaluation/Resources/views/template/workspace_participation_certificate.en.pdf.twig @@ -9,5 +9,5 @@
  • User : %user_first_name% %user_last_name%
  • Status : %evaluation_status%
  • Time spent : %evaluation_duration% minutes
  • -
  • Last activity : %evaluation_date%
  • +
  • Last activity : %evaluation_datetime%
  • diff --git a/src/main/evaluation/Resources/views/template/workspace_participation_certificate.fr.pdf.twig b/src/main/evaluation/Resources/views/template/workspace_participation_certificate.fr.pdf.twig index 9dbc5a9eebf..ec4a586a34d 100644 --- a/src/main/evaluation/Resources/views/template/workspace_participation_certificate.fr.pdf.twig +++ b/src/main/evaluation/Resources/views/template/workspace_participation_certificate.fr.pdf.twig @@ -9,5 +9,5 @@
  • Utilisateur : %user_first_name% %user_last_name%
  • Statut : %evaluation_status%
  • Temps passé : %evaluation_duration% minutes
  • -
  • Dernière activité : %evaluation_date%
  • +
  • Dernière activité : %evaluation_datetime%
  • diff --git a/src/main/evaluation/Resources/views/template/workspace_success_certificate.en.pdf.twig b/src/main/evaluation/Resources/views/template/workspace_success_certificate.en.pdf.twig index c548429797b..0a313fba808 100644 --- a/src/main/evaluation/Resources/views/template/workspace_success_certificate.en.pdf.twig +++ b/src/main/evaluation/Resources/views/template/workspace_success_certificate.en.pdf.twig @@ -10,5 +10,5 @@
  • Status : %evaluation_status%
  • Score : %evaluation_score% / %evaluation_score_max%
  • Time spent : %evaluation_duration%
  • -
  • Last activity : %evaluation_date%
  • +
  • Last activity : %evaluation_datetime%
  • diff --git a/src/main/evaluation/Resources/views/template/workspace_success_certificate.fr.pdf.twig b/src/main/evaluation/Resources/views/template/workspace_success_certificate.fr.pdf.twig index 539e20bc9d4..428dde67da8 100644 --- a/src/main/evaluation/Resources/views/template/workspace_success_certificate.fr.pdf.twig +++ b/src/main/evaluation/Resources/views/template/workspace_success_certificate.fr.pdf.twig @@ -10,5 +10,5 @@
  • Statut : %evaluation_status%
  • Score : %evaluation_score% / %evaluation_score_max%
  • Temps passé : %evaluation_duration%
  • -
  • Dernière activité : %evaluation_date%
  • +
  • Dernière activité : %evaluation_datetime%
  • diff --git a/src/plugin/path/Resources/modules/resources/path/store/reducer.js b/src/plugin/path/Resources/modules/resources/path/store/reducer.js index 68754a4f31c..74f88ed1501 100644 --- a/src/plugin/path/Resources/modules/resources/path/store/reducer.js +++ b/src/plugin/path/Resources/modules/resources/path/store/reducer.js @@ -42,7 +42,6 @@ const reducer = combineReducers({ stepsProgression: makeReducer({}, { [makeInstanceAction(RESOURCE_LOAD, 'innova_path')]: (state, action) => !isEmpty(action.resourceData.stepsProgression) ? action.resourceData.stepsProgression : state, [STEP_UPDATE_PROGRESSION]: (state, action) => { - console.log(action) const newState = cloneDeep(state) newState[action.stepId] = action.status diff --git a/src/plugin/wiki/Resources/translations/icap_wiki.en.json b/src/plugin/wiki/Resources/translations/icap_wiki.en.json index e44183bb9a5..a7513232dd4 100644 --- a/src/plugin/wiki/Resources/translations/icap_wiki.en.json +++ b/src/plugin/wiki/Resources/translations/icap_wiki.en.json @@ -15,7 +15,6 @@ "create": "Create", "create_new_section": "Create new section", "create_section": "Create section", - "date_format": "m/d/Y 'at' H:i", "delete": "Delete", "delete_confirmation": "Do you really want to delete \"%sectionTitle%\" section?", "delete_section": "Delete section", diff --git a/src/plugin/wiki/Resources/translations/icap_wiki.fr.json b/src/plugin/wiki/Resources/translations/icap_wiki.fr.json index 528c8a569ab..c86e4e8ce30 100644 --- a/src/plugin/wiki/Resources/translations/icap_wiki.fr.json +++ b/src/plugin/wiki/Resources/translations/icap_wiki.fr.json @@ -15,7 +15,6 @@ "create": "Créer", "create_new_section": "Créer une section", "create_section": "Création de section", - "date_format": "d/m/Y à H:i", "delete": "Supprimer", "delete_confirmation": "Êtes-vous sûr de vouloir supprimer la section \"%sectionTitle%\" ?", "delete_section": "Supprimer la section",