Add indicator for uncompleted time entry in users.php (#20)
authorAndréas Lundgren <Adevade@users.noreply.github.com>
Sun, 16 Oct 2016 19:06:56 +0000 (21:06 +0200)
committeranuko <support@anuko.com>
Sun, 16 Oct 2016 19:06:56 +0000 (19:06 +0000)
* Add indicator for uncompleted time entry in users.php

Roles that can manage team now see if a user has an uncompleted time entry from the Users screen.

* Fix - White space

WEB-INF/resources/en.lang.php
WEB-INF/resources/sv.lang.php
WEB-INF/templates/mobile/users.tpl
WEB-INF/templates/users.tpl
default.css
mobile/users.php
users.php

index 1062b2b..0a83a1b 100644 (file)
@@ -352,6 +352,7 @@ $i18n_key_words = array(
 // Users form. See example at https://timetracker.anuko.com/users.php
 'form.users.active_users' => 'Active Users',
 'form.users.inactive_users' => 'Inactive Users',
+'form.users.uncompleted_entry' => 'User has an uncompleted time entry',
 'form.users.role' => 'Role',
 'form.users.manager' => 'Manager',
 'form.users.comanager' => 'Co-manager',
index 363cbd9..2094860 100644 (file)
@@ -351,6 +351,7 @@ $i18n_key_words = array(
 // Users form. See example at https://timetracker.anuko.com/users.php
 'form.users.active_users' => 'Aktiva användare',
 'form.users.inactive_users' => 'Inaktiva användare',
+'form.users.uncompleted_entry' => 'Användaren har en oavslutad tidsregistrering',
 'form.users.role' => 'Roll',
 'form.users.manager' => 'Ansvarig',
 'form.users.comanager' => 'Delansvarig',
index 38c96ae..fedfa80 100644 (file)
@@ -19,6 +19,7 @@
     {foreach $active_users as $u}
         <tr bgcolor="{cycle values="#f5f5f5,#dedee5"}">
           <td>
+            <span class="uncompleted-entry{if $u.has_uncompleted_entry} active{/if}"{if $u.has_uncompleted_entry} title="{$i18n.form.users.uncompleted_entry}"{/if}></span>
             {if $user->isManager()}
               <a href="user_edit.php?id={$u.id}">{$u.name|escape:'html'}</a>
             {else}
index 0b64b73..0eaa149 100644 (file)
   {if $active_users}
     {foreach $active_users as $u}
         <tr bgcolor="{cycle values="#f5f5f5,#dedee5"}">
-          <td>{$u.name|escape:'html'}</td>
+          <td>
+            <span class="uncompleted-entry{if $u.has_uncompleted_entry} active{/if}"{if $u.has_uncompleted_entry} title="{$i18n.form.users.uncompleted_entry}"{/if}></span>
+            {$u.name|escape:'html'}
+          </td>
           <td>{$u.login|escape:'html'}</td>
       {if $smarty.const.ROLE_MANAGER == $u.role}
             <td>{$i18n.form.users.manager}</td>
index 7b305da..611d425 100644 (file)
@@ -144,6 +144,16 @@ table.divider {
 
 div#LoginAboutText { width:400px; }
 
+.uncompleted-entry {
+  display: inline-block;
+  height: 8px;
+  width: 8px;
+  border: 1px solid rgba(0, 0, 0, .1);
+  border-radius: 50%;
+  background-color: rgba(0, 0, 0, .1);
+}
+.uncompleted-entry.active { background-color: red; }
+
 /* Mobile styles */
 .mobile-table {
   border: 0;
index 71caa6e..c3c6a98 100644 (file)
@@ -29,6 +29,7 @@
 require_once('../initialize.php');
 import('form.Form');
 import('ttTeamHelper');
+import('ttTimeHelper');
 
 // Access check.
 if (!ttAccessCheck(right_data_entry)) {
@@ -43,6 +44,14 @@ if($user->canManageTeam()) {
   $inactive_users = ttTeamHelper::getInactiveUsers($user->team_id, true);
 }
 
+// Check each active user if they have an uncompleted time entry.
+foreach ($active_users as $key => $user) {
+  // Turn value from database into boolean.
+  $has_uncompleted_entry = boolval(ttTimeHelper::getUncompleted($user['id']));
+  // Add to current user in $active_users array.
+  $active_users[$key]['has_uncompleted_entry'] = $has_uncompleted_entry;
+}
+
 $smarty->assign('active_users', $active_users);
 $smarty->assign('inactive_users', $inactive_users);
 $smarty->assign('can_delete_manager', $can_delete_manager);
index 3a3b146..a841818 100644 (file)
--- a/users.php
+++ b/users.php
@@ -29,6 +29,7 @@
 require_once('initialize.php');
 import('form.Form');
 import('ttTeamHelper');
+import('ttTimeHelper');
 
 // Access check.
 if (!ttAccessCheck(right_data_entry)) {
@@ -43,6 +44,14 @@ if($user->canManageTeam()) {
   $inactive_users = ttTeamHelper::getInactiveUsers($user->team_id, true);
 }
 
+// Check each active user if they have an uncompleted time entry.
+foreach ($active_users as $key => $user) {
+  // Turn value from database into boolean.
+  $has_uncompleted_entry = boolval(ttTimeHelper::getUncompleted($user['id']));
+  // Add to current user in $active_users array.
+  $active_users[$key]['has_uncompleted_entry'] = $has_uncompleted_entry;
+}
+
 $smarty->assign('active_users', $active_users);
 $smarty->assign('inactive_users', $inactive_users);
 $smarty->assign('can_delete_manager', $can_delete_manager);