My Projects Dashboard Patch – activeCollab

Mar 3, 2011   //   by Viztech   //   Products, activeCollab  //  1 Comment

My Active Projects Box View

Do you want to see all your active projects from Dashboard?
Does Favorite project box is not enough for you because you need to copy all your project there as you want to see all your active projects from dashboard?

Here is the solution for you :)

This patch creates a copy of “Favorite Projects box” on dashboard but instead of favorite projects, it shows all the active projects for the logged in user. It makes management of many projects very easily.

Purchase and Download:
Please note that this module is available FREE so if you do not wish to buy an installation support package for it then you can download it instantly using below form.





Please follow below steps to do the installation:

Step 1. Open activecollab/application/modules/system/controllers/DashBoardController.class.php, in index function

Find:
========

	$this->smarty->assign(array(
          'show_welcome_message' => false,
          'important_items' => $important_items,
          'pinned_projects' => $pinned_projects,
          'dashboard_sections' => $dashboard_sections,
          'online_users' => Users::findWhoIsOnline($this->logged_user),
          'grouped_activities' => group_by_date(ActivityLogs::findActiveProjectsActivitiesByUser($this->logged_user, 20), $this->logged_user),
        ));

And Replace With:
=================

	$my_projects = Projects::findByUser($this->logged_user,'active');
        $this->smarty->assign(array(
          'show_welcome_message' => false,
          'important_items' => $important_items,
          'pinned_projects' => $pinned_projects,
          'my_projects' => $my_projects,//Patch My Project at DashBoard by Viztech
          'show_favorite'=> SHOW_FAVORITE,//Patch My Project at DashBoard by Viztech
          'dashboard_sections' => $dashboard_sections,
          'online_users' => Users::findWhoIsOnline($this->logged_user),
          'grouped_activities' => group_by_date(ActivityLogs::findActiveProjectsActivitiesByUser($this->logged_user, 20), $this->logged_user),
        ));

Step 2. Open activecollab/application/modules/system/views/dashboard/index.tpl

Find
=========

	<h2>{lang}Favorite Projects{/lang}</h2>
          <ul class="dashboard_sidebar_list">
          {if is_foreachable($pinned_projects)}
            {foreach from=$pinned_projects item=project}
            <li class="with_icon pinned_project" id="project_{$project->getId()}">
              <a href="{$project->getUnpinUrl()}" class="unpin">{image name=dismiss.gif}</a>
              <img src="{$project->getIconUrl()}" alt="{$project->getName()|clean}" />
              <span class="name">{project_link project=$project}</span>
            </li>
            {/foreach}
          {/if}
            <li class="drop_here">{lang}Drop project here{/lang}</li>
          </ul>
        </div></div></div>

And Replace With
==================

	{if $show_favorite}
		  <div class="dashboard_sidebar" id="pinned_projects"><div class="dashboard_sidebar_inner"><div class="dashboard_sidebar_inner_2">
          <h2>{lang}Favorite Projects{/lang}</h2>
          <ul class="dashboard_sidebar_list">
          {if is_foreachable($pinned_projects)}
            {foreach from=$pinned_projects item=project}
            <li class="with_icon pinned_project" id="project_{$project->getId()}">
              <a href="{$project->getUnpinUrl()}" class="unpin">{image name=dismiss.gif}</a>
              <img src="{$project->getIconUrl()}" alt="{$project->getName()|clean}" />
              <span class="name">{project_link project=$project}</span>
            </li>
            {/foreach}
          {/if}
            <li class="drop_here">{lang}Drop project here{/lang}</li>
          </ul>
        </div></div></div>
        {/if}

        <div class="dashboard_sidebar" id="pinned_projects"><div class="dashboard_sidebar_inner"><div class="dashboard_sidebar_inner_2">
          <h2>{lang}My Active Projects{/lang}</h2>
          <ul class="dashboard_sidebar_list">
          {if is_foreachable($my_projects)}
            {foreach from=$my_projects item=project}
            <li class="with_icon pinned_project" id="project_{$project->getId()}">
              <a href="{$project->getUnpinUrl()}" class="unpin">{image name=dismiss.gif}</a>
              <img src="{$project->getIconUrl()}" alt="{$project->getName()|clean}" />
              <span class="name">{project_link project=$project}</span>
            </li>
            {/foreach}
          {/if}
            <li class="drop_here">{lang}Drop project here{/lang}</li>
          </ul>
        </div></div></div>

Step 3. Open activecollab/application/modules/system/init.php

Add Following line under define list of constants

  //Show or hide favorite box
  define('SHOW_FAVORITE', false);

Or You can replace the the file provided in the patch, if there is no customization done before

If you face any issue then please report us and we will be happy to assist you :)

1 Comment

Leave a comment