<label for="client_<?php 
        echo $user->getID();
        ?>
_<?php 
        echo $client->getID();
        ?>
" style="font-weight: normal;"><?php 
        echo $client->getName();
        ?>
</label>&nbsp;&nbsp;
                                </div>
                            <?php 
    }
    ?>
                            <?php 
    if (count(\thebuggenie\core\entities\Client::getAll()) == 0) {
        ?>
                                <?php 
        echo __('No clients exist');
        ?>
                            <?php 
    }
    ?>
                        </td>
                    </tr>
                    <tr>
                        <td colspan="4" style="text-align: right; font-size: 13px; padding-top: 10px;">
                            <div style="padding: 10px 0 10px 0; display: none;" id="edit_user_<?php 
    echo $user->getID();
    ?>
_indicator"><span style="float: left;"><?php 
        ?>
 class="selected"<?php 
    }
    ?>
>
                <div class="menuitem_container">
                    <?php 
    echo link_tag('javascript:void(0)', image_tag('tab_clients.png') . __('Clients'), array('class' => 'not_clickable'));
    ?>
                    <?php 
    echo javascript_link_tag(image_tag('tabmenu_dropdown.png', array('class' => 'menu_dropdown')), array('onmouseover' => ""));
    ?>
                </div>
                <div id="client_menu" class="tab_menu_dropdown">
                    <?php 
    foreach (\thebuggenie\core\entities\Client::getAll() as $client) {
        ?>
                        <?php 
        if (!$client->hasAccess()) {
            continue;
        }
        ?>
                        <?php 
        echo link_tag(make_url('client_dashboard', array('client_id' => $client->getID())), image_tag('tab_clients.png') . $client->getName());
        ?>
                    <?php 
    }
    ?>
                </div>
            </li>
        <?php 
Beispiel #3
0
 public function runConfigureUsers(framework\Request $request)
 {
     $this->groups = entities\Group::getAll();
     $this->teams = entities\Team::getAll();
     $this->clients = entities\Client::getAll();
     $this->finduser = $request['finduser'];
 }
Beispiel #4
0
 public function getPredefinedBreadcrumbLinks($type, $project = null)
 {
     $i18n = Context::getI18n();
     $links = array();
     switch ($type) {
         case 'main_links':
             $links[] = array('url' => Context::getRouting()->generate('home'), 'title' => $i18n->__('Frontpage'));
             $links[] = array('url' => Context::getRouting()->generate('dashboard'), 'title' => $i18n->__('Personal dashboard'));
             $links[] = array('title' => $i18n->__('Issues'));
             $links[] = array('title' => $i18n->__('Teams'));
             $links[] = array('title' => $i18n->__('Clients'));
             $links = Event::createNew('core', 'breadcrumb_main_links', null, array(), $links)->trigger()->getReturnList();
             if (Context::getUser()->canAccessConfigurationPage()) {
                 $links[] = array('url' => make_url('configure'), 'title' => $i18n->__('Configure %sitename', array('%sitename' => Settings::getSiteHeaderName())));
             }
             $links[] = array('url' => Context::getRouting()->generate('about'), 'title' => $i18n->__('About %sitename', array('%sitename' => Settings::getSiteHeaderName())));
             $links[] = array('url' => Context::getRouting()->generate('account'), 'title' => $i18n->__('Account details'));
             break;
         case 'project_summary':
             $links['project_dashboard'] = array('url' => Context::getRouting()->generate('project_dashboard', array('project_key' => $project->getKey())), 'title' => $i18n->__('Dashboard'));
             $links['project_releases'] = array('url' => Context::getRouting()->generate('project_release_center', array('project_key' => $project->getKey())), 'title' => $i18n->__('Releases'));
             $links['project_roadmap'] = array('url' => Context::getRouting()->generate('project_roadmap', array('project_key' => $project->getKey())), 'title' => $i18n->__('Roadmap'));
             $links['project_team'] = array('url' => Context::getRouting()->generate('project_team', array('project_key' => $project->getKey())), 'title' => $i18n->__('Team overview'));
             $links['project_statistics'] = array('url' => Context::getRouting()->generate('project_statistics', array('project_key' => $project->getKey())), 'title' => $i18n->__('Statistics'));
             $links['project_timeline'] = array('url' => Context::getRouting()->generate('project_timeline', array('project_key' => $project->getKey())), 'title' => $i18n->__('Timeline'));
             $links['project_issues'] = array('url' => Context::getRouting()->generate('project_issues', array('project_key' => $project->getKey())), 'title' => $i18n->__('Issues'));
             $links = Event::createNew('core', 'breadcrumb_project_links', null, array(), $links)->trigger()->getReturnList();
             $links['project_release_center'] = array('url' => Context::getRouting()->generate('project_release_center', array('project_key' => $project->getKey())), 'title' => $i18n->__('Release center'));
             $links['project_settings'] = array('url' => Context::getRouting()->generate('project_settings', array('project_key' => $project->getKey())), 'title' => $i18n->__('Settings'));
             break;
         case 'client_list':
             foreach (\thebuggenie\core\entities\Client::getAll() as $client) {
                 if ($client->hasAccess()) {
                     $links[] = array('url' => Context::getRouting()->generate('client_dashboard', array('client_id' => $client->getID())), 'title' => $client->getName());
                 }
             }
             break;
         case 'team_list':
             foreach (\thebuggenie\core\entities\Team::getAll() as $team) {
                 if ($team->hasAccess()) {
                     $links[] = array('url' => Context::getRouting()->generate('team_dashboard', array('team_id' => $team->getID())), 'title' => $team->getName());
                 }
             }
             break;
     }
     return $links;
 }
