Example #1
0
 /**
  * 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));
 }
Example #3
0
 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));
 }
Example #5
0
 /**
  * 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);
     }
 }