Added entity column on cf_custom_fields.php page.
authorNik Okuntseff <support@anuko.com>
Fri, 28 Jun 2019 14:42:30 +0000 (14:42 +0000)
committerNik Okuntseff <support@anuko.com>
Fri, 28 Jun 2019 14:42:30 +0000 (14:42 +0000)
35 files changed:
WEB-INF/resources/ca.lang.php
WEB-INF/resources/cs.lang.php
WEB-INF/resources/da.lang.php
WEB-INF/resources/de.lang.php
WEB-INF/resources/en.lang.php
WEB-INF/resources/es.lang.php
WEB-INF/resources/et.lang.php
WEB-INF/resources/fa.lang.php
WEB-INF/resources/fi.lang.php
WEB-INF/resources/fr.lang.php
WEB-INF/resources/gr.lang.php
WEB-INF/resources/he.lang.php
WEB-INF/resources/hu.lang.php
WEB-INF/resources/it.lang.php
WEB-INF/resources/ja.lang.php
WEB-INF/resources/ko.lang.php
WEB-INF/resources/nl.lang.php
WEB-INF/resources/no.lang.php
WEB-INF/resources/pl.lang.php
WEB-INF/resources/pt-br.lang.php
WEB-INF/resources/pt.lang.php
WEB-INF/resources/ro.lang.php
WEB-INF/resources/ru.lang.php
WEB-INF/resources/sk.lang.php
WEB-INF/resources/sl.lang.php
WEB-INF/resources/sr.lang.php
WEB-INF/resources/sv.lang.php
WEB-INF/resources/tr.lang.php
WEB-INF/resources/zh-cn.lang.php
WEB-INF/resources/zh-tw.lang.php
WEB-INF/templates/cf_custom_fields.tpl
WEB-INF/templates/footer.tpl
cf_custom_field_add.php
cf_custom_fields.php
plugins/CustomFields.class.php

