X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=WEB-INF%2Flib%2FttAdmin.class.php;h=747274f121310b948dbbc7da34d49edc6044f7fc;hb=fa6508ac21c30d6bfef008387fabd29a843d7b66;hp=83b93a7676dd0791b534f2d455c005045317e374;hpb=45c855269d952873285f7a835e82fc2b3eff3971;p=timetracker.git diff --git a/WEB-INF/lib/ttAdmin.class.php b/WEB-INF/lib/ttAdmin.class.php index 83b93a76..747274f1 100644 --- a/WEB-INF/lib/ttAdmin.class.php +++ b/WEB-INF/lib/ttAdmin.class.php @@ -41,7 +41,17 @@ class ttAdmin { // getSubgroups rerurns an array of subgroups for a group. function getSubgroups($group_id) { - return array(); // TODO: not yet implemented. + $mdb2 = getConnection(); + + $subgroups = array(); + $sql = "select id from tt_groups where parent_id = $group_id"; + $res = $mdb2->query($sql); + if (!is_a($res, 'PEAR_Error')) { + while ($val = $res->fetchRow()) { + $subgroups[] = $val; + } + } + return $subgroups; } // getUsers obtains user ids in a group. @@ -105,7 +115,7 @@ class ttAdmin { return true; } - // markGroupDeleted marks the group and everything in it as deleted. + // markGroupDeleted marks a group and everything in it as deleted. function markGroupDeleted($group_id) { // Keep the logic simple by returning false on first error. @@ -166,9 +176,9 @@ class ttAdmin { // // 1) Users may mark some of them deleted during their work. // If we mark all of them deleted here, we can't recover nicely - // as we'll lose track of what was deleted by user. + // as we'll lose track of what was accidentally deleted by user. // - // 2) DB maintenance script (Clean up DB from inactive teams) should + // 2) DB maintenance script (Clean up DB from inactive groups) should // get rid of these items permanently eventually. // Mark group deleted. @@ -188,8 +198,8 @@ class ttAdmin { $result = true; - if (!ttValidString($fields['group_name'], true)) { - $this->err->add($i18n->get('error.field'), $i18n->get('label.team_name')); + if (!ttValidString($fields['new_group_name'])) { + $this->err->add($i18n->get('error.field'), $i18n->get('label.group_name')); $result = false; } if (!ttValidString($fields['user_name'])) { @@ -332,4 +342,24 @@ class ttAdmin { return true; } + + // getGroupDetails obtains group name and its top manager details. + function getGroupDetails($group_id) { + $result = array(); + $mdb2 = getConnection(); + + $sql = "select g.name as group_name, u.id as manager_id, u.name as manager_name, u.login as manager_login, u.email as manager_email". + " from tt_groups g". + " inner join tt_users u on (u.group_id = g.id)". + " inner join tt_roles r on (r.id = u.role_id and r.rank = 512)". + " where g.id = $group_id"; + + $res = $mdb2->query($sql); + if (!is_a($res, 'PEAR_Error')) { + $val = $res->fetchRow(); + return $val; + } + + return false; + } }