From 1678129fe9bff820bf72063d7e76c4acc91b7a14 Mon Sep 17 00:00:00 2001 From: Kevin Papst Date: Sun, 30 Oct 2016 23:39:55 +0100 Subject: [PATCH] improvements --- app/Resources/translations/messages.de.xliff | 102 + app/Resources/views/admin/user.html.twig | 37 + app/Resources/views/base.html.twig | 21 +- app/Resources/views/dashboard/index.html.twig | 99 +- .../views/macros/datatables.html.twig | 53 + app/Resources/views/macros/widgets.html.twig | 71 +- app/Resources/views/user/profile.html.twig | 83 +- app/config/config.yml | 1 + composer.lock | 75 +- .../Controller/Admin/UserController.php | 45 + .../Controller/DashboardController.php | 21 +- .../Controller/ProfileController.php | 40 +- src/AppBundle/Entity/User.php | 511 +-- src/AppBundle/EventListener/MenuBuilder.php | 8 +- src/AppBundle/Model/UserStatistic.php | 41 + src/AppBundle/Repository/UserRepository.php | 76 +- src/AppBundle/Twig/Extensions.php | 41 +- .../Controller/TimesheetController.php | 12 + .../DataFixtures/ORM/LoadFixtures.php | 34 +- src/TimesheetBundle/Entity/Customer.php | 152 +- src/TimesheetBundle/Entity/Project.php | 22 +- src/TimesheetBundle/Entity/Timesheet.php | 410 +-- .../Model/ActivityStatistic.php | 41 + .../Model/ProjectStatistic.php | 41 + .../Model/TimesheetGlobalStatistic.php | 81 + .../Model/TimesheetStatistic.php | 101 + .../Repository/ActivityRepository.php | 36 +- .../Repository/ProjectRepository.php | 25 +- .../Repository/TimesheetRepository.php | 122 +- .../views/Sidebar/navbar-panel.html.twig | 12 + .../Resources/views/admin/activity.html.twig | 44 +- .../Resources/views/admin/project.html.twig | 48 +- .../Resources/views/admin/timesheet.html.twig | 49 +- .../Resources/views/timesheet/index.html.twig | 47 +- web/css/kimai.css | 248 ++ web/fonts/font-awesome/FontAwesome.otf | Bin 93888 -> 134808 bytes .../font-awesome/fontawesome-webfont.eot | Bin 60767 -> 165742 bytes .../font-awesome/fontawesome-webfont.svg | 3230 ++++++++++++++--- .../font-awesome/fontawesome-webfont.ttf | Bin 122092 -> 165548 bytes .../font-awesome/fontawesome-webfont.woff | Bin 71508 -> 98024 bytes .../font-awesome/fontawesome-webfont.woff2 | Bin 56780 -> 77160 bytes web/images/buzzer-deactived.png | Bin 0 -> 7851 bytes web/images/buzzer-off-hover.png | Bin 0 -> 11291 bytes web/images/buzzer-off.png | Bin 0 -> 11456 bytes web/images/buzzer-on-hover.png | Bin 0 -> 11655 bytes web/images/buzzer-on.png | Bin 0 -> 11175 bytes web/js/kimai.js | 56 + 47 files changed, 4390 insertions(+), 1746 deletions(-) create mode 100644 app/Resources/views/admin/user.html.twig create mode 100644 app/Resources/views/macros/datatables.html.twig create mode 100644 src/AppBundle/Controller/Admin/UserController.php create mode 100644 src/AppBundle/Model/UserStatistic.php create mode 100644 src/TimesheetBundle/Model/ActivityStatistic.php create mode 100644 src/TimesheetBundle/Model/ProjectStatistic.php create mode 100644 src/TimesheetBundle/Model/TimesheetGlobalStatistic.php create mode 100644 src/TimesheetBundle/Model/TimesheetStatistic.php create mode 100644 src/TimesheetBundle/Resources/views/Sidebar/navbar-panel.html.twig create mode 100644 web/css/kimai.css create mode 100644 web/images/buzzer-deactived.png create mode 100644 web/images/buzzer-off-hover.png create mode 100644 web/images/buzzer-off.png create mode 100644 web/images/buzzer-on-hover.png create mode 100644 web/images/buzzer-on.png create mode 100644 web/js/kimai.js diff --git a/app/Resources/translations/messages.de.xliff b/app/Resources/translations/messages.de.xliff index a7264d80..4f235932 100644 --- a/app/Resources/translations/messages.de.xliff +++ b/app/Resources/translations/messages.de.xliff @@ -61,6 +61,10 @@ menu.admin_activity Aktivitäten + + menu.admin_user + Benutzer + + + profile.title + Benutzerprofil + + + profile.subtitle + Verwalte Deine Einstellungen + + @@ -245,6 +273,80 @@ admin_activity.subtitle Aufgaben zur Zeiterfassung + + + + admin_user.title + Benutzer + + + admin_user.subtitle + Alle registrierten Nutzer + + + label.alias + Name + + + label.email + Email + + + label.title + Titel + + + label.active + Aktiv + + + label.roles + Rolle + + + + + ROLE_ADMIN + Administrator + + + ROLE_TEAMLEAD + Teamleiter + + + ROLE_USER + Benutzer + + + ROLE_CUSTOMER + Kunde + + + + + stats.durationThisMonth + Arbeitszeit diesen Monat + + + stats.amountThisMonth + Umsatz diesen Monat + + + stats.durationTotal + Arbeitszeit total + + + stats.amountTotal + Umsatz total + + + diff --git a/app/Resources/views/admin/user.html.twig b/app/Resources/views/admin/user.html.twig new file mode 100644 index 00000000..3445eda2 --- /dev/null +++ b/app/Resources/views/admin/user.html.twig @@ -0,0 +1,37 @@ +{% extends 'base.html.twig' %} +{% import "macros/datatables.html.twig" as tables %} +{% import "macros/widgets.html.twig" as widgets %} +{% import "AvanzuAdminThemeBundle:layout:macros.html.twig" as macro %} + +{% block page_title %}{{ 'admin_user.title'|trans }}{% endblock %} +{% block page_subtitle %}{{ 'admin_user.subtitle'|trans }}{% endblock %} + +{% block main %} + {% if entries.count > 0 %} + {{ tables.data_table_header({ + 'label.id': '', + 'label.username': 'user', + 'label.alias': 'comment-o', + 'label.email': 'envelope-o', + 'label.title': 'graduation-cap', + 'label.active': 'lock', + 'label.roles': 'users', + }) }} + + {% for entry in entries %} + + {{ entry.id }} + {{ entry.username }} + {{ entry.alias }} + {{ entry.email }} + {{ entry.title }} + {{ widgets.label_visible(entry.active) }} + {{ entry.roles|join(',')|trans }} + + {% endfor %} + + {{ tables.data_table_footer(entries, 'admin_user_paginated') }} + {% else %} + {{ widgets.callout('warning', 'error.no_entries_found') }} + {% endif %} +{% endblock %} diff --git a/app/Resources/views/base.html.twig b/app/Resources/views/base.html.twig index 7c5e35eb..22a6a8ed 100644 --- a/app/Resources/views/base.html.twig +++ b/app/Resources/views/base.html.twig @@ -36,6 +36,25 @@ {{ include('default/_flash_messages.html.twig') }} {% endblock %} +{% block avanzu_head %} + + + + + +{% endblock %} + +{% block avanzu_sidebar_user %} + {% if app.user is not null and is_granted('IS_AUTHENTICATED_FULLY') %} + {{ render(controller('TimesheetBundle:Timesheet:statusEntry')) }} + {% endif %} +{% endblock %} + {% block avanzu_footer %} {% block footer %}