Esempio n. 1
0
 public function get_index()
 {
     $status = Input::get('status', 1);
     $projects_active = Project\User::active_projects(true);
     $projects_inactive = Project\User::inactive_projects(true);
     return $this->layout->with('active', 'projects')->nest('content', 'projects.index', array('projects' => $status == 1 ? $projects_active : $projects_inactive, 'active' => $status == 1 ? 'active' : 'archived', 'active_count' => (int) count($projects_active), 'archived_count' => (int) count($projects_inactive)));
 }
Esempio n. 2
0
 /**
  * Build the user's dashboard
  *
  * @param  int    $activity_limit
  * @return array
  */
 public function dashboard($activity_limit = 5)
 {
     $dashboard = $users = $issues = $projects = $comments = $activity_type = array();
     /* Load the activity types */
     foreach (Activity::all() as $row) {
         $activity_type[$row->id] = $row;
     }
     /* Loop through all the active projects */
     foreach (Project\User::active_projects() as $project) {
         $dashboard[$project->id] = array();
         $projects[$project->id] = $project;
         /* Loop through all the logic from the project and cache all the needed data so we don't load the same data twice */
         foreach (User\Activity::where('parent_id', '=', $project->id)->order_by('created_at', 'DESC')->take($activity_limit)->get() as $activity) {
             $dashboard[$project->id][] = $activity;
             switch ($activity->type_id) {
                 case 2:
                     if (!isset($issues[$activity->item_id])) {
                         $issues[$activity->item_id] = Project\Issue::find($activity->item_id);
                     }
                     if (!isset($users[$activity->user_id])) {
                         $users[$activity->user_id] = static::find($activity->user_id);
                     }
                     if (!isset($comments[$activity->action_id])) {
                         $comments[$activity->action_id] = Project\Issue\Comment::find($activity->action_id);
                     }
                     break;
                 case 5:
                     if (!isset($issues[$activity->item_id])) {
                         $issues[$activity->item_id] = Project\Issue::find($activity->item_id);
                     }
                     if (!isset($users[$activity->user_id])) {
                         $users[$activity->user_id] = static::find($activity->user_id);
                     }
                     if (!isset($users[$activity->action_id])) {
                         $users[$activity->action_id] = static::find($activity->action_id);
                     }
                     break;
                 default:
                     if (!isset($issues[$activity->item_id])) {
                         $issues[$activity->item_id] = Project\Issue::find($activity->item_id);
                     }
                     if (!isset($users[$activity->user_id])) {
                         $users[$activity->user_id] = static::find($activity->user_id);
                     }
                     break;
             }
         }
     }
     /* Loop through the projects and activity again, building the views for each activity */
     $return = array();
     foreach ($dashboard as $project_id => $activity) {
         $return[$project_id] = array('project' => $projects[$project_id], 'activity' => array());
         foreach ($activity as $row) {
             switch ($row->type_id) {
                 case 2:
                     $return[$project_id]['activity'][] = View::make('activity/' . $activity_type[$row->type_id]->activity, array('issue' => $issues[$row->item_id], 'project' => $projects[$project_id], 'user' => $users[$row->user_id], 'comment' => $comments[$row->action_id], 'activity' => $row));
                     break;
                 case 5:
                     $return[$project_id]['activity'][] = View::make('activity/' . $activity_type[$row->type_id]->activity, array('issue' => $issues[$row->item_id], 'project' => $projects[$project_id], 'user' => $users[$row->user_id], 'assigned' => $users[$row->action_id], 'activity' => $row));
                     break;
                 case 6:
                     $tag_diff = json_decode($row->data, true);
                     $return[$project_id]['activity'][] = View::make('activity/' . $activity_type[$row->type_id]->activity, array('issue' => $issues[$row->item_id], 'project' => $projects[$project_id], 'user' => $users[$row->user_id], 'tag_diff' => $tag_diff, 'tag_counts' => array('added' => sizeof($tag_diff['added_tags']), 'removed' => sizeof($tag_diff['removed_tags'])), 'activity' => $row));
                     break;
                 default:
                     $return[$project_id]['activity'][] = View::make('activity/' . $activity_type[$row->type_id]->activity, array('issue' => $issues[$row->item_id], 'project' => $projects[$project_id], 'user' => $users[$row->user_id], 'activity' => $row));
                     break;
             }
         }
     }
     return $return;
 }
Esempio n. 3
0
<?php

$active_projects = Project\User::active_projects();
if (count($active_projects) > 1) {
    ?>
<form class="projects_selector">
<fieldset><label for="projects_select">Projects</label>
<select name="projects_select" id="projects_select"  onchange="if (this.value) window.location.href=this.value">
<?php 
    foreach ($active_projects as $p) {
        $selected = $p->id == Project::current()->id ? 'selected' : '';
        echo '<option value="' . $p->to() . '" ' . $selected . '>' . $p->name . '</option>';
    }
    if (Auth::user()->permission('project-create')) {
        ?>
		<option value="<?php 
        echo URL::to('projects/new');
        ?>
"><?php 
        echo __('tinyissue.create_a_new_project');
        ?>
</option>
	<?php 
    }
    ?>
</select>
</fieldset>
</form>
<?php 
}
?>
Esempio n. 4
0
    ?>
</a>
	<?php 
}
?>
	<?php 
echo __('tinyissue.active_projects');
?>
	<span><?php 
echo __('tinyissue.active_projects_description');
?>
</span>
</h2>

<ul>
	<?php 
foreach (Project\User::active_projects() as $row) {
    ?>
	<li>
		<a href="<?php 
    echo $row->to();
    ?>
"><?php 
    echo $row->name;
    ?>
</a>
	</li>
	<?php 
}
?>
</ul>