Beispiel #5
0
 /**
  * Client List
  */
 public function runClientList()
 {
     $this->forward403Unless(framework\Context::getUser()->hasPageAccess('clientlist'));
     $this->clients = \thebuggenie\core\entities\Client::getAll();
 }
Beispiel #6
0
 public function getPredefinedBreadcrumbLinks($type, $project = null)
 {
     $i18n = Context::getI18n();
     $links = array();
     switch ($type) {
         case 'main_links':
             $links[] = array('url' => Context::getRouting()->generate('home'), 'title' => $i18n->__('Frontpage'));
             $links[] = array('url' => Context::getRouting()->generate('dashboard'), 'title' => $i18n->__('Personal dashboard'));
             $links[] = array('title' => $i18n->__('Issues'));
             if (Context::getUser()->hasPageAccess('teamlist')) {
                 $links[] = array('url' => make_url('team_list'), 'title' => $i18n->__('Teams'));
             }
             if (Context::getUser()->hasPageAccess('clientlist')) {
                 $links[] = array('url' => make_url('client_list'), 'title' => $i18n->__('Clients'));
             }
             $links = Event::createNew('core', 'breadcrumb_main_links', null, array(), $links)->trigger()->getReturnList();
             if (Context::getUser()->canAccessConfigurationPage()) {
                 $links[] = array('url' => make_url('configure'), 'title' => $i18n->__('Configure %sitename', array('%sitename' => Settings::getSiteHeaderName())));
             }
             $links[] = array('url' => Context::getRouting()->generate('about'), 'title' => $i18n->__('About %sitename', array('%sitename' => Settings::getSiteHeaderName())));
             $links[] = array('url' => Context::getRouting()->generate('account'), 'title' => $i18n->__('Account details'));
             $root_projects = array_merge(\thebuggenie\core\entities\Project::getAllRootProjects(true), \thebuggenie\core\entities\Project::getAllRootProjects(false));
             $first = true;
             foreach ($root_projects as $project) {
                 if (!$project->hasAccess()) {
                     continue;
                 }
                 if ($first) {
                     $first = false;
                     $links[] = array('separator' => true);
                 }
                 $links[] = array('url' => Context::getRouting()->generate('project_dashboard', array('project_key' => $project->getKey())), 'title' => $project->getName());
             }
             break;
         case 'project_summary':
             $links['project_dashboard'] = array('url' => Context::getRouting()->generate('project_dashboard', array('project_key' => $project->getKey())), 'title' => $i18n->__('Dashboard'));
             $links['project_releases'] = array('url' => Context::getRouting()->generate('project_releases', array('project_key' => $project->getKey())), 'title' => $i18n->__('Releases'));
             $links['project_roadmap'] = array('url' => Context::getRouting()->generate('project_roadmap', array('project_key' => $project->getKey())), 'title' => $i18n->__('Roadmap'));
             $links['project_team'] = array('url' => Context::getRouting()->generate('project_team', array('project_key' => $project->getKey())), 'title' => $i18n->__('Team overview'));
             $links['project_statistics'] = array('url' => Context::getRouting()->generate('project_statistics', array('project_key' => $project->getKey())), 'title' => $i18n->__('Statistics'));
             $links['project_timeline'] = array('url' => Context::getRouting()->generate('project_timeline', array('project_key' => $project->getKey())), 'title' => $i18n->__('Timeline'));
             $links['project_issues'] = array('url' => Context::getRouting()->generate('project_issues', array('project_key' => $project->getKey())), 'title' => $i18n->__('Issues'));
             $links = Event::createNew('core', 'breadcrumb_project_links', null, array(), $links)->trigger()->getReturnList();
             $links['project_release_center'] = array('url' => Context::getRouting()->generate('project_release_center', array('project_key' => $project->getKey())), 'title' => $i18n->__('Release center'));
             $links['project_settings'] = array('url' => Context::getRouting()->generate('project_settings', array('project_key' => $project->getKey())), 'title' => $i18n->__('Settings'));
             break;
         case 'client_list':
             foreach (\thebuggenie\core\entities\Client::getAll() as $client) {
                 if ($client->hasAccess()) {
                     $links[] = array('url' => Context::getRouting()->generate('client_dashboard', array('client_id' => $client->getID())), 'title' => $client->getName());
                 }
             }
             break;
         case 'team_list':
             foreach (\thebuggenie\core\entities\Team::getAll() as $team) {
                 if ($team->hasAccess()) {
                     $links[] = array('url' => Context::getRouting()->generate('team_dashboard', array('team_id' => $team->getID())), 'title' => $team->getName());
                 }
             }
             break;
         case 'configure':
             $config_sections = Settings::getConfigSections($i18n);
             foreach ($config_sections as $key => $sections) {
                 foreach ($sections as $section) {
                     if ($key == Settings::CONFIGURATION_SECTION_MODULES) {
                         $url = is_array($section['route']) ? make_url($section['route'][0], $section['route'][1]) : make_url($section['route']);
                         $links[] = array('url' => $url, 'title' => $section['description']);
                     } else {
                         $links[] = array('url' => make_url($section['route']), 'title' => $section['description']);
                     }
                 }
             }
             break;
     }
     return $links;
 }