index 0f0b4c7..42c637b 100644 (file)
@@ -282,6 +282,13 @@ $i18n_key_words = array(
 // 'label.active_users' => 'Active Users',
 // 'label.inactive_users' => 'Inactive Users',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 // TODO: Improve titles for consistency, so that each title explains correctly what each
 // page is about and is "consistent" from page to page, meaning that correct grammar is used everywhere.
@@ -414,8 +421,6 @@ $i18n_key_words = array(
 // 'dropdown.previous_year' => 'previous year',
 // 'dropdown.selected_year' => 'year',
 // 'dropdown.all_time' => 'all time',
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => 'projectes',
 // TODO: translate the following.
 // 'dropdown.tasks' => 'tasks',
index 9000b3b..0f25aa6 100644 (file)
@@ -292,6 +292,13 @@ $i18n_key_words = array(
 // 'label.active_users' => 'Active Users',
 // 'label.inactive_users' => 'Inactive Users',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 // TODO: Improve titles for consistency, so that each title explains correctly what each
 // page is about and is "consistent" from page to page, meaning that correct grammar is used everywhere.
@@ -423,9 +430,6 @@ $i18n_key_words = array(
 'dropdown.previous_year' => 'minulý rok',
 'dropdown.selected_year' => 'rok',
 'dropdown.all_time' => 'od počátku',
-// TODO: translate the following.
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => 'projekty',
 // TODO: translate the following.
 // 'dropdown.tasks' => 'tasks',
index c176763..0c59b52 100644 (file)
@@ -272,6 +272,13 @@ $i18n_key_words = array(
 'label.active_users' => 'Aktive Brugere',
 'label.inactive_users' => 'Inaktive Brugere',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 'title.error' => 'Fejl',
 // TODO: Translate the following.
@@ -396,9 +403,6 @@ $i18n_key_words = array(
 // 'dropdown.previous_year' => 'previous year',
 'dropdown.selected_year' => 'år',
 'dropdown.all_time' => 'Alt',
-// TODO: translate the following.
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => 'Projekter',
 'dropdown.tasks' => 'Opgaver',
 'dropdown.clients' => 'Klienter',
index 9fe12df..3b6c1a7 100644 (file)
@@ -261,6 +261,13 @@ $i18n_key_words = array(
 'label.active_users' => 'Aktive Nutzer',
 'label.inactive_users' => 'Inaktive Nutzer',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 'title.error' => 'Fehler',
 // TODO: Translate the following.
@@ -378,9 +385,6 @@ $i18n_key_words = array(
 'dropdown.previous_year' => 'vorheriges Jahr',
 'dropdown.selected_year' => 'Jahr',
 'dropdown.all_time' => 'Gesamtzeitraum',
-// TODO: translate the following.
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => 'Projekte',
 'dropdown.tasks' => 'Aufgaben',
 'dropdown.clients' => 'Kunden',
index 7d25fd6..851c8f9 100644 (file)
@@ -248,6 +248,12 @@ $i18n_key_words = array(
 'label.active_users' => 'Active Users',
 'label.inactive_users' => 'Inactive Users',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+'entity.time' => 'time',
+'entity.user' => 'user',
+'entity.project' => 'project',
+
 // Form titles.
 'title.error' => 'Error',
 'title.success' => 'Success',
@@ -363,8 +369,6 @@ $i18n_key_words = array(
 'dropdown.previous_year' => 'previous year',
 'dropdown.selected_year' => 'year',
 'dropdown.all_time' => 'all time',
-'dropdown.time' => 'time',
-'dropdown.user' => 'user',
 'dropdown.projects' => 'projects',
 'dropdown.tasks' => 'tasks',
 'dropdown.clients' => 'clients',
index 44ed256..cae0294 100644 (file)
@@ -285,6 +285,13 @@ $i18n_key_words = array(
 // 'label.active_users' => 'Active Users',
 // 'label.inactive_users' => 'Inactive Users',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 // TODO: Translate the following.
 // 'title.error' => 'Error',
@@ -414,8 +421,6 @@ $i18n_key_words = array(
 'dropdown.selected_year' => 'año',
 // TODO: translate the following.
 // 'dropdown.all_time' => 'all time',
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => 'proyectos',
 // TODO: translate the following.
 // 'dropdown.tasks' => 'tasks',
index 34a7239..fbe2e88 100644 (file)
@@ -278,6 +278,13 @@ $i18n_key_words = array(
 'label.active_users' => 'Aktiivsed kasutajad',
 'label.inactive_users' => 'Mitteaktiivsed kasutajad',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 // TODO: Improve titles for consistency, so that each title explains correctly what each
 // page is about and is "consistent" from page to page, meaning that correct grammar is used everywhere.
@@ -401,9 +408,6 @@ $i18n_key_words = array(
 'dropdown.previous_year' => 'eelmine aasta',
 'dropdown.selected_year' => 'aasta',
 'dropdown.all_time' => 'kõik ajavahemikud',
-// TODO: translate the following.
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => 'projektid',
 'dropdown.tasks' => 'tööülesanded',
 'dropdown.clients' => 'kliendid',
index 3095a87..13a2d5f 100644 (file)
@@ -283,6 +283,13 @@ $i18n_key_words = array(
 'label.active_users' => 'کاربران فعال',
 'label.inactive_users' => 'کاربران غیرفعال',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 'title.error' => 'خطا',
 // TODO: Translate the following.
@@ -407,9 +414,6 @@ $i18n_key_words = array(
 // 'dropdown.previous_year' => 'previous year',
 // 'dropdown.selected_year' => 'year',
 'dropdown.all_time' => 'همه زمان ها',
-// TODO: translate the following.
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => 'پروژه ها',
 'dropdown.tasks' => 'وظایف',
 'dropdown.clients' => 'مشتریان',
index 752c6ff..4421b88 100644 (file)
@@ -276,6 +276,13 @@ $i18n_key_words = array(
 'label.active_users' => 'Aktiiviset käyttäjät',
 'label.inactive_users' => 'Ei-aktiiviset käyttäjät',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 'title.error' => 'Virhe',
 // TODO: Translate the following.
@@ -396,9 +403,6 @@ $i18n_key_words = array(
 // 'dropdown.previous_year' => 'previous year',
 'dropdown.selected_year' => 'vuosi',
 'dropdown.all_time' => 'kaikki tunnit',
-// TODO: translate the following.
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => 'projektit',
 'dropdown.tasks' => 'tehtävät',
 'dropdown.clients' => 'asiakkaat',
index ff7e4e6..3a5ce78 100644 (file)
@@ -270,6 +270,13 @@ $i18n_key_words = array(
 'label.active_users' => 'Utilisateurs actifs',
 'label.inactive_users' => 'Utilisateurs inactifs',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 'title.error' => 'Erreur',
 // TODO: Translate the following.
@@ -388,9 +395,6 @@ $i18n_key_words = array(
 'dropdown.previous_year' => 'année dernière',
 'dropdown.selected_year' => 'année',
 'dropdown.all_time' => 'depuis toujours',
-// TODO: translate the following.
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => 'Projets',
 'dropdown.tasks' => 'Tâches',
 'dropdown.clients' => 'Clients',
index 1e3c8be..65e7318 100644 (file)
@@ -265,6 +265,13 @@ $i18n_key_words = array(
 'label.active_users' => 'Ενεργοί χρήστες',
 'label.inactive_users' => 'Ανενεργοί χρήστες',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 'title.error' => 'Σφάλμα',
 // TODO: Translate the following.
@@ -386,9 +393,6 @@ $i18n_key_words = array(
 'dropdown.previous_year' => 'προηγούμενο έτος',
 'dropdown.selected_year' => 'έτος',
 'dropdown.all_time' => 'όλη την περίοδο',
-// TODO: translate the following.
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => 'έργα',
 'dropdown.tasks' => 'εργασίες',
 'dropdown.clients' => 'πελάτες',
index 2905e27..3aee806 100644 (file)
@@ -291,6 +291,13 @@ $i18n_key_words = array(
 'label.active_users' => 'משתמשים פעילים',
 'label.inactive_users' => 'משתמשים לא פעילים',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 'title.error' => 'שגיאה',
 // TODO: Translate the following.
@@ -413,9 +420,6 @@ $i18n_key_words = array(
 // 'dropdown.previous_year' => 'previous year',
 'dropdown.selected_year' => 'שנה',
 'dropdown.all_time' => 'הכל',
-// TODO: translate the following.
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => 'פרוייקטים',
 'dropdown.tasks' => 'משימות',
 'dropdown.clients' => 'לקוחות',
index d44c8d8..a998dd8 100644 (file)
@@ -288,6 +288,13 @@ $i18n_key_words = array(
 // 'label.active_users' => 'Active Users',
 // 'label.inactive_users' => 'Inactive Users',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 // TODO: Translate the following.
 // 'title.error' => 'Error',
@@ -416,8 +423,6 @@ $i18n_key_words = array(
 // 'dropdown.previous_year' => 'previous year',
 // 'dropdown.selected_year' => 'year',
 // 'dropdown.all_time' => 'all time',
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => 'projektek',
 // TODO: translate the following.
 // 'dropdown.tasks' => 'tasks',
index a1efcd5..4f6368b 100644 (file)
@@ -269,6 +269,13 @@ $i18n_key_words = array(
 'label.active_users' => 'Utenti attivi',
 'label.inactive_users' => 'Utenti inattivi',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 // TODO: Improve titles for consistency, so that each title explains correctly what each
 // page is about and is "consistent" from page to page, meaning that correct grammar is used everywhere.
@@ -396,9 +403,6 @@ $i18n_key_words = array(
 'dropdown.previous_year' => 'anno precedente',
 'dropdown.selected_year' => 'anno',
 'dropdown.all_time' => 'tutto il tempo',
-// TODO: translate the following.
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => 'progetti',
 'dropdown.tasks' => 'compiti',
 'dropdown.clients' => 'clienti',
index 1fadd68..8a723ba 100644 (file)
@@ -292,6 +292,13 @@ $i18n_key_words = array(
 // 'label.active_users' => 'Active Users',
 // 'label.inactive_users' => 'Inactive Users',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 // TODO: Translate the following.
 // 'title.error' => 'Error',
@@ -419,9 +426,6 @@ $i18n_key_words = array(
 'dropdown.previous_year' => '昨年',
 'dropdown.selected_year' => '年',
 'dropdown.all_time' => 'すべての時間',
-// TODO: translate the following.
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => 'プロジェクト',
 // TODO: translate the following.
 // 'dropdown.tasks' => 'tasks',
index 115a96a..c2957e1 100644 (file)
@@ -292,6 +292,13 @@ $i18n_key_words = array(
 // 'label.active_users' => 'Active Users',
 // 'label.inactive_users' => 'Inactive Users',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 // TODO: Translate the following.
 // 'title.error' => 'Error',
@@ -422,9 +429,6 @@ $i18n_key_words = array(
 // 'dropdown.previous_year' => 'previous year',
 // 'dropdown.selected_year' => 'year',
 'dropdown.all_time' => '전시간',
-// TODO: translate the following.
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => '프로젝트',
 // TODO: translate the following.
 // 'dropdown.tasks' => 'tasks',
index 58d3aaa..c834655 100644 (file)
@@ -250,6 +250,13 @@ $i18n_key_words = array(
 'label.active_users' => 'Actieve medewerkers',
 'label.inactive_users' => 'Inactieve medewerkers',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 'title.error' => 'Fout',
 'title.success' => 'Succes',
@@ -363,9 +370,6 @@ $i18n_key_words = array(
 'dropdown.previous_year' => 'vorig jaar',
 'dropdown.selected_year' => 'jaar',
 'dropdown.all_time' => 'alles',
-// TODO: translate the following.
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => 'projecten',
 'dropdown.tasks' => 'taken',
 'dropdown.clients' => 'klanten',
index 27d6a91..8fb7bf6 100644 (file)
@@ -289,6 +289,13 @@ $i18n_key_words = array(
 // 'label.active_users' => 'Active Users',
 // 'label.inactive_users' => 'Inactive Users',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 // TODO: Translate the following.
 // 'title.error' => 'Error',
@@ -417,9 +424,6 @@ $i18n_key_words = array(
 // 'dropdown.previous_year' => 'previous year',
 // 'dropdown.selected_year' => 'year',
 // 'dropdown.all_time' => 'all time',
-// TODO: translate the following.
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => 'prosjekter',
 // TODO: translate the following.
 // 'dropdown.tasks' => 'tasks',
index aa6a2ce..d77a7b4 100644 (file)
@@ -277,6 +277,13 @@ $i18n_key_words = array(
 'label.active_users' => 'Aktywni użytkownicy',
 'label.inactive_users' => 'Nieaktywni użytkownicy',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 'title.error' => 'Błąd',
 // TODO: Translate the following.
@@ -399,9 +406,6 @@ $i18n_key_words = array(
 // 'dropdown.previous_year' => 'previous year',
 'dropdown.selected_year' => 'rok',
 'dropdown.all_time' => 'od początku',
-// TODO: translate the following.
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => 'projekty',
 'dropdown.tasks' => 'zadania',
 'dropdown.clients' => 'klienci',
index 3d1d0ab..7165cb5 100644 (file)
@@ -274,6 +274,13 @@ $i18n_key_words = array(
 'label.active_users' => 'Usuários ativos',
 'label.inactive_users' => 'Usuários inativos',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 'title.error' => 'Erro',
 // TODO: Translate the following.
@@ -394,9 +401,6 @@ $i18n_key_words = array(
 // 'dropdown.previous_year' => 'previous year',
 'dropdown.selected_year' => 'ano',
 'dropdown.all_time' => 'todas as datas',
-// TODO: translate the following.
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => 'projetos',
 'dropdown.tasks' => 'tarefas',
 'dropdown.clients' => 'clientes',
index 2720464..6c00243 100644 (file)
@@ -277,6 +277,13 @@ $i18n_key_words = array(
 // 'label.active_users' => 'Active Users',
 // 'label.inactive_users' => 'Inactive Users',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 // TODO: Translate the following.
 // 'title.error' => 'Error',
@@ -402,9 +409,6 @@ $i18n_key_words = array(
 // 'dropdown.previous_year' => 'previous year',
 // 'dropdown.selected_year' => 'year',
 // 'dropdown.all_time' => 'all time',
-// TODO: translate the following.
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => 'projetos',
 // TODO: translate the following.
 // 'dropdown.tasks' => 'tasks',
index 64b4551..a66f5e4 100644 (file)
@@ -289,6 +289,13 @@ $i18n_key_words = array(
 // 'label.active_users' => 'Active Users',
 // 'label.inactive_users' => 'Inactive Users',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 // TODO: Improve titles for consistency, so that each title explains correctly what each
 // page is about and is "consistent" from page to page, meaning that correct grammar is used everywhere.
@@ -420,8 +427,6 @@ $i18n_key_words = array(
 // 'dropdown.previous_year' => 'previous year',
 // 'dropdown.selected_year' => 'year',
 // 'dropdown.all_time' => 'all time',
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => 'proiecte',
 // TODO: translate the following.
 // 'dropdown.tasks' => 'tasks',
index 980aa46..93c88dd 100644 (file)
@@ -247,6 +247,12 @@ $i18n_key_words = array(
 'label.active_users' => 'Активные пользователи',
 'label.inactive_users' => 'Неактивные пользователи',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+'entity.time' => 'время',
+'entity.user' => 'пользователь',
+'entity.project' => 'проект',
+
 // Form titles.
 'title.error' => 'Ошибка',
 'title.success' => 'Успех',
@@ -360,8 +366,6 @@ $i18n_key_words = array(
 'dropdown.previous_year' => 'прошлый год',
 'dropdown.selected_year' => 'год',
 'dropdown.all_time' => 'всё время',
-'dropdown.time' => 'время',
-'dropdown.user' => 'пользователь',
 'dropdown.projects' => 'проекты',
 'dropdown.tasks' => 'задачи',
 'dropdown.clients' => 'клиенты',
index 56d14f6..a1ebcb5 100644 (file)
@@ -281,6 +281,13 @@ $i18n_key_words = array(
 'label.active_users' => 'Aktívny používatelia',
 'label.inactive_users' => 'Neaktívny používatelia',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 'title.error' => 'Chyba',
 // TODO: Translate the following.
@@ -403,9 +410,6 @@ $i18n_key_words = array(
 // 'dropdown.previous_year' => 'previous year',
 'dropdown.selected_year' => 'rok',
 'dropdown.all_time' => 'celý čas',
-// TODO: translate the following.
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => 'projekty',
 'dropdown.tasks' => 'úlohy',
 // TODO: translate the following.
index db54f19..0dac806 100644 (file)
@@ -272,6 +272,13 @@ $i18n_key_words = array(
 // 'label.active_users' => 'Active Users',
 // 'label.inactive_users' => 'Inactive Users',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 // TODO: Translate the following.
 // 'title.error' => 'Error',
@@ -394,8 +401,6 @@ $i18n_key_words = array(
 // 'dropdown.previous_year' => 'previous year',
 // 'dropdown.selected_year' => 'year',
 // 'dropdown.all_time' => 'all time',
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => 'projekti',
 // TODO: translate the following.
 // 'dropdown.tasks' => 'tasks',
index eb8f3eb..e73ae46 100644 (file)
@@ -275,6 +275,13 @@ $i18n_key_words = array(
 'label.active_users' => 'Aktivni korisnik',
 'label.inactive_users' => 'Neaktivni korisnik',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 'title.error' => 'Greška',
 // TODO: Translate the following.
@@ -397,9 +404,6 @@ $i18n_key_words = array(
 // 'dropdown.previous_year' => 'previous year',
 'dropdown.selected_year' => 'godina',
 'dropdown.all_time' => 'svi datumi',
-// TODO: translate the following.
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => 'projekti',
 'dropdown.tasks' => 'zadaci',
 'dropdown.clients' => 'klijenti',
index c17662b..c6bf2f4 100644 (file)
@@ -272,6 +272,13 @@ $i18n_key_words = array(
 'label.active_users' => 'Aktiva användare',
 'label.inactive_users' => 'Inaktiva användare',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Rubriker för formulär
 'title.error' => 'Fel',
 // TODO: Translate the following.
@@ -396,9 +403,6 @@ $i18n_key_words = array(
 'dropdown.previous_year' => 'Föregående år',
 'dropdown.selected_year' => 'År',
 'dropdown.all_time' => 'Livstid',
-// TODO: translate the following.
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => 'Projekt',
 'dropdown.tasks' => 'Arbetsuppgifter',
 'dropdown.clients' => 'Kunder',
index 5701f56..d07275f 100644 (file)
@@ -296,6 +296,13 @@ $i18n_key_words = array(
 // 'label.active_users' => 'Active Users',
 // 'label.inactive_users' => 'Inactive Users',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 // Form titles.
 // TODO: Improve titles for consistency, so that each title explains correctly what each
@@ -428,9 +435,6 @@ $i18n_key_words = array(
 // 'dropdown.previous_year' => 'previous year',
 // 'dropdown.selected_year' => 'year',
 'dropdown.all_time' => 'tüm zamanlar',
-// TODO: translate the following.
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => 'projeler',
 // TODO: translate the following.
 // 'dropdown.tasks' => 'tasks',
index dce6df8..e5244c0 100644 (file)
@@ -281,6 +281,13 @@ $i18n_key_words = array(
 // 'label.active_users' => 'Active Users',
 // 'label.inactive_users' => 'Inactive Users',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 // TODO: Translate the following.
 // 'title.error' => 'Error',
@@ -409,9 +416,6 @@ $i18n_key_words = array(
 // 'dropdown.previous_year' => 'previous year',
 // 'dropdown.selected_year' => 'year',
 'dropdown.all_time' => '全部时间',
-// TODO: translate the following.
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => '项目',
 // TODO: translate the following.
 // 'dropdown.tasks' => 'tasks',
index a18cb21..f5d9e9b 100644 (file)
@@ -287,6 +287,13 @@ $i18n_key_words = array(
 // 'label.active_users' => 'Active Users',
 // 'label.inactive_users' => 'Inactive Users',
 
+// Entity names. We use lower case (in English) because they are used in dropdowns, too.
+// They are used to associate a custom field with an entity type.
+// TODO: translate the following.
+// 'entity.time' => 'time',
+// 'entity.user' => 'user',
+// 'entity.project' => 'project',
+
 // Form titles.
 // TODO: Translate the following.
 // 'title.error' => 'Error',
@@ -414,9 +421,6 @@ $i18n_key_words = array(
 // 'dropdown.previous_year' => 'previous year',
 'dropdown.selected_year' => '年',
 'dropdown.all_time' => '全部時間',
-// TODO: translate the following.
-// 'dropdown.time' => 'time',
-// 'dropdown.user' => 'user',
 'dropdown.projects' => '項目',
 // TODO: translate the following.
 // 'dropdown.tasks' => 'tasks',
index 5d254e9..e64f181 100644 (file)
@@ -5,7 +5,8 @@
 {if $user->can('manage_custom_fields')}
       <table cellspacing="1" cellpadding="3" border="0" width="100%">
         <tr>
-          <td width="50%" class="tableHeader">{$i18n.label.thing_name}</td>
+          <td class="tableHeader">{$i18n.label.thing_name}</td>
+          <td class="tableHeader">{$i18n.label.entity}</td>
           <td class="tableHeader">{$i18n.label.type}</td>
           <td class="tableHeader">{$i18n.menu.options}</td>
           <td></td>
     {foreach $custom_fields as $field}
         <tr bgcolor="{cycle values="#f5f5f5,#ffffff"}">
           <td>{$field['label']|escape}</td>
+      {if CustomFields::ENTITY_TIME == $field['entity_type']}
+          <td>{$i18n.entity.time}</td>
+      {elseif CustomFields::ENTITY_USER == $field['entity_type']}
+          <td>{$i18n.entity.user}</td>
+      {else}
+          <td></td>
+      {/if}
       {if CustomFields::TYPE_TEXT == $field['type']}
           <td>{$i18n.label.type_text}</td>
           <td></td>
index 3beac64..2351957 100644 (file)
@@ -12,7 +12,7 @@
       <br>
       <table cellspacing="0" cellpadding="4" width="100%" border="0">
         <tr>
-          <td align="center">&nbsp;Anuko Time Tracker 1.19.6.5020 | Copyright &copy; <a href="https://www.anuko.com/lp/tt_3.htm" target="_blank">Anuko</a> |
+          <td align="center">&nbsp;Anuko Time Tracker 1.19.6.5021 | Copyright &copy; <a href="https://www.anuko.com/lp/tt_3.htm" target="_blank">Anuko</a> |
             <a href="https://www.anuko.com/lp/tt_4.htm" target="_blank">{$i18n.footer.credits}</a> |
             <a href="https://www.anuko.com/lp/tt_5.htm" target="_blank">{$i18n.footer.license}</a> |
             <a href="https://www.anuko.com/lp/tt_7.htm" target="_blank">{$i18n.footer.improve}</a>
index e4a919e..e8de69e 100644 (file)
@@ -41,7 +41,7 @@ if (!$user->isPluginEnabled('cf')) {
 }
 $fields = CustomFields::getFields();
 // Deny access when max number of custom fields is already set.
-if (count($fields) >= 1) {
+if (count($fields) >= 1 && !isTrue('CF_DEBUG')) {
   header('Location: access_denied.php');
   exit();
 }
@@ -59,8 +59,8 @@ if ($request->isPost()) {
 $form = new Form('fieldForm');
 $form->addInput(array('type'=>'text','maxlength'=>'100','name'=>'name','value'=>''));
 $form->addInput(array('type'=>'combobox','name'=>'entity',
-  'data'=>array(CustomFields::ENTITY_TIME=>$i18n->get('dropdown.time'),
-                CustomFields::ENTITY_USER=>$i18n->get('dropdown.user'))
+  'data'=>array(CustomFields::ENTITY_TIME=>$i18n->get('entity.time'),
+                CustomFields::ENTITY_USER=>$i18n->get('entity.user'))
 ));
 $form->addInput(array('type'=>'combobox','name'=>'type',
   'data'=>array(CustomFields::TYPE_TEXT=>$i18n->get('label.type_text'),
index 6de626c..d877e7c 100644 (file)
@@ -54,7 +54,7 @@ if ($request->isPost()) {
 
   $fields = CustomFields::getFields();
   // At this time only one custom field is supported. Disable the Add button if we already have one or more custom fields.
-  if (count($fields) > 0)
+  if (count($fields) > 0 && !isTrue('CF_DEBUG'))
     $form->getElement('btn_add')->setEnabled(false);
 }
 
index a0c49ec..f36a426 100644 (file)
@@ -249,12 +249,12 @@ class CustomFields {
     $org_id = $user->org_id;
 
     $fields = array();
-    $sql = "select id, type, label from tt_custom_fields".
+    $sql = "select id, entity_type, type, label from tt_custom_fields".
       " where group_id = $group_id and org_id = $org_id and status = 1 and type > 0";
     $res = $mdb2->query($sql);
     if (!is_a($res, 'PEAR_Error')) {
       while ($val = $res->fetchRow()) {
-        $fields[] = array('id'=>$val['id'],'type'=>$val['type'],'label'=>$val['label']);
+        $fields[] = $val; // array('id'=>$val['id'],'type'=>$val['type'],'label'=>$val['label']);
       }
       return $fields;
     }
@@ -308,8 +308,8 @@ class CustomFields {
     $group_id = $user->getGroup();
     $org_id = $user->org_id;
 
-    $sql = "insert into tt_custom_fields (group_id, org_id, type, label, required, status)".
-      " values($group_id, $org_id, $field_type, ".$mdb2->quote($field_name).", $required, 1)";
+    $sql = "insert into tt_custom_fields (group_id, org_id, entity_type, type, label, required, status)".
+      " values($group_id, $org_id, $entity_type, $field_type, ".$mdb2->quote($field_name).", $required, 1)";
     $affected = $mdb2->exec($sql);
     return (!is_a($affected, 'PEAR_Error'));
   }