/** * Handles GET requests for /dashboard * * @return view */ public function getDashboard() { if ($this->user->hasAnyAccess(['manage'])) { $projects = Project::all(); } else { if (!empty($projects = $this->setProjects())) { $projects = Project::whereIn('id', $projects)->orWhere('user_id', $this->user->id)->orderBy('id')->get(); } else { $projects = Project::where('user_id', $this->user->id)->orderBy('id')->get(); } } return View::make('layouts.dashboard')->with(['projects' => $projects]); }
public function editServer() { $id = intval(Input::get('id')); $server = null; if ($id) { $server = Server::find($id); } if ($server && !Auth::user()->pj_is_mine($server->project_id)) { App::abort(403, 'Not your project'); } $project_id = intval(Input::get("project_id")); //权限 if (!Auth::user()->pj_is_mine($project_id)) { $project_id = 0; } $error = ''; if (Request::isMethod('post')) { $title = trim(Input::get('title')); $ip = trim(Input::get('ip')); $rsync_name = trim(Input::get('rsync_name')); $comment = trim(Input::get('comment')); if (!$title || !$ip || !$rsync_name || !$project_id) { $error = "填写信息不完整"; } if (!$error) { if (!$server) { $server = new Server(); $server->last_pub_time = '0000-00-00 00:00:00'; } $server->title = $title; $server->project_id = $project_id; $server->ip = $ip; $server->rsync_name = $rsync_name; $server->current_version = ''; $server->comment = $comment; $server->save(); return Redirect::action('ProjectsController@publish', array('id' => $project_id)); } } //当前用户拥有的所有项目 $projects = Project::whereIn('id', Auth::user()->pj_ids())->get(); $prj_list = array(); foreach ($projects as $value) { $prj_list[$value->id] = $value->title; } return View::make('servers/edit', array('server' => $server, 'error' => $error, 'project_id' => $project_id, 'projects' => $prj_list)); }
public function getProjectTasks($projectId, $userId) { try { $tresPass = \Projectcollabs::where('user_id', $userId)->where('project_id', $projectId)->get(); if (sizeof($tresPass) != 0) { $tempuser = \Sentry::getUserProvider()->findById($userId); $admin = \Sentry::getGroupProvider()->findByName('admin'); $manager = \Sentry::getGroupProvider()->findByName('manager'); $leader = \Sentry::getGroupProvider()->findByName('leader'); $user = \Sentry::getGroupProvider()->findByName('user'); if ($tempuser->inGroup($admin) or $tempuser->inGroup($manager) or $tempuser->inGroup($leader)) { $tasks = \Task::where('project_id', $projectId)->get()->toArray(); $data = $this->makeTasks($tasks); $projectslist = \Projectcollabs::where('user_id', $userId)->lists('project_id'); $projects = \Project::whereIn('id', $projectslist)->orderBy('project_name')->get(array('id', 'project_name'))->toArray(); $data['projects'] = $projects; $data['name_proj'] = \Project::where('id', $projectId)->pluck('project_name'); return $data; } elseif ($tempuser->inGroup($user)) { $tasksId = \Taskcollabs::where('user_id', $userId)->lists('task_id'); $tasks = \Task::whereIn('id', $tasksId)->where('project_id', $projectId)->get()->toArray(); $data = $this->makeTasks($tasks); $projectslist = \Projectcollabs::where('user_id', $userId)->lists('project_id'); $projects = \Project::whereIn('id', $projectslist)->orderBy('project_name')->get(array('id', 'project_name'))->toArray(); $data['projects'] = $projects; $data['name_proj'] = \Project::where('id', $projectId)->pluck('project_name'); return $data; } } else { throw new \NotAuthorizedForProject(); } } catch (\NotAuthorizedForProject $e) { throw new \NotAuthorizedForProject(); } catch (Exception $e) { \Log::error('Something Went Wrong in Task Repository - getProjectTasks():' . $e->getMessage()); throw new SomeThingWentWrongException(); } }
public function allProjects() { $all_projects = Project::whereIn('id', Auth::user()->pj_ids())->get(); return View::make('projects/index', array('projects' => $all_projects)); }
/** * Generate Add Task View * @return View */ public function getAddTasks() { //Get the user id of the currently logged in user $userId = Sentry::getUser()->id; //Get the project List $projectslist = ProjectUsers::where('user_id', $userId)->lists('project_id'); if (sizeof($projectslist) != 0) { //Get the list of projects $projects = \Project::whereIn('id', $projectslist)->orderBy('project_name')->get(array('id', 'project_name'))->toArray(); return \View::make('dashboard.tasks.add')->with('projects', $projects); } else { //No Projects $projects = null; return \View::make('dashboard.tasks.add')->with('projects', $projects); } }