Beispiel #7
0
 public static function populateBreadcrumbs()
 {
     $childbreadcrumbs = array();
     if (self::$_selected_project instanceof Project) {
         $t = self::$_selected_project;
         $hierarchy_breadcrumbs = array();
         $projects_processed = array();
         while ($t instanceof Project) {
             if (array_key_exists($t->getKey(), $projects_processed)) {
                 // We have a cyclic dependency! Oh no!
                 // If this happens, throw an exception
                 throw new \Exception(self::geti18n()->__('A loop has been found in the project heirarchy. Go to project configuration, and alter the subproject setting for this project so that this project is not a subproject of one which is a subproject of this one.'));
             } else {
                 $all_projects = array_merge(Project::getAllRootProjects(true), Project::getAllRootProjects(false));
                 // If this is a root project, display a list of other root projects, then t is null
                 if (!$t->hasParent() && count($all_projects) > 1) {
                     $itemsubmenulinks = array();
                     foreach ($all_projects as $child) {
                         if (!$child->hasAccess()) {
                             continue;
                         }
                         $itemsubmenulinks[] = array('url' => self::getRouting()->generate('project_dashboard', array('project_key' => $child->getKey())), 'title' => $child->getName());
                     }
                     $hierarchy_breadcrumbs[] = array($t, $itemsubmenulinks);
                     $projects_processed[$t->getKey()] = $t;
                     $t = null;
                     continue;
                 } elseif (!$t->hasParent()) {
                     $hierarchy_breadcrumbs[] = array($t, null);
                     $projects_processed[$t->getKey()] = $t;
                     $t = null;
                     continue;
                 } else {
                     // What we want to do here is to build a list of the children of the parent unless we are the only one
                     $parent = $t->getParent();
                     $children = $parent->getChildren();
                     $itemsubmenulinks = null;
                     if ($parent->hasChildren() && count($children) > 1) {
                         $itemsubmenulinks = array();
                         foreach ($children as $child) {
                             if (!$child->hasAccess()) {
                                 continue;
                             }
                             $itemsubmenulinks[] = array('url' => self::getRouting()->generate('project_dashboard', array('project_key' => $child->getKey())), 'title' => $child->getName());
                         }
                     }
                     $hierarchy_breadcrumbs[] = array($t, $itemsubmenulinks);
                     $projects_processed[$t->getKey()] = $t;
                     $t = $parent;
                     continue;
                 }
             }
         }
         $clientsubmenulinks = null;
         if (self::$_selected_project->hasClient()) {
             $clientsubmenulinks = array();
             foreach (Client::getAll() as $client) {
                 if ($client->hasAccess()) {
                     $clientsubmenulinks[] = array('url' => self::getRouting()->generate('client_dashboard', array('client_id' => $client->getID())), 'title' => $client->getName());
                 }
             }
             self::setCurrentClient(self::$_selected_project->getClient());
         }
         if (mb_strtolower(Settings::getSiteHeaderName()) != mb_strtolower(self::$_selected_project->getName()) || self::isClientContext()) {
             self::getResponse()->addBreadcrumb(Settings::getSiteHeaderName(), self::getRouting()->generate('home'));
             if (self::isClientContext()) {
                 self::getResponse()->addBreadcrumb(self::getCurrentClient()->getName(), self::getRouting()->generate('client_dashboard', array('client_id' => self::getCurrentClient()->getID())), $clientsubmenulinks);
             }
         }
         // Add root breadcrumb first, so reverse order
         $hierarchy_breadcrumbs = array_reverse($hierarchy_breadcrumbs);
         foreach ($hierarchy_breadcrumbs as $breadcrumb) {
             $class = null;
             if ($breadcrumb[0]->getKey() == self::getCurrentProject()->getKey()) {
                 $class = 'selected_project';
             }
             self::getResponse()->addBreadcrumb($breadcrumb[0]->getName(), self::getRouting()->generate('project_dashboard', array('project_key' => $breadcrumb[0]->getKey())), $breadcrumb[1], $class);
         }
     } else {
         self::getResponse()->addBreadcrumb(Settings::getSiteHeaderName(), self::getRouting()->generate('home'));
     }
 }