123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122 |
- <?php
-
- class ProfessorsController extends \BaseController
- {
-
- private $grouped_courses;
-
- public function __construct()
- {
- $this->courses = Auth::user()->courses;
- }
-
- public function overview()
- {
- $title='My Courses';
- $grouped_courses = Course::where('user_id', Auth::user()->id)->whereIn('semester_id', Session::get('semesters_ids'))->groupBy(array('code', 'number', 'semester_id'))->get();
- $outcomes = Outcome::orderBy('name', 'asc')->get();
- $outcomeCount = Outcome::all()->count();
-
-
- $grouped_outcomes_achieved_results = array();
- $grouped_outcomes_attempted_results = array();
- $grouped_sections = array();
-
- foreach ($grouped_courses as $index => $grouped_course)
- {
- // Blank outcomes for one course
- $outcomes_achieved = array_fill(1, $outcomeCount, 0);
- $outcomes_attempted = array_fill(1, $outcomeCount, 0);
-
- // Find sections belonging to user with identifier of one course
- $sections = Course::where('user_id', Auth::user()->id)->where('code', $grouped_course->code)->whereIn('semester_id', Session::get('semesters_ids'))->where('number', $grouped_course->number)->where('semester_id', $grouped_course->semester_id)->get();
-
- // For each of the professor's course sections, add the attempted and achieved criteria per outcome
- foreach ($sections as $section)
- {
- if($section->outcomes_achieved!=NULL)
- {
- $section_outcomes_achieved =json_decode($section->outcomes_achieved, true);
- $section_outcomes_attempted =json_decode($section->outcomes_attempted, true);
- for($i=1; $i<=count($outcomes_attempted); $i++)
- {
- $outcomes_achieved[$i]+=$section_outcomes_achieved[$i];
- $outcomes_attempted[$i]+=$section_outcomes_attempted[$i];
- }
- }
- }
-
- $grouped_outcomes_achieved_results[]=$outcomes_achieved;
- $grouped_outcomes_attempted_results[]=$outcomes_attempted;
- $grouped_sections[] = $sections;
-
- }
-
- return View::make('local.professors.overview', compact('title', 'grouped_courses', 'outcomes', 'grouped_outcomes_attempted_results', 'grouped_outcomes_achieved_results', 'grouped_sections'));
- }
-
- public function program()
- {
- $program = Auth::user()->programs[0];
- $title='Your Program: '.$program->name;
- $program_courses = Course::where('program_id','=', $program->id)->whereIn('semester_id', Session::get('semesters_ids'))->get();
- $outcomes = Outcome::orderBy('name', 'asc')->get();
- $outcomeCount = Outcome::all()->count();
-
- $outcomes_achieved = array_fill(1, $outcomeCount, 0);
- $outcomes_attempted = array_fill(1, $outcomeCount, 0);
-
- foreach ($program_courses as $course)
- {
- if($course->outcomes_achieved!=NULL)
- {
- $course_outcomes_achieved =json_decode($course->outcomes_achieved, true);
- $course_outcomes_attempted =json_decode($course->outcomes_attempted, true);
- for($i=1; $i<=count($outcomes_attempted); $i++)
- {
- $outcomes_achieved[$i]+=$course_outcomes_achieved[$i];
- $outcomes_attempted[$i]+=$course_outcomes_attempted[$i];
- }
- }
- }
-
- // Program contact information
- $scoords = User::where('school_id', $program->school_id)
- ->where('role', 2)
- ->get();
- $pcoords = User::
- select('users.*')
- ->join('program_user', 'users.id', '=', 'program_user.user_id')
- ->where('role', 3)
- ->where('program_id', $program->id)
- ->get();
-
- return View::make('local.professors.program', compact('title', 'outcomes', 'outcomes_attempted', 'outcomes_achieved', 'scoords', 'pcoords'));
- }
-
-
- public function generalStudiesOverview(){
-
- $title='General Component Assessment Overview';
-
- try{
- $programs = Program::generalComponentPrograms();
- }
- catch(Exception $e){
- dd('Unable to find general component programs');
- }
-
- $outcomes = Outcome::orderBy('name', 'asc')->get();
- $schools = School::all();
- $program_packs = array();
- if(!$programs->isEmpty()){
- foreach ($programs as $program) {
- $program_packs[]= $program->assessmentOverview();
- }
- }
-
- return View::make('local.managers.shared.general_studies_overview', compact('title', 'outcomes', 'schools', 'program_packs'));
-
-
- }
- }
|