// '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.
// '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',
// '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.
'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',
'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.
// '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',
'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.
'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',
'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',
'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',
// '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',
'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',
'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.
'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',
'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.
// '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' => 'مشتریان',
'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.
// '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',
'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.
'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',
'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.
'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' => 'πελάτες',
'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.
// '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' => 'לקוחות',
// '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',
// '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',
'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.
'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',
// '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',
'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',
// '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',
// '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',
'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',
'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',
// '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',
// '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',
'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.
// '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',
'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.
// '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',
// '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',
// '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',
// '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.
// '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',
'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' => 'Успех',
'dropdown.previous_year' => 'прошлый год',
'dropdown.selected_year' => 'год',
'dropdown.all_time' => 'всё время',
-'dropdown.time' => 'время',
-'dropdown.user' => 'пользователь',
'dropdown.projects' => 'проекты',
'dropdown.tasks' => 'задачи',
'dropdown.clients' => 'клиенты',
'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.
// '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.
// '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',
// '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',
'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.
// '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',
'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.
'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',
// '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
// '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',
// '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',
// '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',
// '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',
// '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',
{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>
<br>
<table cellspacing="0" cellpadding="4" width="100%" border="0">
<tr>
- <td align="center"> Anuko Time Tracker 1.19.6.5020 | Copyright © <a href="https://www.anuko.com/lp/tt_3.htm" target="_blank">Anuko</a> |
+ <td align="center"> Anuko Time Tracker 1.19.6.5021 | Copyright © <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>
}
$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();
}
$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'),
$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);
}
$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;
}
$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'));
}