コード例 #1
0
ファイル: ugroup_utils.php プロジェクト: pdaniel-frk/tuleap
/**
 * Validate the ugroup list containing group admins.
 * Remove ugroups that are empty or contain no project admins.
 * Don't remove ugroups containing both project admins and non project admins
 * just indicate the total number of non project admins.
 *
 * @param Integer $groupId
 * @param Array   $ugroups
 *
 * @return Array
 */
function ugroup_filter_ugroups_by_project_admin($groupId, $ugroups)
{
    $validUGroups = array();
    // Check static ugroups
    $nonAdmins = ugroup_count_non_admin_for_static_ugroups($groupId, $ugroups, $validUGroups);
    // Check dynamic ugroups
    $nonAdmins += ugroup_count_non_admin_for_dynamic_ugroups($groupId, $ugroups, $validUGroups);
    return array('non_admins' => $nonAdmins, 'ugroups' => $validUGroups);
}
コード例 #2
0
ファイル: UgroupUtilsTest.php プロジェクト: nterray/tuleap
 function testUgroupCountNonAdminForDynamicUgroupsMixed()
 {
     $this->skipUnless(MOCKFUNCTION_AVAILABLE, "Function mocking not available");
     if (MOCKFUNCTION_AVAILABLE) {
         MockFunction::generate('ugroup_count_project_admins');
         MockFunction::setReturnValueAt(0, 'ugroup_count_project_admins', array('admins' => 0, 'non_admins' => 2));
         MockFunction::setReturnValueAt(1, 'ugroup_count_project_admins', array('admins' => 1, 'non_admins' => 3));
         MockFunction::expectCallCount('ugroup_count_project_admins', 2);
         $validUGroups = array(1, 2);
         $this->assertEqual(3, ugroup_count_non_admin_for_dynamic_ugroups(1, array(3, 4), $validUGroups));
         $this->assertEqual(array(1, 2, 4), $validUGroups);
         MockFunction::restore('ugroup_count_project_admins');
     }
 }