Browse Source

Las graficas con los prints

parent
commit
def55e14f3

+ 7
- 2
app/controllers/ProfessorsController.php View File

163
                 }
163
                 }
164
             }
164
             }
165
         }*/
165
         }*/
166
+        //Log::info($program->courses_students_score_per_outcome);
167
+
168
+        $outcomes_achieved = $program->courses_students_score_per_outcome['program_info']['outcomes_achieved_combined'];
169
+        $outcomes_attempted = $program->courses_students_score_per_outcome['program_info']['outcomes_attempted_combined'];
170
+        /*
166
 
171
 
167
         foreach ($program_courses as $course) {
172
         foreach ($program_courses as $course) {
168
 
173
 
192
                 if (array_key_exists($outcome, $program_outcomes_attempted))
197
                 if (array_key_exists($outcome, $program_outcomes_attempted))
193
                     $program_outcomes_attempted[$outcome] += $outcome_score['calculations']['student_attempted'];
198
                     $program_outcomes_attempted[$outcome] += $outcome_score['calculations']['student_attempted'];
194
                 else $program_outcomes_attempted[$outcome] = $outcome_score['calculations']['student_attempted'];
199
                 else $program_outcomes_attempted[$outcome] = $outcome_score['calculations']['student_attempted'];
195
-            }*/
196
-        }
200
+            }
201
+        }*/
197
 
202
 
198
 
203
 
199
 
204
 

+ 10
- 118
app/controllers/ProgramCoordinatorsController.php View File

77
       $program_array['outcomes_achieved'] = [];
77
       $program_array['outcomes_achieved'] = [];
78
       $program_array['outcomes_attempted'] = [];
78
       $program_array['outcomes_attempted'] = [];
79
 
79
 
80
-      $program_array['program_outcomes_achieved'] = [];
81
-      $program_array['program_outcomes_attempted'] = [];
80
+      //$program_array['program_outcomes_achieved'] = [];
81
+      //$program_array['program_outcomes_attempted'] = [];
82
       //Log::info($program_array);
82
       //Log::info($program_array);
83
 
83
 
84
       foreach ($outcomes as $outcome) {
84
       foreach ($outcomes as $outcome) {
85
         $program_array['outcomes_achieved'][$outcome->id] = 0;
85
         $program_array['outcomes_achieved'][$outcome->id] = 0;
86
         $program_array['outcomes_attempted'][$outcome->id] = 0;
86
         $program_array['outcomes_attempted'][$outcome->id] = 0;
87
-        $program_array['program_outcomes_achieved'][$outcome->id] = 0;
88
-        $program_array['program_outcomes_attempted'][$outcome->id] = 0;
87
+        //$program_array['program_outcomes_achieved'][$outcome->id] = 0;
88
+        //$program_array['program_outcomes_attempted'][$outcome->id] = 0;
89
       }
89
       }
90
 
90
 
91
-      $program_array['program_outcomes_achieved']  = $program->program_students_per_outcome['program_info']['outcomes_achieved_combined'];
92
-      $program_array['program_outcomes_attempted'] = $program->program_students_per_outcome['program_info']['outcomes_attempted_combined'];
91
+      //$program_array['program_outcomes_achieved']  = $program->program_students_per_outcome['program_info']['outcomes_achieved_combined'];
92
+      //$program_array['program_outcomes_attempted'] = $program->program_students_per_outcome['program_info']['outcomes_attempted_combined'];
93
 
93
 
94
 
94
 
95
 
95
 
96
       $program_array['program_courses'] = $program->courses;
96
       $program_array['program_courses'] = $program->courses;
97
 
97
 
98
+      $program_array['assessed_courses_count'] = $program->courses_with_assessment_count->courses_assessed;
98
 
99
 
99
-      $program_array['assessed_courses_count'] = 0;
100
-      foreach ($program->courses as $course) {
101
-
102
-        $student_report = $course->student_report_for_outcome;
103
-
104
-        if ($student_report) {
105
-
106
-          foreach ($student_report as $outcome_id => $score) {
107
-            if (array_key_exists($outcome_id, $program_array['outcomes_attempted']))  $program_array['outcomes_attempted'][$outcome_id] += $student_report[$outcome_id]['calculations']['student_attempted'];
108
-            else $program_array['outcomes_attempted'][$outcome_id] = $student_report[$outcome_id]['calculations']['student_attempted'];
109
-
110
-            if (array_key_exists($outcome_id, $program_array['outcomes_achieved']))  $program_array['outcomes_achieved'][$outcome_id] += $student_report[$outcome_id]['calculations']['student_achieved'];
111
-            else $program_array['outcomes_achieved'][$outcome_id] = $student_report[$outcome_id]['calculations']['student_achieved'];
112
-          }
113
-          /*
114
-
115
-          $course->with_program_report = 1;
116
-
117
-          $program_student_report = $course->student_report_for_outcome;
100
+      $program_info = $program->courses_students_score_per_outcome['program_info'];
101
+      $program_array['outcomes_attempted'] = $program_info['outcomes_attempted_combined'];
102
+      $program_array['outcomes_achieved'] = $program_info['outcomes_achieved_combined'];
118
 
103
 
119
-          foreach ($program_student_report as $outcome_id => $score) {
120
-            if (array_key_exists($outcome_id, $program_array['program_outcomes_attempted']))  $program_array['program_outcomes_attempted'][$outcome_id] += $program_student_report[$outcome_id]['calculations']['student_attempted'];
121
-            else $program_array['program_outcomes_attempted'][$outcome_id] = $program_student_report[$outcome_id]['calculations']['student_attempted'];
122
-
123
-            if (array_key_exists($outcome_id, $program_array['program_outcomes_achieved']))  $program_array['program_outcomes_achieved'][$outcome_id] += $program_student_report[$outcome_id]['calculations']['student_achieved'];
124
-            else $program_array['program_outcomes_achieved'][$outcome_id] = $program_student_report[$outcome_id]['calculations']['student_achieved'];
125
-          } */
126
-
127
-
128
-
129
-          $program_array['assessed_courses_count'] += 1;
130
-        }
131
-      }
132
 
104
 
133
-
134
-
135
-
136
-      /*foreach ($programs as $program) {
137
-      //Log::info($program);
138
-      $program_array = array();
139
-      $program_object = new \stdClass();
140
-      $program_object->name = $program->name;
141
-      $program_object->school = $program->school->name;
142
-      $program_object->id = $program->id;
143
-      $program_array['program'] = $program_object;
144
-      //Log::info($program_array);
145
-
146
-      $program_array['outcomes_achieved'] = [];
147
-      $program_array['outcomes_attempted'] = [];
148
-      //Log::info($program_array);
149
-
150
-      $program_array['program_courses'] = $program->courses;
151
-
152
-
153
-      $program_array['assessed_courses_count'] = 0;
154
-
155
-
156
-      foreach ($program_array['program_courses'] as $course) {
157
-
158
-        //$student_report = $course->student_report_for_outcome;
159
-        //Log::info($program_array);
160
-
161
-        $program_array['course_outcomes_achieved'] = $course->outcomes_ach();
162
-
163
-        //Log::info("course_outcomes_achieved");
164
-        //Log::info($program_array['course_outcomes_achieved']);
165
-        //Log::info($program_array);
166
-        if ($program_array['course_outcomes_achieved']) {
167
-          //(($program_array['course_outcomes_achieved'])) {
168
-          $program_array['course_outcomes_achieved'] = $course->outcomes_ach();
169
-          $program_array['course_outcomes_attempted'] = $course->outcomes_att();
170
-          //Log::info('course_outcomes_achieved');
171
-          //Log::info($program_array['course_outcomes_achieved']);
172
-          //Log::info($program_array);
173
-
174
-          foreach ($program_array['course_outcomes_achieved'] as $outcome_id => $score) {
175
-            if (array_key_exists($outcome_id, $program_array['outcomes_achieved']))  $program_array['outcomes_achieved'][$outcome_id] += $score;
176
-            else $program_array['outcomes_achieved'][$outcome_id] = $score;
177
-            //Log::info('program["outcomes_achieved"]');
178
-            //Log::info($program_array['outcomes_achieved'][$i]);
179
-            //Log::info($program_array);
180
-            Log::info("outcomes_achieved");
181
-            Log::info($program_array['outcomes_achieved']);
182
-          }
183
-          foreach ($program_array['course_outcomes_attempted'] as $i => $score) {
184
-
185
-            if (array_key_exists($i, $program_array['outcomes_attempted']))  $program_array['outcomes_attempted'][$i] += $program_array['course_outcomes_attempted'][$i];
186
-            else $program_array['outcomes_attempted'][$i] = $program_array['course_outcomes_attempted'][$i];
187
-            //Log::info('program["outcomes_achieved"]');
188
-            //Log::info($program_array['outcomes_attempted'][$i]);
189
-            //Log::info($program_array);
190
-          }
191
-
192
-          $program_array['assessed_courses_count'] += 1;
193
-        }
194
-      }*/
195
-
196
-
197
-      /**
198
-       * List of grouped courses (grouped sections)
199
-       */
200
-
201
-      //old code
202
-      /* $program_array['grouped_courses'] = Course::select(DB::raw('name, code, number, max(outcomes_attempted) as outcomes_attempted, semester_id, program_id'))
203
-        ->with('semester')
204
-        ->with('program')
205
-        ->where('program_id', $program->id)
206
-        ->whereIn('semester_id', Session::get('semesters_ids'))
207
-        ->groupBy(array('code', 'number', 'semester_id'))
208
-        ->orderBy('code')
209
-        ->orderBy('number')
210
-        ->orderBy('semester_id')
211
-        ->get(); */
212
-      //Log::info($program_array);
213
       $program_array['grouped_courses'] = Course::select(DB::raw('name, code, number, semester_id, program_id'))
105
       $program_array['grouped_courses'] = Course::select(DB::raw('name, code, number, semester_id, program_id'))
214
         ->with('semester')
106
         ->with('semester')
215
         ->with('program')
107
         ->with('program')

+ 109
- 15
app/controllers/ProgramsController.php View File

58
     $outcomes_attempted = [];
58
     $outcomes_attempted = [];
59
     $outcomes_achieved = [];
59
     $outcomes_achieved = [];
60
 
60
 
61
-    $program_info = $program->program_students_per_outcome;
61
+    $program_info = $program->courses_students_score_per_outcome;
62
 
62
 
63
     $outcomes_attempted = $program_info['program_info']['outcomes_attempted_combined'];
63
     $outcomes_attempted = $program_info['program_info']['outcomes_attempted_combined'];
64
     $outcomes_achieved = $program_info['program_info']['outcomes_achieved_combined'];
64
     $outcomes_achieved = $program_info['program_info']['outcomes_achieved_combined'];
352
   {
352
   {
353
     return strcmp($a->name, $b->name);
353
     return strcmp($a->name, $b->name);
354
   }
354
   }
355
+  public function studentsProgramAssessmentReportForProfessors($program_id)
356
+  {
357
+    return $this->studentProgramAssessmentReport($program_id);
358
+  }
355
 
359
 
356
   public function studentProgramAssessmentReport($program_id)
360
   public function studentProgramAssessmentReport($program_id)
357
   {
361
   {
407
 
411
 
408
     $grouped_courses = Course::
412
     $grouped_courses = Course::
409
       //             select(DB::raw('courses.name, courses.code, courses.number, max(courses.outcomes_attempted) as outcomes_attempted, courses.semester_id, courses.program_id'))
413
       //             select(DB::raw('courses.name, courses.code, courses.number, max(courses.outcomes_attempted) as outcomes_attempted, courses.semester_id, courses.program_id'))
410
-      select(DB::raw('courses.name, courses.code, courses.number, courses.semester_id, courses.program_id'))
414
+      select(DB::raw('courses.name, courses.code, courses.number, courses.semester_id, courses.program_id, 1 as grouped'))
411
       ->with('semester')
415
       ->with('semester')
412
       ->with('program')
416
       ->with('program')
413
       ->whereIn('courses.program_id', $programs_ids)
417
       ->whereIn('courses.program_id', $programs_ids)
423
     $role = Auth::user()->role;
427
     $role = Auth::user()->role;
424
 
428
 
425
     $users = array();
429
     $users = array();
430
+    /*
426
 
431
 
427
 
432
 
428
     $resultados_todos_obj = DB::table('assessments')
433
     $resultados_todos_obj = DB::table('assessments')
458
       if ($resultado->score >= $resultado->expected_points) {
463
       if ($resultado->score >= $resultado->expected_points) {
459
         $resultados_todos[$resultado->program_id][$resultado->outcome_id][$resultado->student_id]['achieved']++;
464
         $resultados_todos[$resultado->program_id][$resultado->outcome_id][$resultado->student_id]['achieved']++;
460
       }
465
       }
461
-    }
466
+    }*//*
462
 
467
 
463
     $outcomes_colap = array();
468
     $outcomes_colap = array();
464
     $programs = array();
469
     $programs = array();
557
         }
562
         }
558
       }
563
       }
559
       $i++;
564
       $i++;
560
-    }
565
+    }/*
561
     usort($outcomes_colap, array($this, "cmp"));
566
     usort($outcomes_colap, array($this, "cmp"));
562
     // 		var_dump($outcomes_attempted_colap); print "<br>";
567
     // 		var_dump($outcomes_attempted_colap); print "<br>";
563
     // 		var_dump($outcomes_achieved_colap); print "<br>";
568
     // 		var_dump($outcomes_achieved_colap); print "<br>";
574
         $outcomes_achieved_colap_todo[$out] += $outcomes_achieved_colap[$program_id][$out];
579
         $outcomes_achieved_colap_todo[$out] += $outcomes_achieved_colap[$program_id][$out];
575
       }
580
       }
576
     }
581
     }
582
+    /*
577
     $outcomes_attempted_todo = array();
583
     $outcomes_attempted_todo = array();
578
     $outcomes_achieved_todo = array();
584
     $outcomes_achieved_todo = array();
579
     foreach ($outcomes_attempted as $program_id => $out_res) {
585
     foreach ($outcomes_attempted as $program_id => $out_res) {
585
         $outcomes_attempted_todo[$out] += $outcomes_attempted[$program_id][$out];
591
         $outcomes_attempted_todo[$out] += $outcomes_attempted[$program_id][$out];
586
         $outcomes_achieved_todo[$out] += $outcomes_achieved[$program_id][$out];
592
         $outcomes_achieved_todo[$out] += $outcomes_achieved[$program_id][$out];
587
       }
593
       }
588
-    }
589
-    $outcomes_attempted_colap = $outcomes_attempted_colap_todo;
590
-    $outcomes_achieved_colap = $outcomes_achieved_colap_todo;
591
-    $outcomes_attempted = $outcomes_attempted_todo;
592
-    $outcomes_achieved = $outcomes_achieved_todo;
594
+    }*/
595
+    $program_info = $program->program_students_per_outcome['program_info'];
596
+
597
+    $outcomes_attempted_colap = $program_info['outcomes_attempted_combined']; // $outcomes_attempted_colap_todo;
598
+    $outcomes_achieved_colap = $program_info['outcomes_achieved_combined']; //$outcomes_achieved_colap_todo;
599
+    $outcomes_attempted = $program_info['outcomes_attempted_uncombined'];
600
+    //$outcomes_attempted_todo;
601
+    $outcomes_achieved = $program_info['outcomes_achieved_uncombined'];
602
+    $outcomes_colap = Outcome::whereNull('new_outcome_id')->get();
603
+    //$outcomes_achieved_todo;
593
     // 	var_dump($outcomes_attempted_colap);
604
     // 	var_dump($outcomes_attempted_colap);
594
     // 	var_dump($outcomes_attempted_colap);
605
     // 	var_dump($outcomes_attempted_colap);
595
     // 	    return View::make('local.managers.shared.school_student_result', compact('title','outcomes_attempted_colap_semesters','outcomes_attempted_semesters','outcomes_attempted_colap_todo','outcomes_achieved_colap_todo','outcomes_attempted_todo','outcomes_achieved_todo','school','programs_name','role','outcomes','outcomes_colap', 'outcomes_attempted', 'outcomes_achieved', 'outcomes_attempted_colap', 'outcomes_achieved_colap', 'programs', 'users','program_courses','grouped_courses'));
606
     // 	    return View::make('local.managers.shared.school_student_result', compact('title','outcomes_attempted_colap_semesters','outcomes_attempted_semesters','outcomes_attempted_colap_todo','outcomes_achieved_colap_todo','outcomes_attempted_todo','outcomes_achieved_todo','school','programs_name','role','outcomes','outcomes_colap', 'outcomes_attempted', 'outcomes_achieved', 'outcomes_attempted_colap', 'outcomes_achieved_colap', 'programs', 'users','program_courses','grouped_courses'));
671
   //
682
   //
672
   // }
683
   // }
673
 
684
 
685
+  public function print_program_students($program_id)
686
+  {
687
+    $id = $program_id;
688
+    ini_set('memory_limit', -1);
689
+    ini_set('max_execution_time', 300);
690
+
691
+
692
+    $program = Program::find($program_id);
693
+    $title = $program->school->name . ': ' . $program->name;
694
+    $outcomes = Outcome::orderBy('name', 'asc')->get();
695
+    $schools = School::all();
696
+    $outcomeCount = Outcome::all()->count();
697
+
698
+    // 		var_dump(json_encode($outcomes));
699
+    $role = Auth::user()->role;
700
+
701
+    $programs_ids = array($program->id);
702
+
703
+    $users = User::select('users.*')
704
+      ->leftJoin('program_user', 'users.id', '=', 'program_user.user_id')
705
+      ->where(function ($query) use ($program) {
706
+        $query
707
+          ->where('school_id', $program->school_id)
708
+          ->where('role', 2);
709
+      })
710
+      ->orWhere(function ($query) use ($program) {
711
+        $query
712
+          ->where('role', 3)
713
+          ->where('program_id', $program->id);
714
+      })
715
+      ->orWhere(function ($query) use ($program) {
716
+        $query
717
+          ->where('role', 4)
718
+          ->where('program_id', $program->id);
719
+      })
720
+      ->get();
721
+
722
+
723
+    $grouped_courses = Course::
724
+      //             select(DB::raw('courses.name, courses.code, courses.number, max(courses.outcomes_attempted) as outcomes_attempted, courses.semester_id, courses.program_id'))
725
+      select(DB::raw('courses.name, courses.code, courses.number, courses.semester_id, courses.program_id, 1 as grouped'))
726
+      ->with('semester')
727
+      ->with('program')
728
+      ->whereIn('courses.program_id', $programs_ids)
729
+      ->whereIn('courses.semester_id', Session::get('semesters_ids'))
730
+      ->leftJoin('programs', 'courses.program_id', '=', 'programs.id')
731
+      ->groupBy(array('courses.code', 'courses.number', 'courses.semester_id'))
732
+      ->orderBy('courses.code')
733
+      ->orderBy('courses.number')
734
+      ->orderBy('courses.semester_id')
735
+      ->get();
736
+
737
+
738
+    $role = Auth::user()->role;
739
+
740
+    $users = array();
741
+
742
+    $program_info = $program->program_students_per_outcome['program_info'];
743
+
744
+    $outcomes_attempted_colap = $program_info['outcomes_attempted_combined']; // $outcomes_attempted_colap_todo;
745
+    $outcomes_achieved_colap = $program_info['outcomes_achieved_combined']; //$outcomes_achieved_colap_todo;
746
+    $outcomes_attempted = $program_info['outcomes_attempted_uncombined'];
747
+    //$outcomes_attempted_todo;
748
+    $outcomes_achieved = $program_info['outcomes_achieved_uncombined'];
749
+    $outcomes_colap = Outcome::whereNull('new_outcome_id')->get();
750
+    //$outcomes_achieved_todo;
751
+    // 	var_dump($outcomes_attempted_colap);
752
+    // 	var_dump($outcomes_attempted_colap);
753
+    // 	    return View::make('local.managers.shared.school_student_result', compact('title','outcomes_attempted_colap_semesters','outcomes_attempted_semesters','outcomes_attempted_colap_todo','outcomes_achieved_colap_todo','outcomes_attempted_todo','outcomes_achieved_todo','school','programs_name','role','outcomes','outcomes_colap', 'outcomes_attempted', 'outcomes_achieved', 'outcomes_attempted_colap', 'outcomes_achieved_colap', 'programs', 'users','program_courses','grouped_courses'));
754
+
755
+    return View::make('local.managers.shared.print_program_students', compact('title', 'role', 'outcomes', 'outcomes_colap', 'outcomes_attempted', 'outcomes_achieved', 'outcomes_attempted_colap', 'outcomes_achieved_colap', 'program', 'users', 'program_courses', 'grouped_courses'));
756
+  }
674
 
757
 
675
   /**
758
   /**
676
    * Info to print a program
759
    * Info to print a program
706
 
789
 
707
     $assessed_courses_count = 0;
790
     $assessed_courses_count = 0;
708
 
791
 
709
-    $program_outcomes_attempted = $program->program_students_per_outcomes['program_info']['outcomes_attempted_combined'];
710
-    $program_outcomes_achieved = $program->program_students_per_outcomes['program_info']['outcomes_achieved_combined'];
792
+    //Log::info("Aqui");
793
+    //Log::info($program->program_students_per_outcomes);
794
+    //$program_info =  $program->program_students_per_outcome['program_info'];
711
 
795
 
796
+    //$program_outcomes_attempted = $program_info['outcomes_attempted_combined'];
797
+    //$program_outcomes_achieved = $program_info['outcomes_achieved_combined'];
712
 
798
 
799
+    $course_info =  $program->courses_students_score_per_outcome['program_info'];
800
+
801
+
802
+    $outcomes_attempted =  $course_info['outcomes_attempted_combined'];
803
+    $outcomes_achieved = $course_info['outcomes_achieved_combined'];
804
+    $assessed_courses_count = $program->courses_with_assessment_count->courses_assessed;
805
+    /*
713
     foreach ($program_courses as $course) {
806
     foreach ($program_courses as $course) {
714
 
807
 
715
 
808
 
742
 
835
 
743
 */
836
 */
744
 
837
 
745
-      /*
838
+    /*
746
       if ($course->outcomes_att()) {
839
       if ($course->outcomes_att()) {
747
         $course_outcomes_attempted = $course->outcomes_att();
840
         $course_outcomes_attempted = $course->outcomes_att();
748
         foreach ($course_outcomes_attempted as $outcome => $score) {
841
         foreach ($course_outcomes_attempted as $outcome => $score) {
762
           else $outcomes_achieved[$outcome] = $score;
855
           else $outcomes_achieved[$outcome] = $score;
763
         }
856
         }
764
       }
857
       }
765
-      */
858
+      
766
     }
859
     }
860
+    */
767
 
861
 
768
 
862
 
769
 
863
 
841
 
935
 
842
     $program_array['program_courses'] = $program->courses;
936
     $program_array['program_courses'] = $program->courses;
843
     // $program_array['grouped_objectives'] = $program->objectives();
937
     // $program_array['grouped_objectives'] = $program->objectives();
844
-
938
+    /*
845
     $program_array['assessed_courses_count'] = 0;
939
     $program_array['assessed_courses_count'] = 0;
846
     foreach ($program_array['program_courses'] as $course) {
940
     foreach ($program_array['program_courses'] as $course) {
847
       if (!$program_array['course_outcomes_achieved'] = $course->outcomes_ach()) {
941
       if (!$program_array['course_outcomes_achieved'] = $course->outcomes_ach()) {
860
 
954
 
861
         $program_array['assessed_courses_count'] += 1;
955
         $program_array['assessed_courses_count'] += 1;
862
       }
956
       }
863
-    }
957
+    }*/
864
 
958
 
865
     /**
959
     /**
866
      * List of grouped courses (grouped sections)
960
      * List of grouped courses (grouped sections)

+ 229
- 75
app/controllers/SchoolsController.php View File

39
 
39
 
40
         $outcomes_grad = Outcome::active_by_semesters($semesters, 1);
40
         $outcomes_grad = Outcome::active_by_semesters($semesters, 1);
41
         $outcomes_undergrad = Outcome::active_by_semesters($semesters, 0);
41
         $outcomes_undergrad = Outcome::active_by_semesters($semesters, 0);
42
+        //$school->school_courses_per_outcome;
43
+
44
+
42
 
45
 
43
         //$undergrad_stu_outcome_attempted = [];
46
         //$undergrad_stu_outcome_attempted = [];
44
         //$grad_stu_outcome_attempted = [];
47
         //$grad_stu_outcome_attempted = [];
151
             ->addSelect('outcome_id')
154
             ->addSelect('outcome_id')
152
             ->groupBy(array('students.id', 'outcome_id'))
155
             ->groupBy(array('students.id', 'outcome_id'))
153
             ->get();
156
             ->get();
154
-*/
157
+        */
155
         //school
158
         //school
156
 
159
 
157
 
160
 
158
 
161
 
159
 
162
 
160
 
163
 
161
-        $school_info = $school->school_students_per_outcome;
164
+        $school_info = $school->school_courses_per_outcome;
162
         $grad_outcomes_attempted = $school_info['graduate_info']['outcomes_attempted_combined'];
165
         $grad_outcomes_attempted = $school_info['graduate_info']['outcomes_attempted_combined'];
163
         $grad_outcomes_achieved = $school_info['graduate_info']['outcomes_achieved_combined'];
166
         $grad_outcomes_achieved = $school_info['graduate_info']['outcomes_achieved_combined'];
164
 
167
 
167
 
170
 
168
         $grad_grouped_courses = Course::
171
         $grad_grouped_courses = Course::
169
             //             select(DB::raw('courses.name, courses.code, courses.number, max(courses.outcomes_attempted) as outcomes_attempted, courses.semester_id, courses.program_id'))
172
             //             select(DB::raw('courses.name, courses.code, courses.number, max(courses.outcomes_attempted) as outcomes_attempted, courses.semester_id, courses.program_id'))
170
-            select(DB::raw('courses.name, courses.code, courses.number, courses.semester_id, courses.program_id'))
173
+            select(DB::raw('courses.name, courses.code, courses.number, courses.semester_id, courses.program_id, 1 as grouped'))
171
             ->with('semester')
174
             ->with('semester')
172
             ->with('program')
175
             ->with('program')
173
             ->whereIn('courses.program_id', $program_ids)
176
             ->whereIn('courses.program_id', $program_ids)
182
 
185
 
183
         $undergrad_grouped_courses = Course::
186
         $undergrad_grouped_courses = Course::
184
             //             select(DB::raw('courses.name, courses.code, courses.number, max(courses.outcomes_attempted) as outcomes_attempted, courses.semester_id, courses.program_id'))
187
             //             select(DB::raw('courses.name, courses.code, courses.number, max(courses.outcomes_attempted) as outcomes_attempted, courses.semester_id, courses.program_id'))
185
-            select(DB::raw('courses.name, courses.code, courses.number, courses.semester_id, courses.program_id'))
188
+            select(DB::raw('courses.name, courses.code, courses.number, courses.semester_id, courses.program_id, 1 as grouped'))
186
             ->with('semester')
189
             ->with('semester')
187
             ->with('program')
190
             ->with('program')
188
             ->whereIn('courses.program_id', $program_ids)
191
             ->whereIn('courses.program_id', $program_ids)
242
         }
245
         }
243
 
246
 
244
 
247
 
248
+        //Aqui estan los resultados divididos en outcomes y programs
249
+
250
+
251
+
252
+        $attemptedUndergradProgramsPerOutcome = $school_info['undergraduate_info']['programs_attempted_combined'];
253
+        $achievedUndergradProgramsPerOutcome = $school_info['undergraduate_info']['programs_achieved_combined'];
254
+        $attemptedGradProgramsPerOutcome = $school_info['graduate_info']['programs_attempted_combined'];
255
+        $achievedGradProgramsPerOutcome = $school_info['graduate_info']['programs_achieved_combined'];
256
+
257
+
258
+
259
+
260
+
245
         //como resuelvo programsAttempted y eso
261
         //como resuelvo programsAttempted y eso
246
 
262
 
247
 
263
 
248
         //El query es el mismo de students, lo unico que dividido con programas,
264
         //El query es el mismo de students, lo unico que dividido con programas,
249
         //asi que lo que esta haciendo es, prog 1, y coge los dominios y estudiantes que evaluason
265
         //asi que lo que esta haciendo es, prog 1, y coge los dominios y estudiantes que evaluason
250
-
266
+        /*
251
 
267
 
252
 
268
 
253
         $undergrad_prog_attempted =  DB::table("courses")
269
         $undergrad_prog_attempted =  DB::table("courses")
461
             ->groupBy("expected_target")
477
             ->groupBy("expected_target")
462
             ->orderBy("expected_target", "DESC")
478
             ->orderBy("expected_target", "DESC")
463
             ->first();
479
             ->first();
464
-        Log::info($linea_grad);
480
+        //Log::info($linea_grad);
465
         if (!isset($linea_grad)) {
481
         if (!isset($linea_grad)) {
466
             $default_grad = 70;
482
             $default_grad = 70;
467
         } elseif ($linea_grad->count_semester_id > 1) {
483
         } elseif ($linea_grad->count_semester_id > 1) {
479
                 ->first();
495
                 ->first();
480
         }
496
         }
481
 
497
 
482
-        Log::info($default_grad);
498
+        $expected_target_for_undergradprograms = !isset($linea_undergrad) ? $default_undergrad : $linea_undergrad->expected_target;
499
+        $expected_target_for_gradprograms = !isset($linea_grad) ? $default_grad : $linea_grad->expected_target;
500
+
501
+
502
+        //Log::info($default_grad);
503
+
504
+        $undergrad_programs = $school->undergraduate_programs->get();
505
+        $grad_programs = $school->graduate_programs->get();
483
 
506
 
484
 
507
 
485
 
508
 
486
 
509
 
487
         if ($school->id == 13) {
510
         if ($school->id == 13) {
488
             //             return View::make('local.managers.shared.school-uhs', compact('title', 'outcomes', 'undergrad_programs', 'grad_programs', 'undergrad_outcomes_attempted', 'grad_outcomes_attempted', 'undergrad_outcomes_achieved', 'grad_outcomes_achieved', 'schools', 'school', 'undergrad_assessed_sections_count', 'grad_assessed_sections_count', 'undergrad_school_sections_count', 'grad_school_sections_count', 'achievedUndergradProgramsPerOutcome', 'achievedGradProgramsPerOutcome', 'attemptedUndergradProgramsPerOutcome', 'attemptedGradProgramsPerOutcome', 'grad_grouped_courses', 'undergrad_grouped_courses', 'participating_programs', 'participating_undergrad_programs', 'participating_grad_programs'));
511
             //             return View::make('local.managers.shared.school-uhs', compact('title', 'outcomes', 'undergrad_programs', 'grad_programs', 'undergrad_outcomes_attempted', 'grad_outcomes_attempted', 'undergrad_outcomes_achieved', 'grad_outcomes_achieved', 'schools', 'school', 'undergrad_assessed_sections_count', 'grad_assessed_sections_count', 'undergrad_school_sections_count', 'grad_school_sections_count', 'achievedUndergradProgramsPerOutcome', 'achievedGradProgramsPerOutcome', 'attemptedUndergradProgramsPerOutcome', 'attemptedGradProgramsPerOutcome', 'grad_grouped_courses', 'undergrad_grouped_courses', 'participating_programs', 'participating_undergrad_programs', 'participating_grad_programs'));
489
-            return View::make('local.managers.shared.school-uhs', compact('title', 'default_undergrad', 'default_grad', 'linea_undergrad', 'linea_grad', 'outcomes_grad', 'outcomes_undergrad', 'undergrad_programs', 'grad_programs', 'undergrad_outcomes_attempted', 'grad_outcomes_attempted', 'undergrad_outcomes_achieved', 'grad_outcomes_achieved', 'schools', 'school', 'undergrad_assessed_sections_count', 'grad_assessed_sections_count', 'undergrad_school_sections_count', 'grad_school_sections_count', 'achievedUndergradProgramsPerOutcome', 'achievedGradProgramsPerOutcome', 'attemptedUndergradProgramsPerOutcome', 'attemptedGradProgramsPerOutcome', 'grad_grouped_courses', 'undergrad_grouped_courses', 'participating_programs'));
512
+            return View::make('local.managers.shared.school-uhs', compact('title', 'expected_target_for_undergradprograms', 'expected_target_for_gradprograms', 'undergrad_programs', 'grad_programs', 'default_undergrad', 'default_grad', 'linea_undergrad', 'linea_grad', 'outcomes_grad', 'outcomes_undergrad', 'undergrad_programs', 'grad_programs', 'undergrad_outcomes_attempted', 'grad_outcomes_attempted', 'undergrad_outcomes_achieved', 'grad_outcomes_achieved', 'schools', 'school', 'undergrad_assessed_sections_count', 'grad_assessed_sections_count', 'undergrad_school_sections_count', 'grad_school_sections_count', 'achievedUndergradProgramsPerOutcome', 'achievedGradProgramsPerOutcome', 'attemptedUndergradProgramsPerOutcome', 'attemptedGradProgramsPerOutcome', 'grad_grouped_courses', 'undergrad_grouped_courses', 'participating_programs'));
490
         } else {
513
         } else {
491
             //             return View::make('local.managers.shared.school', compact('title', 'outcomes', 'undergrad_programs', 'grad_programs', 'undergrad_outcomes_attempted', 'grad_outcomes_attempted', 'undergrad_outcomes_achieved', 'grad_outcomes_achieved', 'schools', 'school', 'undergrad_assessed_sections_count', 'grad_assessed_sections_count', 'undergrad_school_sections_count', 'grad_school_sections_count', 'achievedUndergradProgramsPerOutcome', 'achievedGradProgramsPerOutcome', 'attemptedUndergradProgramsPerOutcome', 'attemptedGradProgramsPerOutcome', 'grad_grouped_courses', 'undergrad_grouped_courses', 'participating_programs', 'participating_undergrad_programs', 'participating_grad_programs'));
514
             //             return View::make('local.managers.shared.school', compact('title', 'outcomes', 'undergrad_programs', 'grad_programs', 'undergrad_outcomes_attempted', 'grad_outcomes_attempted', 'undergrad_outcomes_achieved', 'grad_outcomes_achieved', 'schools', 'school', 'undergrad_assessed_sections_count', 'grad_assessed_sections_count', 'undergrad_school_sections_count', 'grad_school_sections_count', 'achievedUndergradProgramsPerOutcome', 'achievedGradProgramsPerOutcome', 'attemptedUndergradProgramsPerOutcome', 'attemptedGradProgramsPerOutcome', 'grad_grouped_courses', 'undergrad_grouped_courses', 'participating_programs', 'participating_undergrad_programs', 'participating_grad_programs'));
492
-            return View::make('local.managers.shared.school', compact('title',  'default_undergrad', 'default_grad', 'linea_undergrad', 'linea_grad', 'outcomes_grad', 'outcomes_undergrad', 'undergrad_programs', 'grad_programs', 'undergrad_outcomes_attempted', 'grad_outcomes_attempted', 'undergrad_outcomes_achieved', 'grad_outcomes_achieved', 'schools', 'school', 'undergrad_assessed_sections_count', 'grad_assessed_sections_count', 'undergrad_school_sections_count', 'grad_school_sections_count', 'achievedUndergradProgramsPerOutcome', 'achievedGradProgramsPerOutcome', 'attemptedUndergradProgramsPerOutcome', 'attemptedGradProgramsPerOutcome', 'grad_grouped_courses', 'undergrad_grouped_courses', 'participating_programs'));
515
+            return View::make('local.managers.shared.school', compact('title', 'expected_target_for_undergradprograms', 'expected_target_for_gradprograms', 'undergrad_programs', 'grad_programs', 'default_undergrad', 'default_grad', 'linea_undergrad', 'linea_grad', 'outcomes_grad', 'outcomes_undergrad', 'undergrad_programs', 'grad_programs', 'undergrad_outcomes_attempted', 'grad_outcomes_attempted', 'undergrad_outcomes_achieved', 'grad_outcomes_achieved', 'schools', 'school', 'undergrad_assessed_sections_count', 'grad_assessed_sections_count', 'undergrad_school_sections_count', 'grad_school_sections_count', 'achievedUndergradProgramsPerOutcome', 'achievedGradProgramsPerOutcome', 'attemptedUndergradProgramsPerOutcome', 'attemptedGradProgramsPerOutcome', 'grad_grouped_courses', 'undergrad_grouped_courses', 'participating_programs'));
493
         }
516
         }
494
     }
517
     }
495
 
518
 
498
         return strcmp($a->name, $b->name);
521
         return strcmp($a->name, $b->name);
499
     }
522
     }
500
 
523
 
501
-    public function studentSchoolAssessmentReport($school_id)
524
+    public function print_school_students_report($school_id)
502
     {
525
     {
503
         $id = $school_id;
526
         $id = $school_id;
504
         ini_set('memory_limit', -1);
527
         ini_set('memory_limit', -1);
506
 
529
 
507
         $outcomes = Outcome::orderBy('name', 'asc')->get();
530
         $outcomes = Outcome::orderBy('name', 'asc')->get();
508
         $school = School::find($school_id);
531
         $school = School::find($school_id);
509
-        $title = $school->name;
532
+        $title = $school->name . ' Assessment Report - ' . date('m/d/Y');
510
         $outcomeCount = Outcome::all()->count();
533
         $outcomeCount = Outcome::all()->count();
511
         $programs = Program::where('school_id', '=', $school_id)->get();
534
         $programs = Program::where('school_id', '=', $school_id)->get();
512
         $programs_ids = array();
535
         $programs_ids = array();
518
             $programs_name[$program->id] = $program->name;
541
             $programs_name[$program->id] = $program->name;
519
         }
542
         }
520
 
543
 
521
-        $school->school_students_per_outcome;
544
+        $grouped_courses = Course::
545
+            //             select(DB::raw('courses.name, courses.code, courses.number, max(courses.outcomes_attempted) as outcomes_attempted, courses.semester_id, courses.program_id'))
546
+            select(DB::raw('courses.name, courses.code, courses.number, courses.semester_id, courses.program_id, 1 as grouped'))
547
+            ->with('semester')
548
+            ->with('program')
549
+            ->whereIn('courses.program_id', $programs_ids)
550
+            ->whereIn('courses.semester_id', Session::get('semesters_ids'))
551
+            ->leftJoin('programs', 'courses.program_id', '=', 'programs.id')
552
+            ->groupBy(array('courses.code', 'courses.number', 'courses.semester_id'))
553
+            ->orderBy('courses.code')
554
+            ->orderBy('courses.number')
555
+            ->orderBy('courses.semester_id')
556
+            ->get();
557
+
522
 
558
 
559
+        $role = Auth::user()->role;
560
+
561
+        $users = array();
562
+        $outcomes_colap = Outcome::whereNull("new_outcome_id")->get();
563
+
564
+        $info = $school->school_students_per_outcome;
565
+
566
+        $outcomes_undergraduate_achieved_colap_todo = $info['undergraduate_info']['outcomes_achieved_combined'];
567
+        $outcomes_undergraduate_attempted_colap_todo = $info['undergraduate_info']['outcomes_attempted_combined'];
568
+
569
+        $outcomes_graduate_achieved_colap_todo = $info['graduate_info']['outcomes_achieved_combined'];
570
+        $outcomes_graduate_attempted_colap_todo = $info['graduate_info']['outcomes_attempted_combined'];
571
+
572
+
573
+        $outcomes_undergrad_program_attempted_colap = $info['undergraduate_info']['programs_attempted_combined'];
574
+        $outcomes_undergrad_program_achieved_colap = $info['undergraduate_info']['programs_achieved_combined'];
575
+        $outcomes_grad_program_attempted_colap = $info['graduate_info']['programs_attempted_combined'];
576
+        $outcomes_grad_program_achieved_colap = $info['graduate_info']['programs_achieved_combined'];
577
+
578
+
579
+        $undergraduate_programs = $school->undergraduate_programs->get();
580
+        $graduate_programs = $school->graduate_programs->get();
581
+
582
+
583
+
584
+
585
+
586
+
587
+
588
+        return View::make('local.managers.shared.print_school_students_report', compact(
589
+            'title', #'outcomes_attempted_colap_semesters', 'outcomes_attempted_semesters', 
590
+            'outcomes_undergraduate_attempted_colap_todo',
591
+            'outcomes_undergraduate_achieved_colap_todo',
592
+
593
+            'outcomes_graduate_attempted_colap_todo',
594
+            'outcomes_graduate_achieved_colap_todo',
595
+
596
+            'outcomes_undergrad_program_attempted_colap',
597
+            'outcomes_undergrad_program_achieved_colap',
598
+            'outcomes_grad_program_attempted_colap',
599
+            'outcomes_grad_program_achieved_colap',
600
+
601
+            'undergraduate_programs',
602
+            'graduate_programs',
603
+            'school',
604
+            'programs_name',
605
+            'role',
606
+            'outcomes',
607
+            'outcomes_colap',
608
+            'outcomes_attempted',
609
+            'outcomes_achieved',
610
+            'outcomes_attempted_colap',
611
+            'outcomes_achieved_colap',
612
+            'programs',
613
+            'users',
614
+            'program_courses',
615
+            'grouped_courses'
616
+        ));
617
+    }
618
+
619
+    public function studentSchoolAssessmentReport($school_id)
620
+    {
621
+        $id = $school_id;
622
+        ini_set('memory_limit', -1);
623
+        ini_set('max_execution_time', 300);
624
+
625
+        $outcomes = Outcome::orderBy('name', 'asc')->get();
626
+        $school = School::find($school_id);
627
+        $title = $school->name;
628
+        $outcomeCount = Outcome::all()->count();
629
+        $programs = Program::where('school_id', '=', $school_id)->get();
630
+        $programs_ids = array();
631
+        // 				var_dump($programs);exit();
632
+        $programs_name = array();
633
+        foreach ($programs as $program) {
634
+            // 			var_dump($program);
635
+            $programs_ids[] = $program->id;
636
+            $programs_name[$program->id] = $program->name;
637
+        }
523
 
638
 
524
         $grouped_courses = Course::
639
         $grouped_courses = Course::
525
             //             select(DB::raw('courses.name, courses.code, courses.number, max(courses.outcomes_attempted) as outcomes_attempted, courses.semester_id, courses.program_id'))
640
             //             select(DB::raw('courses.name, courses.code, courses.number, max(courses.outcomes_attempted) as outcomes_attempted, courses.semester_id, courses.program_id'))
526
-            select(DB::raw('courses.name, courses.code, courses.number, courses.semester_id, courses.program_id'))
641
+            select(DB::raw('courses.name, courses.code, courses.number, courses.semester_id, courses.program_id, 1 as grouped'))
527
             ->with('semester')
642
             ->with('semester')
528
             ->with('program')
643
             ->with('program')
529
             ->whereIn('courses.program_id', $programs_ids)
644
             ->whereIn('courses.program_id', $programs_ids)
539
         $role = Auth::user()->role;
654
         $role = Auth::user()->role;
540
 
655
 
541
         $users = array();
656
         $users = array();
657
+        $outcomes_colap = Outcome::whereNull("new_outcome_id")->get();
658
+        /*
542
 
659
 
543
 
660
 
544
         $resultados_todos_obj = DB::table('assessments')
661
         $resultados_todos_obj = DB::table('assessments')
644
                 }
761
                 }
645
             }
762
             }
646
             // 			var_dump($resultados_todos_colap);
763
             // 			var_dump($resultados_todos_colap);
647
-
764
+        /*
648
             $outcomes_attempted_colap[$program_id] = array();
765
             $outcomes_attempted_colap[$program_id] = array();
649
             $outcomes_achieved_colap[$program_id] = array();
766
             $outcomes_achieved_colap[$program_id] = array();
650
             $outcomes_attempted_colap_semesters[$program_id] = array();
767
             $outcomes_attempted_colap_semesters[$program_id] = array();
674
             }
791
             }
675
             $i++;
792
             $i++;
676
         }
793
         }
794
+        /*
677
         usort($outcomes_colap, array($this, "cmp"));
795
         usort($outcomes_colap, array($this, "cmp"));
678
         // 		var_dump($outcomes_attempted_colap); print "<br>";
796
         // 		var_dump($outcomes_attempted_colap); print "<br>";
679
         // 		var_dump($outcomes_achieved_colap); print "<br>";
797
         // 		var_dump($outcomes_achieved_colap); print "<br>";
680
         // 	exit();
798
         // 	exit();
799
+
681
         $outcomes_attempted_colap_todo = array();
800
         $outcomes_attempted_colap_todo = array();
682
         $outcomes_achieved_colap_todo = array();
801
         $outcomes_achieved_colap_todo = array();
683
         foreach ($outcomes_attempted_colap as $program_id => $out_res) {
802
         foreach ($outcomes_attempted_colap as $program_id => $out_res) {
690
                 $outcomes_achieved_colap_todo[$out] += $outcomes_achieved_colap[$program_id][$out];
809
                 $outcomes_achieved_colap_todo[$out] += $outcomes_achieved_colap[$program_id][$out];
691
             }
810
             }
692
         }
811
         }
812
+        /*
693
         $outcomes_attempted_todo = array();
813
         $outcomes_attempted_todo = array();
694
         $outcomes_achieved_todo = array();
814
         $outcomes_achieved_todo = array();
695
         foreach ($outcomes_attempted as $program_id => $out_res) {
815
         foreach ($outcomes_attempted as $program_id => $out_res) {
701
                 $outcomes_attempted_todo[$out] += $outcomes_attempted[$program_id][$out];
821
                 $outcomes_attempted_todo[$out] += $outcomes_attempted[$program_id][$out];
702
                 $outcomes_achieved_todo[$out] += $outcomes_achieved[$program_id][$out];
822
                 $outcomes_achieved_todo[$out] += $outcomes_achieved[$program_id][$out];
703
             }
823
             }
704
-        }
705
-
824
+        }*/
706
 
825
 
707
-        return View::make('local.managers.shared.school_student_result', compact('title', 'outcomes_attempted_colap_semesters', 'outcomes_attempted_semesters', 'outcomes_attempted_colap_todo', 'outcomes_achieved_colap_todo', 'outcomes_attempted_todo', 'outcomes_achieved_todo', 'school', 'programs_name', 'role', 'outcomes', 'outcomes_colap', 'outcomes_attempted', 'outcomes_achieved', 'outcomes_attempted_colap', 'outcomes_achieved_colap', 'programs', 'users', 'program_courses', 'grouped_courses'));
826
+        $info = $school->school_students_per_outcome;
827
+        Log::info("BRR");
828
+        Log::info($info);
829
+
830
+        $outcomes_undergraduate_achieved_colap_todo = $info['undergraduate_info']['outcomes_achieved_combined'];
831
+        $outcomes_undergraduate_attempted_colap_todo = $info['undergraduate_info']['outcomes_attempted_combined'];
832
+        $outcomes_undergraduate_achieved_todo = $info['undergraduate_info']['outcomes_achieved_uncombined'];
833
+        $outcomes_undergraduate_attempted_todo = $info['undergraduate_info']['outcomes_attempted_uncombined'];
834
+
835
+        $outcomes_graduate_achieved_colap_todo = $info['graduate_info']['outcomes_achieved_combined'];
836
+        $outcomes_graduate_attempted_colap_todo = $info['graduate_info']['outcomes_attempted_combined'];
837
+        $outcomes_graduate_achieved_todo = $info['graduate_info']['outcomes_achieved_uncombined'];
838
+        $outcomes_graduate_attempted_todo = $info['graduate_info']['outcomes_attempted_uncombined'];
839
+
840
+        $outcomes_undergrad_program_attempted_colap = $info['undergraduate_info']['programs_attempted_combined'];
841
+        $outcomes_undergrad_program_achieved_colap = $info['undergraduate_info']['programs_achieved_combined'];
842
+        $outcomes_grad_program_attempted_colap = $info['graduate_info']['programs_attempted_combined'];
843
+        $outcomes_grad_program_achieved_colap = $info['graduate_info']['programs_achieved_combined'];
844
+        Log::info("mera");
845
+        Log::info($outcomes_grad_program_attempted_colap);
846
+        $outcomes_undergrad_program_attempted_todo = $info['undergraduate_info']['programs_attempted_uncombined'];
847
+
848
+        $outcomes_undergrad_program_achieved_todo = $info['undergraduate_info']['programs_achieved_uncombined'];
849
+
850
+
851
+        $outcomes_grad_program_attempted_todo = $info['graduate_info']['programs_attempted_uncombined'];
852
+        $outcomes_grad_program_achieved_todo = $info['graduate_info']['programs_achieved_uncombined'];
853
+
854
+        $undergraduate_programs = $school->undergraduate_programs->get();
855
+        $graduate_programs = $school->graduate_programs->get();
856
+
857
+
858
+
859
+
860
+
861
+
862
+
863
+        return View::make('local.managers.shared.school_student_result', compact(
864
+            'title', #'outcomes_attempted_colap_semesters', 'outcomes_attempted_semesters', 
865
+            'outcomes_undergraduate_attempted_colap_todo',
866
+            'outcomes_undergraduate_achieved_colap_todo',
867
+            'outcomes_undergraduate_attempted_todo',
868
+            'outcomes_undergraduate_achieved_todo',
869
+            'outcomes_graduate_attempted_colap_todo',
870
+            'outcomes_graduate_achieved_colap_todo',
871
+            'outcomes_graduate_attempted_todo',
872
+            'outcomes_graduate_achieved_todo',
873
+            'outcomes_undergrad_program_attempted_colap',
874
+            'outcomes_undergrad_program_achieved_colap',
875
+            'outcomes_grad_program_attempted_colap',
876
+            'outcomes_grad_program_achieved_colap',
877
+            'outcomes_undergrad_program_attempted_todo',
878
+            'outcomes_undergrad_program_achieved_todo',
879
+            'outcomes_grad_program_attempted_todo',
880
+            'outcomes_grad_program_achieved_todo',
881
+            'undergraduate_programs',
882
+            'graduate_programs',
883
+            'school',
884
+            'programs_name',
885
+            'role',
886
+            'outcomes',
887
+            'outcomes_colap',
888
+            'outcomes_attempted',
889
+            'outcomes_achieved',
890
+            'outcomes_attempted_colap',
891
+            'outcomes_achieved_colap',
892
+            'programs',
893
+            'users',
894
+            'program_courses',
895
+            'grouped_courses'
896
+        ));
708
     }
897
     }
709
 
898
 
710
     public function showQuasiOri($id)
899
     public function showQuasiOri($id)
1193
         $undergrad_outcomes_achieved = [];
1382
         $undergrad_outcomes_achieved = [];
1194
 
1383
 
1195
 
1384
 
1196
-        $school_info = $school->school_students_per_outcome;
1385
+        $school_info = $school->school_courses_per_outcome;
1197
         $grad_outcomes_attempted = $school_info['graduate_info']['outcomes_attempted_combined'];
1386
         $grad_outcomes_attempted = $school_info['graduate_info']['outcomes_attempted_combined'];
1198
         $grad_outcomes_achieved = $school_info['graduate_info']['outcomes_achieved_combined'];
1387
         $grad_outcomes_achieved = $school_info['graduate_info']['outcomes_achieved_combined'];
1199
 
1388
 
1204
 
1393
 
1205
 
1394
 
1206
 
1395
 
1207
-        /*
1208
-
1209
-
1210
-        $grad_outcomes_attempted = [];
1211
-        $grad_outcomes_achieved = [];
1212
-        $undergrad_outcomes_attempted = [];
1213
-        $undergrad_outcomes_achieved = [];
1214
-
1215
-        foreach ($outcomes_grad as $outcome) {
1216
-            $grad_outcomes_attempted[$outcome->id] = 0;
1217
-            $grad_outcomes_achieved[$outcome->id] = 0;
1218
-        }
1219
-
1220
-        foreach ($outcomes_undergrad as $outcome) {
1221
-            $undergrad_outcomes_attempted[$outcome->id] = 0;
1222
-            $undergrad_outcomes_achieved[$outcome->id] = 0;
1223
-        }
1224
-
1225
-        foreach ($grad_student_query as $result) {
1226
-            if ($result->criteria_attempted != 0) {
1227
-                if (!isset($grad_outcomes_attempted[$result->outcome_id]))
1228
-                    continue;
1229
 
1396
 
1230
-                $grad_outcomes_attempted[$result->outcome_id]++;
1231
-
1232
-                $percent = $result->criteria_achieved / $result->criteria_attempted * 100;
1233
-
1234
-                if ($percent >= 66.66) {
1235
-
1236
-
1237
-                    $grad_outcomes_achieved[$result->outcome_id]++;
1238
-                }
1239
-            }
1240
-        }
1241
-
1242
-
1243
-
1244
-
1245
-        foreach ($undergraduate_student_query as $result) {
1246
-            if ($result->criteria_attempted != 0) {
1247
-                if (!isset($undergrad_outcomes_attempted[$result->outcome_id]))
1248
-                    continue;
1249
-
1250
-                $undergrad_outcomes_attempted[$result->outcome_id]++;
1251
-
1252
-                $percent = $result->criteria_achieved / $result->criteria_attempted * 100;
1253
-
1254
-                if ($percent >= 66.66) {
1255
-
1256
-
1257
-                    $undergrad_outcomes_achieved[$result->outcome_id]++;
1258
-                }
1259
-            }
1260
-        }*/
1261
 
1397
 
1262
         $grad_grouped_courses = Course::
1398
         $grad_grouped_courses = Course::
1263
             //             select(DB::raw('courses.name, courses.code, courses.number, max(courses.outcomes_attempted) as outcomes_attempted, courses.semester_id, courses.program_id'))
1399
             //             select(DB::raw('courses.name, courses.code, courses.number, max(courses.outcomes_attempted) as outcomes_attempted, courses.semester_id, courses.program_id'))
1335
             }
1471
             }
1336
         }
1472
         }
1337
 
1473
 
1474
+        $attemptedUndergradProgramsPerOutcome = $school_info['undergraduate_info']['programs_attempted_combined'];
1475
+        $achievedUndergradProgramsPerOutcome = $school_info['undergraduate_info']['programs_achieved_combined'];
1476
+        $attemptedGradProgramsPerOutcome = $school_info['graduate_info']['programs_attempted_combined'];
1477
+        $achievedGradProgramsPerOutcome = $school_info['graduate_info']['programs_achieved_combined'];
1478
+
1479
+
1480
+
1481
+
1338
 
1482
 
1339
-        //como resuelvo programsAttempted y eso
1340
 
1483
 
1484
+        //como resuelvo programsAttempted y eso
1341
 
1485
 
1486
+        /*
1342
         //El query es el mismo de students, lo unico que dividido con programas,
1487
         //El query es el mismo de students, lo unico que dividido con programas,
1343
         //asi que lo que esta haciendo es, prog 1, y coge los dominios y estudiantes que evaluason
1488
         //asi que lo que esta haciendo es, prog 1, y coge los dominios y estudiantes que evaluason
1344
 
1489
 
1433
                     $achievedGradProgramsPerOutcome[$outcome_id][$program_id] = 0;
1578
                     $achievedGradProgramsPerOutcome[$outcome_id][$program_id] = 0;
1434
                 $achievedGradProgramsPerOutcome[$outcome_id][$program_id]++;
1579
                 $achievedGradProgramsPerOutcome[$outcome_id][$program_id]++;
1435
             }
1580
             }
1436
-        }
1581
+        }*/
1437
         //La linea negra de proposed.
1582
         //La linea negra de proposed.
1438
 
1583
 
1439
         //
1584
         //
1493
                 ->first();
1638
                 ->first();
1494
         }
1639
         }
1495
 
1640
 
1641
+        $expected_target_for_undergradprograms = !isset($linea_undergrad) ? $default_undergrad : $linea_undergrad->expected_target;
1642
+        $expected_target_for_gradprograms = !isset($linea_grad) ? $default_grad : $linea_grad->expected_target;
1643
+
1644
+
1645
+        //Log::info($default_grad);
1646
+
1647
+        $undergrad_programs = $school->undergraduate_programs->get();
1648
+        $grad_programs = $school->graduate_programs->get();
1649
+
1496
 
1650
 
1497
 
1651
 
1498
 
1652
 
1499
         if ($school->id == 13) {
1653
         if ($school->id == 13) {
1500
             //             return View::make('local.managers.shared.school-uhs', compact('title', 'outcomes', 'undergrad_programs', 'grad_programs', 'undergrad_outcomes_attempted', 'grad_outcomes_attempted', 'undergrad_outcomes_achieved', 'grad_outcomes_achieved', 'schools', 'school', 'undergrad_assessed_sections_count', 'grad_assessed_sections_count', 'undergrad_school_sections_count', 'grad_school_sections_count', 'achievedUndergradProgramsPerOutcome', 'achievedGradProgramsPerOutcome', 'attemptedUndergradProgramsPerOutcome', 'attemptedGradProgramsPerOutcome', 'grad_grouped_courses', 'undergrad_grouped_courses', 'participating_programs', 'participating_undergrad_programs', 'participating_grad_programs'));
1654
             //             return View::make('local.managers.shared.school-uhs', compact('title', 'outcomes', 'undergrad_programs', 'grad_programs', 'undergrad_outcomes_attempted', 'grad_outcomes_attempted', 'undergrad_outcomes_achieved', 'grad_outcomes_achieved', 'schools', 'school', 'undergrad_assessed_sections_count', 'grad_assessed_sections_count', 'undergrad_school_sections_count', 'grad_school_sections_count', 'achievedUndergradProgramsPerOutcome', 'achievedGradProgramsPerOutcome', 'attemptedUndergradProgramsPerOutcome', 'attemptedGradProgramsPerOutcome', 'grad_grouped_courses', 'undergrad_grouped_courses', 'participating_programs', 'participating_undergrad_programs', 'participating_grad_programs'));
1501
-            return View::make('local.managers.shared.print_school', compact('title', 'default_undergrad', 'default_grad', 'linea_undergrad', 'linea_grad', 'outcomes_grad', 'outcomes_undergrad', 'undergrad_programs', 'grad_programs', 'undergrad_outcomes_attempted', 'grad_outcomes_attempted', 'undergrad_outcomes_achieved', 'grad_outcomes_achieved', 'schools', 'school', 'undergrad_assessed_sections_count', 'grad_assessed_sections_count', 'undergrad_school_sections_count', 'grad_school_sections_count', 'achievedUndergradProgramsPerOutcome', 'achievedGradProgramsPerOutcome', 'attemptedUndergradProgramsPerOutcome', 'attemptedGradProgramsPerOutcome', 'grad_grouped_courses', 'undergrad_grouped_courses', 'participating_programs'));
1655
+            return View::make('local.managers.shared.print_school', compact('title',  'expected_target_for_undergradprograms', 'expected_target_for_gradprograms', 'undergrad_programs', 'grad_programs', 'default_undergrad', 'default_grad', 'linea_undergrad', 'linea_grad', 'outcomes_grad', 'outcomes_undergrad', 'undergrad_programs', 'grad_programs', 'undergrad_outcomes_attempted', 'grad_outcomes_attempted', 'undergrad_outcomes_achieved', 'grad_outcomes_achieved', 'schools', 'school', 'undergrad_assessed_sections_count', 'grad_assessed_sections_count', 'undergrad_school_sections_count', 'grad_school_sections_count', 'achievedUndergradProgramsPerOutcome', 'achievedGradProgramsPerOutcome', 'attemptedUndergradProgramsPerOutcome', 'attemptedGradProgramsPerOutcome', 'grad_grouped_courses', 'undergrad_grouped_courses', 'participating_programs'));
1502
         } else {
1656
         } else {
1503
             //             return View::make('local.managers.shared.school', compact('title', 'outcomes', 'undergrad_programs', 'grad_programs', 'undergrad_outcomes_attempted', 'grad_outcomes_attempted', 'undergrad_outcomes_achieved', 'grad_outcomes_achieved', 'schools', 'school', 'undergrad_assessed_sections_count', 'grad_assessed_sections_count', 'undergrad_school_sections_count', 'grad_school_sections_count', 'achievedUndergradProgramsPerOutcome', 'achievedGradProgramsPerOutcome', 'attemptedUndergradProgramsPerOutcome', 'attemptedGradProgramsPerOutcome', 'grad_grouped_courses', 'undergrad_grouped_courses', 'participating_programs', 'participating_undergrad_programs', 'participating_grad_programs'));
1657
             //             return View::make('local.managers.shared.school', compact('title', 'outcomes', 'undergrad_programs', 'grad_programs', 'undergrad_outcomes_attempted', 'grad_outcomes_attempted', 'undergrad_outcomes_achieved', 'grad_outcomes_achieved', 'schools', 'school', 'undergrad_assessed_sections_count', 'grad_assessed_sections_count', 'undergrad_school_sections_count', 'grad_school_sections_count', 'achievedUndergradProgramsPerOutcome', 'achievedGradProgramsPerOutcome', 'attemptedUndergradProgramsPerOutcome', 'attemptedGradProgramsPerOutcome', 'grad_grouped_courses', 'undergrad_grouped_courses', 'participating_programs', 'participating_undergrad_programs', 'participating_grad_programs'));
1504
-            return View::make('local.managers.shared.print_school', compact('title',  'default_undergrad', 'default_grad', 'linea_undergrad', 'linea_grad', 'outcomes_grad', 'outcomes_undergrad', 'undergrad_programs', 'grad_programs', 'undergrad_outcomes_attempted', 'grad_outcomes_attempted', 'undergrad_outcomes_achieved', 'grad_outcomes_achieved', 'schools', 'school', 'undergrad_assessed_sections_count', 'grad_assessed_sections_count', 'undergrad_school_sections_count', 'grad_school_sections_count', 'achievedUndergradProgramsPerOutcome', 'achievedGradProgramsPerOutcome', 'attemptedUndergradProgramsPerOutcome', 'attemptedGradProgramsPerOutcome', 'grad_grouped_courses', 'undergrad_grouped_courses', 'participating_programs'));
1658
+            return View::make('local.managers.shared.print_school', compact('title',  'expected_target_for_undergradprograms', 'expected_target_for_gradprograms', 'undergrad_programs', 'grad_programs', 'default_undergrad', 'default_grad', 'linea_undergrad', 'linea_grad', 'outcomes_grad', 'outcomes_undergrad', 'undergrad_programs', 'grad_programs', 'undergrad_outcomes_attempted', 'grad_outcomes_attempted', 'undergrad_outcomes_achieved', 'grad_outcomes_achieved', 'schools', 'school', 'undergrad_assessed_sections_count', 'grad_assessed_sections_count', 'undergrad_school_sections_count', 'grad_school_sections_count', 'achievedUndergradProgramsPerOutcome', 'achievedGradProgramsPerOutcome', 'attemptedUndergradProgramsPerOutcome', 'attemptedGradProgramsPerOutcome', 'grad_grouped_courses', 'undergrad_grouped_courses', 'participating_programs'));
1505
         }
1659
         }
1506
 
1660
 
1507
 
1661
 

+ 28
- 0
app/models/Course.php View File

480
     return $this->getStudentReportForOutcome($this);
480
     return $this->getStudentReportForOutcome($this);
481
   }
481
   }
482
 
482
 
483
+  //cuantos estudiantes tiene este cursos que son del programa
484
+
485
+  public function getQuantityAttribute()
486
+  {
487
+    $query = DB::table('courses')
488
+      ->join('course_student', 'course_student.course_id', '=', 'courses.id')
489
+      ->join('program_student_semester as pcs', function ($j) {
490
+        $j->on('courses.program_id', '=', 'pcs.program_id')
491
+          ->on('course_student.student_id', '=', 'pcs.student_id')
492
+          ->on('courses.semester_id', '=', 'pcs.semester_id');
493
+      });
494
+    if ($this->grouped) {
495
+      $query = $query->where('courses.name', $this->name)
496
+        ->where('courses.code', $this->code)
497
+        ->where('courses.number', $this->number)
498
+        ->where('courses.semester_id', $this->semester_id);
499
+    } else {
500
+      $query = $query->where("courses.id", $this->id);
501
+    }
502
+    $query = $query->select(DB::raw("count( distinct pcs.student_id) as quantity"));
503
+
504
+    $query =  $query->first();
505
+    if (isset($query)) {
506
+      return $query->quantity;
507
+    }
508
+    return 0;
509
+  }
510
+
483
 
511
 
484
   //user id is for groupped professor sections. so el query es  code, number, semester y user_id
512
   //user id is for groupped professor sections. so el query es  code, number, semester y user_id
485
   public static function getStudentReportForOutcome($course_code = null, $user_id = null)
513
   public static function getStudentReportForOutcome($course_code = null, $user_id = null)

+ 240
- 99
app/models/Program.php View File

38
 	}
38
 	}
39
 
39
 
40
 	public function getProgramStudentsPerOutcomeAttribute()
40
 	public function getProgramStudentsPerOutcomeAttribute()
41
-	{ {
41
+	{
42
 
42
 
43
-			$semesters = Semester::whereIn('id', Session::get('semesters_ids'))->get();
43
+		$semesters = Semester::whereIn('id', Session::get('semesters_ids'))->get();
44
 
44
 
45
-			//if ($this->is_graduate == 1) {
46
-			//	$outcomes = Outcome::active_by_semesters($semesters, 1);
47
-			//} else {
48
-			//	$outcomes = Outcome::active_by_semesters($semesters, 0);
49
-			//}
45
+		//if ($this->is_graduate == 1) {
46
+		//	$outcomes = Outcome::active_by_semesters($semesters, 1);
47
+		//} else {
48
+		//	$outcomes = Outcome::active_by_semesters($semesters, 0);
49
+		//}
50
 
50
 
51
-			$outcomes = Outcome::orderBy('name', 'asc')->get();
51
+		$outcomes = Outcome::orderBy('name', 'asc')->get();
52
 
52
 
53
-			$outcome_ids = DB::table("outcomes")
54
-				->whereNotNull('new_outcome_id')
55
-				->get();
53
+		$outcome_ids = DB::table("outcomes")
54
+			->whereNotNull('new_outcome_id')
55
+			->get();
56
 
56
 
57
-			$combined_outcomes = [];
58
-			foreach ($outcome_ids as $outcome) {
59
-				$combined_outcomes[$outcome->id] = $outcome->new_outcome_id;
60
-			}
57
+		$combined_outcomes = [];
58
+		foreach ($outcome_ids as $outcome) {
59
+			$combined_outcomes[$outcome->id] = $outcome->new_outcome_id;
60
+		}
61
 
61
 
62
-			$array_to_send = [];
62
+		$array_to_send = [];
63
 
63
 
64
 
64
 
65
 
65
 
66
-			$students =
67
-				DB::table('assessments')
68
-				->join('activity_criterion', 'activity_criterion.id', '=', 'assessments.activity_criterion_id')
69
-				->join('activities', 'activities.id', '=', 'activity_criterion.activity_id')
70
-				->join('courses', 'courses.id', '=', 'activities.course_id')
71
-				->join('students', 'students.id', '=', 'assessments.student_id')
72
-				->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'activity_criterion.criterion_id')
73
-				->join('rubric_activity', 'rubric_activity.activity_id', '=', 'activities.id')
74
-				->join('rubrics', 'rubrics.id', '=', 'rubric_activity.rubric_id')
75
-				->join('semesters', 'semesters.id', '=', 'courses.semester_id')
76
-				->where('students.program_id', $this->id)
77
-				->whereIn('semester_id', Session::get('semesters_ids'))
78
-				->where('semesters.is_visible', '=', 1)
79
-				->select('student_id', 'students.program_id', 'semesters.code', 'outcome_id', 'criterion_objective_outcome.criterion_id', 'score', 'expected_points')
80
-				->addSelect(DB::raw("count(activity_criterion.criterion_id) as criteria_attempted"))
81
-				->addSelect(DB::raw("count(CASE WHEN score>= expected_points then 1 else null END) as criteria_achieved"))
66
+		$students =
67
+			DB::table('assessments')
68
+			->join('activity_criterion', 'activity_criterion.id', '=', 'assessments.activity_criterion_id')
69
+			->join('activities', 'activities.id', '=', 'activity_criterion.activity_id')
70
+			->join('courses', 'courses.id', '=', 'activities.course_id')
71
+			->join('students', 'students.id', '=', 'assessments.student_id')
72
+			->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'activity_criterion.criterion_id')
73
+			->join('rubric_activity', 'rubric_activity.activity_id', '=', 'activities.id')
74
+			->join('rubrics', 'rubrics.id', '=', 'rubric_activity.rubric_id')
75
+			->join('semesters', 'semesters.id', '=', 'courses.semester_id')
76
+			->where('students.program_id', $this->id)
77
+			->whereIn('semester_id', Session::get('semesters_ids'))
78
+			->where('semesters.is_visible', '=', 1)
79
+			->select('student_id', 'students.program_id', 'semesters.code', 'outcome_id', 'criterion_objective_outcome.criterion_id', 'score', 'expected_points')
80
+			->addSelect(DB::raw("count(activity_criterion.criterion_id) as criteria_attempted"))
81
+			->addSelect(DB::raw("count(CASE WHEN score>= expected_points then 1 else null END) as criteria_achieved"))
82
 
82
 
83
-				->groupBy('students.id', 'outcome_id')
84
-				->get();
83
+			->groupBy('students.id', 'outcome_id')
84
+			->get();
85
 
85
 
86
 
86
 
87
 
87
 
88
 
88
 
89
-			$array_to_send['program_info'] = [];
89
+		$array_to_send['program_info'] = [];
90
 
90
 
91
-			$array_to_send['program_info']['outcomes_attempted'] = [];
92
-			$out_att = [];
93
-			$out_ach = [];
91
+		$array_to_send['program_info']['outcomes_attempted'] = [];
92
+		$out_att = [];
93
+		$out_ach = [];
94
 
94
 
95
-			foreach ($outcomes as $outcome) {
96
-				$out_att[$outcome->id] = 0;
97
-				$out_ach[$outcome->id] = 0;
98
-			}
95
+		foreach ($outcomes as $outcome) {
96
+			$out_att[$outcome->id] = 0;
97
+			$out_ach[$outcome->id] = 0;
98
+		}
99
 
99
 
100
 
100
 
101
-			//las filas son , estudiante, outcome que intentó, criterios_attempted, criterion_achieved, 
102
-			foreach ($students as $result) {
103
-				$crit_att = $result->criteria_attempted;
104
-				$crit_ach = $result->criteria_achieved;
101
+		//las filas son , estudiante, outcome que intentó, criterios_attempted, criterion_achieved, 
102
+		foreach ($students as $result) {
103
+			$crit_att = $result->criteria_attempted;
104
+			$crit_ach = $result->criteria_achieved;
105
 
105
 
106
 
106
 
107
-				$out_att[$result->outcome_id] += 1;
107
+			$out_att[$result->outcome_id] += 1;
108
 
108
 
109
-				if ($crit_att != 0 && ($crit_ach / $crit_att) * 100 >= 66.67) {
110
-					$out_ach[$result->outcome_id] += 1;
111
-				}
109
+			if ($crit_att != 0 && ($crit_ach / $crit_att) * 100 >= 66.67) {
110
+				$out_ach[$result->outcome_id] += 1;
112
 			}
111
 			}
112
+		}
113
 
113
 
114
 
114
 
115
-			$array_to_send['program_info']['outcomes_attempted_uncombined'] = $out_att;
116
-			$array_to_send['program_info']['outcomes_achieved_uncombined'] = $out_ach;
115
+		$array_to_send['program_info']['outcomes_attempted_uncombined'] = $out_att;
116
+		$array_to_send['program_info']['outcomes_achieved_uncombined'] = $out_ach;
117
 
117
 
118
 
118
 
119
-			$the_processed_table = [];
120
-			foreach ($students as $result) {
121
-				$student_id = $result->student_id;
122
-				$outcome_id = $result->outcome_id;
123
-				if (isset($combined_outcomes[$outcome_id]))
124
-					$outcome_id = $combined_outcomes[$outcome_id];
119
+		$the_processed_table = [];
120
+		foreach ($students as $result) {
121
+			$student_id = $result->student_id;
122
+			$outcome_id = $result->outcome_id;
123
+			if (isset($combined_outcomes[$outcome_id]))
124
+				$outcome_id = $combined_outcomes[$outcome_id];
125
 
125
 
126
 
126
 
127
 
127
 
128
-				if (!isset($the_processed_table[$student_id])) {
129
-					$the_processed_table[$student_id] = [];
130
-				}
128
+			if (!isset($the_processed_table[$student_id])) {
129
+				$the_processed_table[$student_id] = [];
130
+			}
131
 
131
 
132
 
132
 
133
-				//si en esta tabla, el estudiante no está pareado con este dominio, entonces registra
134
-				// los criterios, achieved y attempted
135
-				if (!isset($the_processed_table[$student_id][$outcome_id])) {
136
-					$the_processed_table[$student_id][$outcome_id] = array(
137
-						"criteria_attempted" => $result->criteria_attempted,
138
-						"criteria_achieved" => $result->criteria_achieved
139
-					);
140
-				}
141
-				//si este estudiante está pareado a este dominio, significa que ahora estoy en los
142
-				//deprecated outcomes.
143
-				else {
144
-					$the_processed_table[$student_id][$outcome_id]['criteria_attempted'] += $result->criteria_attempted;
145
-					$the_processed_table[$student_id][$outcome_id]['criteria_achieved'] += $result->criteria_achieved;
146
-				}
133
+			//si en esta tabla, el estudiante no está pareado con este dominio, entonces registra
134
+			// los criterios, achieved y attempted
135
+			if (!isset($the_processed_table[$student_id][$outcome_id])) {
136
+				$the_processed_table[$student_id][$outcome_id] = array(
137
+					"criteria_attempted" => $result->criteria_attempted,
138
+					"criteria_achieved" => $result->criteria_achieved
139
+				);
147
 			}
140
 			}
148
-			//Log::info("ESTOY LOCO POR TI");
149
-			//Log::info($the_processed_table);
141
+			//si este estudiante está pareado a este dominio, significa que ahora estoy en los
142
+			//deprecated outcomes.
143
+			else {
144
+				$the_processed_table[$student_id][$outcome_id]['criteria_attempted'] += $result->criteria_attempted;
145
+				$the_processed_table[$student_id][$outcome_id]['criteria_achieved'] += $result->criteria_achieved;
146
+			}
147
+		}
148
+		//Log::info("ESTOY LOCO POR TI");
149
+		//Log::info($the_processed_table);
150
 
150
 
151
-			$out_att = [];
152
-			$out_ach = [];
151
+		$out_att = [];
152
+		$out_ach = [];
153
 
153
 
154
-			foreach ($outcomes as $outcome) {
155
-				$out_att[$outcome->id] = 0;
156
-				$out_ach[$outcome->id] = 0;
157
-			}
154
+		foreach ($outcomes as $outcome) {
155
+			$out_att[$outcome->id] = 0;
156
+			$out_ach[$outcome->id] = 0;
157
+		}
158
 
158
 
159
-			foreach ($the_processed_table as $student_id => $outcome_ids) {
160
-				//Log::info("AQUI");
161
-				//Log::info($outcome_ids);
162
-				foreach ($outcome_ids as $outcome_id => $crit_information) {
163
-					Log::info($crit_information);
164
-					$crit_att = $crit_information['criteria_attempted'];
165
-					$crit_ach = $crit_information['criteria_achieved'];
159
+		foreach ($the_processed_table as $student_id => $outcome_ids) {
160
+			//Log::info("AQUI");
161
+			//Log::info($outcome_ids);
162
+			foreach ($outcome_ids as $outcome_id => $crit_information) {
163
+				//Log::info($crit_information);
164
+				$crit_att = $crit_information['criteria_attempted'];
165
+				$crit_ach = $crit_information['criteria_achieved'];
166
 
166
 
167
 
167
 
168
-					$out_att[$outcome_id] += 1;
168
+				$out_att[$outcome_id] += 1;
169
 
169
 
170
-					if ($crit_att != 0 && ($crit_ach / $crit_att) * 100 >= 66.67) {
171
-						$out_ach[$outcome_id] += 1;
172
-					}
170
+				if ($crit_att != 0 && ($crit_ach / $crit_att) * 100 >= 66.67) {
171
+					$out_ach[$outcome_id] += 1;
173
 				}
172
 				}
174
 			}
173
 			}
174
+		}
175
 
175
 
176
-			$array_to_send['program_info']['outcomes_attempted_combined'] = $out_att;
177
-			$array_to_send['program_info']['outcomes_achieved_combined'] = $out_ach;
176
+		$array_to_send['program_info']['outcomes_attempted_combined'] = $out_att;
177
+		$array_to_send['program_info']['outcomes_achieved_combined'] = $out_ach;
178
 
178
 
179
 
179
 
180
 
180
 
181
 
181
 
182
-			return $array_to_send;
183
-		}
182
+		return $array_to_send;
184
 	}
183
 	}
185
 
184
 
186
 	public function getCriteriaAttribute()
185
 	public function getCriteriaAttribute()
203
 				->get();
202
 				->get();
204
 		}
203
 		}
205
 	}
204
 	}
205
+
206
+	public function getCoursesWithAssessmentCountAttribute()
207
+	{
208
+		return DB::table('courses')
209
+			->join(DB::raw("(SELECT distinct courses.* from courses join activities on activities.course_id = courses.id join activity_criterion on activity_criterion.activity_id = activities.id join assessments on activity_criterion.id = assessments.activity_criterion_id) as q"), function ($j) {
210
+				$j->on('q.semester_id', '=', 'courses.semester_id')
211
+					->on('q.program_id', '=', 'courses.program_id');
212
+			})
213
+			->where('courses.program_id', $this->id)
214
+			->whereIn('courses.semester_id', Session::get('semesters_ids'))
215
+			->select(DB::raw('count(DISTINCT courses.id) as courses_program, count(DISTINCT q.id) as courses_assessed'))
216
+			->first();
217
+	}
218
+
219
+	public function getCoursesStudentsScorePerOutcomeAttribute()
220
+	{
221
+		$outcomes = Outcome::orderBy('name', 'asc')->get();
222
+
223
+		$outcome_ids = DB::table("outcomes")
224
+			->whereNotNull('new_outcome_id')
225
+			->get();
226
+
227
+		$combined_outcomes = [];
228
+		foreach ($outcome_ids as $outcome) {
229
+			$combined_outcomes[$outcome->id] = $outcome->new_outcome_id;
230
+		}
231
+
232
+		$array_to_send = [];
233
+		$students = DB::table('assessments')
234
+			->join('activity_criterion', 'activity_criterion.id', '=', 'assessments.activity_criterion_id')
235
+			->join('activities', 'activities.id', '=', 'activity_criterion.activity_id')
236
+			->join('courses', 'courses.id', '=', 'activities.course_id')
237
+			->join('students', 'students.id', '=', 'assessments.student_id')
238
+			->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'activity_criterion.criterion_id')
239
+			->join('rubric_activity', 'rubric_activity.activity_id', '=', 'activities.id')
240
+			->join('rubrics', 'rubrics.id', '=', 'rubric_activity.rubric_id')
241
+			->join('semesters', 'semesters.id', '=', 'courses.semester_id')
242
+			->where('courses.program_id', $this->id)
243
+			->whereIn('semester_id', Session::get('semesters_ids'))
244
+			->where('semesters.is_visible', '=', 1)
245
+			->select('student_id', 'students.program_id', 'semesters.code', 'outcome_id', 'criterion_objective_outcome.criterion_id', 'score', 'expected_points')
246
+			->addSelect(DB::raw("count(activity_criterion.criterion_id) as criteria_attempted"))
247
+			->addSelect(DB::raw("count(CASE WHEN score>= expected_points then 1 else null END) as criteria_achieved"))
248
+
249
+			->groupBy('students.id', 'outcome_id')
250
+			->get();
251
+		$array_to_send['program_info'] = [];
252
+
253
+		$array_to_send['program_info']['outcomes_attempted'] = [];
254
+		$out_att = [];
255
+		$out_ach = [];
256
+
257
+		foreach ($outcomes as $outcome) {
258
+			$out_att[$outcome->id] = 0;
259
+			$out_ach[$outcome->id] = 0;
260
+		}
261
+
262
+
263
+		//las filas son , estudiante, outcome que intentó, criterios_attempted, criterion_achieved, 
264
+		foreach ($students as $result) {
265
+			$crit_att = $result->criteria_attempted;
266
+			$crit_ach = $result->criteria_achieved;
267
+
268
+
269
+			$out_att[$result->outcome_id] += 1;
270
+
271
+			if ($crit_att != 0 && ($crit_ach / $crit_att) * 100 >= 66.67) {
272
+				$out_ach[$result->outcome_id] += 1;
273
+			}
274
+		}
275
+
276
+
277
+		$array_to_send['program_info']['outcomes_attempted_uncombined'] = $out_att;
278
+		$array_to_send['program_info']['outcomes_achieved_uncombined'] = $out_ach;
279
+
280
+
281
+		$the_processed_table = [];
282
+		foreach ($students as $result) {
283
+			$student_id = $result->student_id;
284
+			$outcome_id = $result->outcome_id;
285
+			if (isset($combined_outcomes[$outcome_id]))
286
+				$outcome_id = $combined_outcomes[$outcome_id];
287
+
288
+
289
+
290
+			if (!isset($the_processed_table[$student_id])) {
291
+				$the_processed_table[$student_id] = [];
292
+			}
293
+
294
+
295
+			//si en esta tabla, el estudiante no está pareado con este dominio, entonces registra
296
+			// los criterios, achieved y attempted
297
+			if (!isset($the_processed_table[$student_id][$outcome_id])) {
298
+				$the_processed_table[$student_id][$outcome_id] = array(
299
+					"criteria_attempted" => $result->criteria_attempted,
300
+					"criteria_achieved" => $result->criteria_achieved
301
+				);
302
+			}
303
+			//si este estudiante está pareado a este dominio, significa que ahora estoy en los
304
+			//deprecated outcomes.
305
+			else {
306
+				$the_processed_table[$student_id][$outcome_id]['criteria_attempted'] += $result->criteria_attempted;
307
+				$the_processed_table[$student_id][$outcome_id]['criteria_achieved'] += $result->criteria_achieved;
308
+			}
309
+		}
310
+		//Log::info("ESTOY LOCO POR TI");
311
+		//Log::info($the_processed_table);
312
+
313
+		$out_att = [];
314
+		$out_ach = [];
315
+
316
+		foreach ($outcomes as $outcome) {
317
+			$out_att[$outcome->id] = 0;
318
+			$out_ach[$outcome->id] = 0;
319
+		}
320
+
321
+		foreach ($the_processed_table as $student_id => $outcome_ids) {
322
+			//Log::info("AQUI");
323
+			//Log::info($outcome_ids);
324
+			foreach ($outcome_ids as $outcome_id => $crit_information) {
325
+				//Log::info($crit_information);
326
+				$crit_att = $crit_information['criteria_attempted'];
327
+				$crit_ach = $crit_information['criteria_achieved'];
328
+
329
+
330
+				$out_att[$outcome_id] += 1;
331
+
332
+				if ($crit_att != 0 && ($crit_ach / $crit_att) * 100 >= 66.67) {
333
+					$out_ach[$outcome_id] += 1;
334
+				}
335
+			}
336
+		}
337
+
338
+		$array_to_send['program_info']['outcomes_attempted_combined'] = $out_att;
339
+		$array_to_send['program_info']['outcomes_achieved_combined'] = $out_ach;
340
+
341
+
342
+
343
+
344
+		return $array_to_send;
345
+	}
206
 	public function templates()
346
 	public function templates()
207
 	{
347
 	{
208
 		return $this->hasMany('Template');
348
 		return $this->hasMany('Template');
353
 			->whereIn('courses.semester_id', $semesters_array)
493
 			->whereIn('courses.semester_id', $semesters_array)
354
 			->count(DB::raw('DISTINCT criterion_objective_outcome.outcome_id'));
494
 			->count(DB::raw('DISTINCT criterion_objective_outcome.outcome_id'));
355
 
495
 
356
-
496
+		/*
357
 		Log::info(DB::table('activity_criterion')
497
 		Log::info(DB::table('activity_criterion')
358
 			->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
498
 			->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
359
 			->join('courses', 'activities.course_id', '=', 'courses.id')
499
 			->join('courses', 'activities.course_id', '=', 'courses.id')
363
 			->where('programs.id', '=', $this->id)
503
 			->where('programs.id', '=', $this->id)
364
 			->whereIn('courses.semester_id', $semesters_array)
504
 			->whereIn('courses.semester_id', $semesters_array)
365
 			->toSql());
505
 			->toSql());
506
+			*/
366
 		return $conteo;
507
 		return $conteo;
367
 	}
508
 	}
368
 
509
 

+ 421
- 6
app/models/School.php View File

59
 
59
 
60
 */
60
 */
61
 
61
 
62
+	public function getSchoolCoursesPerOutcomeAttribute()
63
+	{
64
+		$semesters = Semester::whereIn('id', Session::get('semesters_ids'))->get();
65
+
66
+		$outcomes_grad = Outcome::active_by_semesters($semesters, 1);
67
+		$outcomes_undergrad = Outcome::active_by_semesters($semesters, 0);
68
+
69
+		$outcomes = Outcome::orderBy('name', 'asc')->get();
70
+		$array_to_send = [];
71
+
72
+
73
+
74
+		$undergraduate_students =
75
+			DB::table('assessments')
76
+			->join('activity_criterion', 'activity_criterion.id', '=', 'assessments.activity_criterion_id')
77
+			->join('activities', 'activities.id', '=', 'activity_criterion.activity_id')
78
+			->join('courses', 'courses.id', '=', 'activities.course_id')
79
+			->join('students', 'students.id', '=', 'assessments.student_id')
80
+			->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'activity_criterion.criterion_id')
81
+			->join('rubric_activity', 'rubric_activity.activity_id', '=', 'activities.id')
82
+			->join('rubrics', 'rubrics.id', '=', 'rubric_activity.rubric_id')
83
+			->join('semesters', 'semesters.id', '=', 'courses.semester_id')
84
+			->whereIn('courses.program_id', $this->undergraduate_programs->lists('id'))
85
+			->whereIn('semester_id', Session::get('semesters_ids'))
86
+			->where('semesters.is_visible', '=', 1)
87
+			->select('student_id', 'courses.program_id', 'semesters.code', 'outcome_id', 'criterion_objective_outcome.criterion_id', 'score', 'expected_points')
88
+			->addSelect(DB::raw("count(activity_criterion.criterion_id) as criteria_attempted"))
89
+			->addSelect(DB::raw("count(CASE WHEN score>= expected_points then 1 else null END) as criteria_achieved"))
90
+
91
+			->groupBy('students.id', 'outcome_id');
92
+
93
+		//->get();
94
+
95
+
96
+
97
+		$undergraduate_students = $undergraduate_students->get();
98
+
99
+		//$array_to_send["undergraduate_students"] = $undergraduate_students;
100
+
101
+		$graduate_students = DB::table('assessments')
102
+			->join('activity_criterion', 'activity_criterion.id', '=', 'assessments.activity_criterion_id')
103
+			->join('activities', 'activities.id', '=', 'activity_criterion.activity_id')
104
+			->join('courses', 'courses.id', '=', 'activities.course_id')
105
+			->join('students', 'students.id', '=', 'assessments.student_id')
106
+			->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'activity_criterion.criterion_id')
107
+			->join('rubric_activity', 'rubric_activity.activity_id', '=', 'activities.id')
108
+			->join('rubrics', 'rubrics.id', '=', 'rubric_activity.rubric_id')
109
+			->join('semesters', 'semesters.id', '=', 'courses.semester_id')
110
+			->whereIn('courses.program_id', $this->graduate_programs->lists('id'))
111
+			->whereIn('semester_id', Session::get('semesters_ids'))
112
+			->where('semesters.is_visible', '=', 1)
113
+			->select('student_id', 'courses.program_id', 'semesters.code', 'outcome_id', 'criterion_objective_outcome.criterion_id', 'score', 'expected_points')
114
+			->addSelect(DB::raw("count(activity_criterion.criterion_id) as criteria_attempted"))
115
+			->addSelect(DB::raw("count(CASE WHEN score>= expected_points then 1 else null END) as criteria_achieved"))
116
+
117
+			->groupBy('students.id', 'outcome_id', 'courses.program_id')
118
+			->get();
119
+
120
+		//$array_to_send["graduate_students"] = $graduate_students;
121
+
122
+		//Log::info(count($graduate_students));
123
+		//Log::info(count($undergraduate_students));
124
+
125
+		$outcome_ids = DB::table("outcomes")
126
+			->whereNotNull('new_outcome_id')
127
+			->get();
128
+
129
+		$combined_outcomes = [];
130
+		foreach ($outcome_ids as $outcome) {
131
+			$combined_outcomes[$outcome->id] = $outcome->new_outcome_id;
132
+		}
133
+
134
+		//Necesito undergraduateCombined, undergraduateUncombined, 
135
+		//lo mismo pa graduate 
136
+
137
+		$array_to_send['undergraduate_info'] = [];
138
+		$array_to_send['graduate_info'] = [];
139
+
140
+		$array_to_send['undergraduate_info']['outcomes_attempted_uncombined'] = [];
141
+		$array_to_send['undergraduate_info']['outcomes_achieved_uncombined'] = [];
142
+		$array_to_send['graduate_info']['outcomes_attempted_uncombined']  = [];
143
+		$array_to_send['graduate_info']['outcomes_achieved_uncombined'] = [];
144
+
145
+		$under_out_att = [];
146
+		$under_out_ach = [];
147
+		$program_out_att = [];
148
+		$program_out_ach = [];
149
+
150
+		foreach ($outcomes as $outcome) {
151
+			$under_out_att[$outcome->id] = 0;
152
+			$under_out_ach[$outcome->id] = 0;
153
+			$program_out_att[$outcome->id] = [];
154
+			$program_out_ach[$outcome->id] = [];
155
+		}
156
+
157
+		//Para los programas attempted, voy a tener, un arreglo por dominio, y cada dominio tendra
158
+		//indices por cada programa, y cada programa tendrá conteo del estudiantes que intentaron y 
159
+		// estudiantes que fallaron. 
160
+
161
+		//las filas son , estudiante, outcome que intentó, criterios_attempted, criterion_achieved, 
162
+		foreach ($undergraduate_students as $result) {
163
+			$crit_att = $result->criteria_attempted;
164
+			$crit_ach = $result->criteria_achieved;
165
+
166
+			$program_id = $result->program_id;
167
+
168
+			if (!isset($program_out_att[$result->outcome_id][$program_id])) {
169
+				$program_out_att[$result->outcome_id][$program_id] = 0;
170
+			}
171
+
172
+			$program_out_att[$result->outcome_id][$program_id] += 1;
173
+
174
+			$under_out_att[$result->outcome_id] += 1;
175
+
176
+
177
+
178
+			if ($crit_att != 0 && ($crit_ach / $crit_att) * 100 >= 66.67) {
179
+				if (!isset($program_out_ach[$result->outcome_id][$program_id])) {
180
+					$program_out_ach[$result->outcome_id][$program_id] = 0;
181
+				}
182
+				$program_out_ach[$result->outcome_id][$program_id] += 1;
183
+				$under_out_ach[$result->outcome_id] += 1;
184
+			}
185
+		}
186
+
187
+		$array_to_send['undergraduate_info']['programs_attempted_uncombined'] = $program_out_att;
188
+		$array_to_send['undergraduate_info']['programs_achieved_uncombined'] = $program_out_ach;
189
+
190
+		$array_to_send['undergraduate_info']['outcomes_attempted_uncombined'] = $under_out_att;
191
+		$array_to_send['undergraduate_info']['outcomes_achieved_uncombined'] = $under_out_ach;
192
+
193
+		$grad_out_att = [];
194
+		$grad_out_ach = [];
195
+
196
+		foreach ($outcomes as $outcome) {
197
+			$grad_out_att[$outcome->id] = 0;
198
+			$grad_out_ach[$outcome->id] = 0;
199
+			$program_out_att[$outcome->id] = [];
200
+			$program_out_ach[$outcome->id] = [];
201
+		}
202
+
203
+
204
+		//las filas son , estudiante, outcome que intentó, criterios_attempted, criterion_achieved, 
205
+		foreach ($graduate_students as $result) {
206
+			$crit_att = $result->criteria_attempted;
207
+			$crit_ach = $result->criteria_achieved;
208
+
209
+			$program_id = $result->program_id;
210
+
211
+			if (!isset($program_out_att[$result->outcome_id][$program_id])) {
212
+				$program_out_att[$result->outcome_id][$program_id] = 0;
213
+			}
214
+			$program_out_att[$result->outcome_id][$program_id] += 1;
215
+
216
+
217
+			$grad_out_att[$result->outcome_id] += 1;
218
+
219
+			if ($crit_att != 0 && ($crit_ach / $crit_att) * 100 >= 66.67) {
220
+				if (!isset($program_out_ach[$result->outcome_id][$program_id])) {
221
+					$program_out_ach[$result->outcome_id][$program_id] = 0;
222
+				}
223
+				$program_out_ach[$result->outcome_id][$program_id] += 1;
224
+				$grad_out_ach[$result->outcome_id] += 1;
225
+			}
226
+		}
227
+
228
+		$array_to_send['graduate_info']['outcomes_attempted_uncombined'] = $grad_out_att;
229
+		$array_to_send['graduate_info']['outcomes_achieved_uncombined'] = $grad_out_ach;
230
+		$array_to_send['graduate_info']['programs_attempted_uncombined'] = $program_out_att;
231
+		$array_to_send['graduate_info']['programs_achieved_uncombined'] = $program_out_ach;
232
+
233
+
234
+
235
+
236
+		$array_to_send['undergraduate_info']['outcomes_attempted_combined'] = [];
237
+		$array_to_send['undergraduate_info']['outcomes_achieved_combined'] = [];
238
+		$array_to_send['graduate_info']['outcomes_attempted_combined']  = [];
239
+		$array_to_send['graduate_info']['outcomes_achieved_combined'] = [];
240
+
241
+		$under_out_att = [];
242
+		$under_out_ach = [];
243
+
244
+		foreach ($outcomes as $outcome) {
245
+			$under_out_att[$outcome->id] = 0;
246
+			$under_out_ach[$outcome->id] = 0;
247
+			$program_out_att[$outcome->id] = [];
248
+			$program_out_ach[$outcome->id] = [];
249
+		}
250
+
251
+		//preprocess para combined_students
252
+
253
+		$the_processed_table = [];
254
+		foreach ($undergraduate_students as $result) {
255
+			$student_id = $result->student_id;
256
+			$outcome_id = $result->outcome_id;
257
+			if (isset($combined_outcomes[$outcome_id]))
258
+				$outcome_id = $combined_outcomes[$outcome_id];
259
+
260
+
261
+
262
+			if (!isset($the_processed_table[$student_id])) {
263
+				$the_processed_table[$student_id] = [];
264
+			}
265
+
266
+
267
+			//si en esta tabla, el estudiante no está pareado con este dominio, entonces registra
268
+			// los criterios, achieved y attempted
269
+			if (!isset($the_processed_table[$student_id][$outcome_id])) {
270
+				$the_processed_table[$student_id][$outcome_id] = array(
271
+					"criteria_attempted" => $result->criteria_attempted,
272
+					"criteria_achieved" => $result->criteria_achieved,
273
+					"program_id" => $result->program_id
274
+				);
275
+			}
276
+			//si este estudiante está pareado a este dominio, significa que ahora estoy en los
277
+			//deprecated outcomes.
278
+			else {
279
+				$the_processed_table[$student_id][$outcome_id]['criteria_attempted'] += $result->criteria_attempted;
280
+				$the_processed_table[$student_id][$outcome_id]['criteria_achieved'] += $result->criteria_achieved;
281
+			}
282
+		}
283
+
284
+
285
+		foreach ($the_processed_table as $student_id => $outcome_ids) {
286
+			foreach ($outcome_ids as $outcome_id => $crit_information) {
287
+				$crit_att = $crit_information['criteria_attempted'];
288
+				$crit_ach = $crit_information['criteria_achieved'];
289
+				$program_id = $crit_information['program_id'];
290
+
291
+
292
+				$under_out_att[$outcome_id] += 1;
293
+
294
+
295
+				if (!isset($program_out_att[$outcome_id][$program_id])) {
296
+					$program_out_att[$outcome_id][$program_id] = 0;
297
+				}
298
+
299
+				$program_out_att[$outcome_id][$program_id] += 1;
300
+
301
+				if ($crit_att != 0 && ($crit_ach / $crit_att) * 100 >= 66.67) {
302
+					if (!isset($program_out_ach[$outcome_id][$program_id])) {
303
+						$program_out_ach[$outcome_id][$program_id] = 0;
304
+					}
305
+					$program_out_ach[$outcome_id][$program_id] += 1;
306
+					$under_out_ach[$outcome_id] += 1;
307
+				}
308
+			}
309
+		}
310
+
311
+		$array_to_send['undergraduate_info']['outcomes_attempted_combined'] = $under_out_att;
312
+		$array_to_send['undergraduate_info']['outcomes_achieved_combined'] = $under_out_ach;
313
+		$array_to_send['undergraduate_info']['programs_attempted_combined'] = $program_out_att;
314
+		$array_to_send['undergraduate_info']['programs_achieved_combined'] = $program_out_ach;
315
+
316
+
317
+		$grad_out_att = [];
318
+		$grad_out_ach = [];
319
+
320
+		foreach ($outcomes as $outcome) {
321
+			$grad_out_att[$outcome->id] = 0;
322
+			$grad_out_ach[$outcome->id] = 0;
323
+			$program_out_att[$outcome->id] = [];
324
+			$program_out_ach[$outcome->id] = [];
325
+		}
326
+
327
+		//preprocess para combined_students
328
+
329
+		$the_processed_table = [];
330
+		foreach ($graduate_students as $result) {
331
+			$student_id = $result->student_id;
332
+			$outcome_id = $result->outcome_id;
333
+			if (isset($combined_outcomes[$outcome_id]))
334
+				$outcome_id = $combined_outcomes[$outcome_id];
335
+
336
+
337
+
338
+			if (!isset($the_processed_table[$student_id])) {
339
+				$the_processed_table[$student_id] = [];
340
+			}
341
+
342
+
343
+			//si en esta tabla, el estudiante no está pareado con este dominio, entonces registra
344
+			// los criterios, achieved y attempted
345
+			if (!isset($the_processed_table[$student_id][$outcome_id])) {
346
+				$the_processed_table[$student_id][$outcome_id] = array(
347
+					"criteria_attempted" => $result->criteria_attempted,
348
+					"criteria_achieved" => $result->criteria_achieved,
349
+					'program_id' => $result->program_id
350
+				);
351
+			}
352
+			//si este estudiante está pareado a este dominio, significa que ahora estoy en los
353
+			//deprecated outcomes.
354
+			else {
355
+				$the_processed_table[$student_id][$outcome_id]['criteria_attempted'] += $result->criteria_attempted;
356
+				$the_processed_table[$student_id][$outcome_id]['criteria_achieved'] += $result->criteria_achieved;
357
+			}
358
+		}
359
+
360
+
361
+
362
+
363
+		foreach ($the_processed_table as $student_id => $outcome_ids) {
364
+			foreach ($outcome_ids as $out_id => $crit_information) {
365
+				$crit_att = $crit_information['criteria_attempted'];
366
+				$crit_ach = $crit_information['criteria_achieved'];
367
+				$program_id = $crit_information['program_id'];
368
+
369
+
370
+				$grad_out_att[$out_id] += 1;
371
+
372
+				if (!isset($program_out_att[$out_id][$program_id])) {
373
+					$program_out_att[$out_id][$program_id] = 0;
374
+				}
375
+
376
+				$program_out_att[$out_id][$program_id] += 1;
377
+
378
+				if ($crit_att != 0 && ($crit_ach / $crit_att) * 100 >= 66.67) {
379
+					if (!isset($program_out_ach[$out_id][$program_id])) {
380
+						$program_out_ach[$out_id][$program_id] = 0;
381
+					}
382
+					$program_out_ach[$out_id][$program_id] += 1;
383
+					$grad_out_ach[$out_id] += 1;
384
+				}
385
+			}
386
+		}
387
+
388
+		$array_to_send['graduate_info']['outcomes_attempted_combined'] = $grad_out_att;
389
+		$array_to_send['graduate_info']['outcomes_achieved_combined'] = $grad_out_ach;
390
+		$array_to_send['graduate_info']['programs_attempted_combined'] = $program_out_att;
391
+		$array_to_send['graduate_info']['programs_achieved_combined'] = $program_out_ach;
392
+
393
+		Log::info($array_to_send);
394
+		return $array_to_send;
395
+	}
396
+
397
+
62
 	public function getSchoolStudentsPerOutcomeAttribute()
398
 	public function getSchoolStudentsPerOutcomeAttribute()
63
 	{
399
 	{
64
 
400
 
89
 			->addSelect(DB::raw("count(activity_criterion.criterion_id) as criteria_attempted"))
425
 			->addSelect(DB::raw("count(activity_criterion.criterion_id) as criteria_attempted"))
90
 			->addSelect(DB::raw("count(CASE WHEN score>= expected_points then 1 else null END) as criteria_achieved"))
426
 			->addSelect(DB::raw("count(CASE WHEN score>= expected_points then 1 else null END) as criteria_achieved"))
91
 
427
 
92
-			->groupBy('students.id', 'outcome_id')
93
-			->get();
428
+			->groupBy('students.id', 'outcome_id');
429
+
430
+		//->get();
431
+
432
+
433
+
434
+		$undergraduate_students = $undergraduate_students->get();
94
 
435
 
95
 		//$array_to_send["undergraduate_students"] = $undergraduate_students;
436
 		//$array_to_send["undergraduate_students"] = $undergraduate_students;
96
 
437
 
140
 
481
 
141
 		$under_out_att = [];
482
 		$under_out_att = [];
142
 		$under_out_ach = [];
483
 		$under_out_ach = [];
484
+		$program_out_att = [];
485
+		$program_out_ach = [];
143
 
486
 
144
 		foreach ($outcomes as $outcome) {
487
 		foreach ($outcomes as $outcome) {
145
 			$under_out_att[$outcome->id] = 0;
488
 			$under_out_att[$outcome->id] = 0;
146
 			$under_out_ach[$outcome->id] = 0;
489
 			$under_out_ach[$outcome->id] = 0;
490
+			$program_out_att[$outcome->id] = [];
491
+			$program_out_ach[$outcome->id] = [];
147
 		}
492
 		}
148
 
493
 
494
+		//Para los programas attempted, voy a tener, un arreglo por dominio, y cada dominio tendra
495
+		//indices por cada programa, y cada programa tendrá conteo del estudiantes que intentaron y 
496
+		// estudiantes que fallaron. 
149
 
497
 
150
 		//las filas son , estudiante, outcome que intentó, criterios_attempted, criterion_achieved, 
498
 		//las filas son , estudiante, outcome que intentó, criterios_attempted, criterion_achieved, 
151
 		foreach ($undergraduate_students as $result) {
499
 		foreach ($undergraduate_students as $result) {
152
 			$crit_att = $result->criteria_attempted;
500
 			$crit_att = $result->criteria_attempted;
153
 			$crit_ach = $result->criteria_achieved;
501
 			$crit_ach = $result->criteria_achieved;
154
 
502
 
503
+			$program_id = $result->program_id;
504
+
505
+			if (!isset($program_out_att[$result->outcome_id][$program_id])) {
506
+				$program_out_att[$result->outcome_id][$program_id] = 0;
507
+			}
508
+
509
+			$program_out_att[$result->outcome_id][$program_id] += 1;
155
 
510
 
156
 			$under_out_att[$result->outcome_id] += 1;
511
 			$under_out_att[$result->outcome_id] += 1;
157
 
512
 
513
+
514
+
158
 			if ($crit_att != 0 && ($crit_ach / $crit_att) * 100 >= 66.67) {
515
 			if ($crit_att != 0 && ($crit_ach / $crit_att) * 100 >= 66.67) {
516
+				if (!isset($program_out_ach[$result->outcome_id][$program_id])) {
517
+					$program_out_ach[$result->outcome_id][$program_id] = 0;
518
+				}
519
+				$program_out_ach[$result->outcome_id][$program_id] += 1;
159
 				$under_out_ach[$result->outcome_id] += 1;
520
 				$under_out_ach[$result->outcome_id] += 1;
160
 			}
521
 			}
161
 		}
522
 		}
162
 
523
 
524
+		$array_to_send['undergraduate_info']['programs_attempted_uncombined'] = $program_out_att;
525
+		$array_to_send['undergraduate_info']['programs_achieved_uncombined'] = $program_out_ach;
526
+
527
+		$array_to_send['undergraduate_info']['outcomes_attempted_uncombined'] = $under_out_att;
528
+		$array_to_send['undergraduate_info']['outcomes_achieved_uncombined'] = $under_out_ach;
529
+
163
 		$grad_out_att = [];
530
 		$grad_out_att = [];
164
 		$grad_out_ach = [];
531
 		$grad_out_ach = [];
165
 
532
 
166
 		foreach ($outcomes as $outcome) {
533
 		foreach ($outcomes as $outcome) {
167
 			$grad_out_att[$outcome->id] = 0;
534
 			$grad_out_att[$outcome->id] = 0;
168
 			$grad_out_ach[$outcome->id] = 0;
535
 			$grad_out_ach[$outcome->id] = 0;
536
+			$program_out_att[$outcome->id] = [];
537
+			$program_out_ach[$outcome->id] = [];
169
 		}
538
 		}
170
 
539
 
171
 
540
 
174
 			$crit_att = $result->criteria_attempted;
543
 			$crit_att = $result->criteria_attempted;
175
 			$crit_ach = $result->criteria_achieved;
544
 			$crit_ach = $result->criteria_achieved;
176
 
545
 
546
+			$program_id = $result->program_id;
547
+
548
+			if (!isset($program_out_att[$result->outcome_id][$program_id])) {
549
+				$program_out_att[$result->outcome_id][$program_id] = 0;
550
+			}
551
+			$program_out_att[$result->outcome_id][$program_id] += 1;
552
+
177
 
553
 
178
 			$grad_out_att[$result->outcome_id] += 1;
554
 			$grad_out_att[$result->outcome_id] += 1;
179
 
555
 
180
 			if ($crit_att != 0 && ($crit_ach / $crit_att) * 100 >= 66.67) {
556
 			if ($crit_att != 0 && ($crit_ach / $crit_att) * 100 >= 66.67) {
557
+				if (!isset($program_out_ach[$result->outcome_id][$program_id])) {
558
+					$program_out_ach[$result->outcome_id][$program_id] = 0;
559
+				}
560
+				$program_out_ach[$result->outcome_id][$program_id] += 1;
181
 				$grad_out_ach[$result->outcome_id] += 1;
561
 				$grad_out_ach[$result->outcome_id] += 1;
182
 			}
562
 			}
183
 		}
563
 		}
184
 
564
 
185
-		$array_to_send['undergraduate_info']['outcomes_attempted_uncombined'] = $under_out_att;
186
-		$array_to_send['undergraduate_info']['outcomes_achieved_uncombined'] = $under_out_ach;
187
 		$array_to_send['graduate_info']['outcomes_attempted_uncombined'] = $grad_out_att;
565
 		$array_to_send['graduate_info']['outcomes_attempted_uncombined'] = $grad_out_att;
188
 		$array_to_send['graduate_info']['outcomes_achieved_uncombined'] = $grad_out_ach;
566
 		$array_to_send['graduate_info']['outcomes_achieved_uncombined'] = $grad_out_ach;
567
+		$array_to_send['graduate_info']['programs_attempted_uncombined'] = $program_out_att;
568
+		$array_to_send['graduate_info']['programs_achieved_uncombined'] = $program_out_ach;
569
+
189
 
570
 
190
 
571
 
191
 
572
 
200
 		foreach ($outcomes as $outcome) {
581
 		foreach ($outcomes as $outcome) {
201
 			$under_out_att[$outcome->id] = 0;
582
 			$under_out_att[$outcome->id] = 0;
202
 			$under_out_ach[$outcome->id] = 0;
583
 			$under_out_ach[$outcome->id] = 0;
584
+			$program_out_att[$outcome->id] = [];
585
+			$program_out_ach[$outcome->id] = [];
203
 		}
586
 		}
204
 
587
 
205
 		//preprocess para combined_students
588
 		//preprocess para combined_students
223
 			if (!isset($the_processed_table[$student_id][$outcome_id])) {
606
 			if (!isset($the_processed_table[$student_id][$outcome_id])) {
224
 				$the_processed_table[$student_id][$outcome_id] = array(
607
 				$the_processed_table[$student_id][$outcome_id] = array(
225
 					"criteria_attempted" => $result->criteria_attempted,
608
 					"criteria_attempted" => $result->criteria_attempted,
226
-					"criteria_achieved" => $result->criteria_achieved
609
+					"criteria_achieved" => $result->criteria_achieved,
610
+					"program_id" => $result->program_id
227
 				);
611
 				);
228
 			}
612
 			}
229
 			//si este estudiante está pareado a este dominio, significa que ahora estoy en los
613
 			//si este estudiante está pareado a este dominio, significa que ahora estoy en los
239
 			foreach ($outcome_ids as $outcome_id => $crit_information) {
623
 			foreach ($outcome_ids as $outcome_id => $crit_information) {
240
 				$crit_att = $crit_information['criteria_attempted'];
624
 				$crit_att = $crit_information['criteria_attempted'];
241
 				$crit_ach = $crit_information['criteria_achieved'];
625
 				$crit_ach = $crit_information['criteria_achieved'];
626
+				$program_id = $crit_information['program_id'];
242
 
627
 
243
 
628
 
244
 				$under_out_att[$outcome_id] += 1;
629
 				$under_out_att[$outcome_id] += 1;
245
 
630
 
631
+
632
+				if (!isset($program_out_att[$outcome_id][$program_id])) {
633
+					$program_out_att[$outcome_id][$program_id] = 0;
634
+				}
635
+
636
+				$program_out_att[$outcome_id][$program_id] += 1;
637
+
246
 				if ($crit_att != 0 && ($crit_ach / $crit_att) * 100 >= 66.67) {
638
 				if ($crit_att != 0 && ($crit_ach / $crit_att) * 100 >= 66.67) {
639
+					if (!isset($program_out_ach[$outcome_id][$program_id])) {
640
+						$program_out_ach[$outcome_id][$program_id] = 0;
641
+					}
642
+					$program_out_ach[$outcome_id][$program_id] += 1;
247
 					$under_out_ach[$outcome_id] += 1;
643
 					$under_out_ach[$outcome_id] += 1;
248
 				}
644
 				}
249
 			}
645
 			}
251
 
647
 
252
 		$array_to_send['undergraduate_info']['outcomes_attempted_combined'] = $under_out_att;
648
 		$array_to_send['undergraduate_info']['outcomes_attempted_combined'] = $under_out_att;
253
 		$array_to_send['undergraduate_info']['outcomes_achieved_combined'] = $under_out_ach;
649
 		$array_to_send['undergraduate_info']['outcomes_achieved_combined'] = $under_out_ach;
650
+		$array_to_send['undergraduate_info']['programs_attempted_combined'] = $program_out_att;
651
+		$array_to_send['undergraduate_info']['programs_achieved_combined'] = $program_out_ach;
254
 
652
 
255
 
653
 
256
 		$grad_out_att = [];
654
 		$grad_out_att = [];
259
 		foreach ($outcomes as $outcome) {
657
 		foreach ($outcomes as $outcome) {
260
 			$grad_out_att[$outcome->id] = 0;
658
 			$grad_out_att[$outcome->id] = 0;
261
 			$grad_out_ach[$outcome->id] = 0;
659
 			$grad_out_ach[$outcome->id] = 0;
660
+			$program_out_att[$outcome->id] = [];
661
+			$program_out_ach[$outcome->id] = [];
262
 		}
662
 		}
263
 
663
 
264
 		//preprocess para combined_students
664
 		//preprocess para combined_students
282
 			if (!isset($the_processed_table[$student_id][$outcome_id])) {
682
 			if (!isset($the_processed_table[$student_id][$outcome_id])) {
283
 				$the_processed_table[$student_id][$outcome_id] = array(
683
 				$the_processed_table[$student_id][$outcome_id] = array(
284
 					"criteria_attempted" => $result->criteria_attempted,
684
 					"criteria_attempted" => $result->criteria_attempted,
285
-					"criteria_achieved" => $result->criteria_achieved
685
+					"criteria_achieved" => $result->criteria_achieved,
686
+					'program_id' => $result->program_id
286
 				);
687
 				);
287
 			}
688
 			}
288
 			//si este estudiante está pareado a este dominio, significa que ahora estoy en los
689
 			//si este estudiante está pareado a este dominio, significa que ahora estoy en los
300
 			foreach ($outcome_ids as $out_id => $crit_information) {
701
 			foreach ($outcome_ids as $out_id => $crit_information) {
301
 				$crit_att = $crit_information['criteria_attempted'];
702
 				$crit_att = $crit_information['criteria_attempted'];
302
 				$crit_ach = $crit_information['criteria_achieved'];
703
 				$crit_ach = $crit_information['criteria_achieved'];
704
+				$program_id = $crit_information['program_id'];
303
 
705
 
304
 
706
 
305
 				$grad_out_att[$out_id] += 1;
707
 				$grad_out_att[$out_id] += 1;
306
 
708
 
709
+				if (!isset($program_out_att[$out_id][$program_id])) {
710
+					$program_out_att[$out_id][$program_id] = 0;
711
+				}
712
+
713
+				$program_out_att[$out_id][$program_id] += 1;
714
+
307
 				if ($crit_att != 0 && ($crit_ach / $crit_att) * 100 >= 66.67) {
715
 				if ($crit_att != 0 && ($crit_ach / $crit_att) * 100 >= 66.67) {
716
+					if (!isset($program_out_ach[$out_id][$program_id])) {
717
+						$program_out_ach[$out_id][$program_id] = 0;
718
+					}
719
+					$program_out_ach[$out_id][$program_id] += 1;
308
 					$grad_out_ach[$out_id] += 1;
720
 					$grad_out_ach[$out_id] += 1;
309
 				}
721
 				}
310
 			}
722
 			}
312
 
724
 
313
 		$array_to_send['graduate_info']['outcomes_attempted_combined'] = $grad_out_att;
725
 		$array_to_send['graduate_info']['outcomes_attempted_combined'] = $grad_out_att;
314
 		$array_to_send['graduate_info']['outcomes_achieved_combined'] = $grad_out_ach;
726
 		$array_to_send['graduate_info']['outcomes_achieved_combined'] = $grad_out_ach;
727
+		$array_to_send['graduate_info']['programs_attempted_combined'] = $program_out_att;
728
+		$array_to_send['graduate_info']['programs_achieved_combined'] = $program_out_ach;
729
+
315
 		Log::info($array_to_send);
730
 		Log::info($array_to_send);
316
 		return $array_to_send;
731
 		return $array_to_send;
317
 	}
732
 	}

+ 14
- 1
app/routes.php View File

182
     );
182
     );
183
 
183
 
184
 
184
 
185
+
186
+
185
     Route::post('postAnnualReport/{annual_id?}', 'AnnualPlansController@postAnnualReport');
187
     Route::post('postAnnualReport/{annual_id?}', 'AnnualPlansController@postAnnualReport');
186
     Route::get('printAnnualPlan/{annual_plan?}/{submit?}', 'AnnualPlansController@printAnnualPlan');
188
     Route::get('printAnnualPlan/{annual_plan?}/{submit?}', 'AnnualPlansController@printAnnualPlan');
187
     Route::post('checkIfPlanReady', 'AnnualPlansController@checkIfPlanReady');
189
     Route::post('checkIfPlanReady', 'AnnualPlansController@checkIfPlanReady');
397
     Route::post('transformativeAction/objectivesFromOutcome', array('before' => 'csrf', 'uses' => 'TransformativeActionsController@objectivesFromOutcome'));
399
     Route::post('transformativeAction/objectivesFromOutcome', array('before' => 'csrf', 'uses' => 'TransformativeActionsController@objectivesFromOutcome'));
398
 
400
 
399
 
401
 
402
+    //shared print_program and school
403
+
404
+    Route::get('print_program_students/{program_id}', 'ProgramsController@print_program_students');
405
+    Route::get('print_school_students_report/{school_id}', 'SchoolsController@print_school_students_report');
406
+
407
+
400
     /**
408
     /**
401
      * Administrator Routes
409
      * Administrator Routes
402
      */
410
      */
481
     Route::group(array('before' => 'scoord'), function () {
489
     Route::group(array('before' => 'scoord'), function () {
482
         Route::get('school-coordinator-test', 'SchoolCoordinatorsController@overview_test');
490
         Route::get('school-coordinator-test', 'SchoolCoordinatorsController@overview_test');
483
         Route::get('school-coordinator', 'SchoolCoordinatorsController@overview');
491
         Route::get('school-coordinator', 'SchoolCoordinatorsController@overview');
484
-        Route::get('school/{id}', 'SchoolsController@show');
492
+        Route::get('school/{id}', array(
493
+            'as' => 'school-coordinator',
494
+            'uses' => 'SchoolsController@show'
495
+        ));
496
+
485
         Route::get('program/{id}', 'ProgramsController@show');
497
         Route::get('program/{id}', 'ProgramsController@show');
486
         Route::post('programs/report', 'ProgramsController@showReport');
498
         Route::post('programs/report', 'ProgramsController@showReport');
487
         Route::get('template/{template}', 'TemplatesController@show');
499
         Route::get('template/{template}', 'TemplatesController@show');
680
         Route::post('activities/{id}', array('before' => 'csrf', 'uses' => 'ActivitiesController@create'));
692
         Route::post('activities/{id}', array('before' => 'csrf', 'uses' => 'ActivitiesController@create'));
681
         Route::get('students', 'StudentsController@students');
693
         Route::get('students', 'StudentsController@students');
682
         Route::get('program', 'ProfessorsController@program');
694
         Route::get('program', 'ProfessorsController@program');
695
+        Route::get("program_students/{program_id}", 'ProgramsController@studentsProgramAssessmentReportForProfessors');
683
         Route::get('personal-information', 'ProfessorsController@personalInformation');
696
         Route::get('personal-information', 'ProfessorsController@personalInformation');
684
         Route::get('manual', 'ProfessorsController@manual');
697
         Route::get('manual', 'ProfessorsController@manual');
685
         Route::post('loadRubric', array('before' => 'csrf', 'uses' => 'RubricsController@fetch'));
698
         Route::post('loadRubric', array('before' => 'csrf', 'uses' => 'RubricsController@fetch'));

+ 9
- 6
app/views/local/managers/pCoords/overview.blade.php View File

22
 
22
 
23
                 <br>
23
                 <br>
24
                 <br>
24
                 <br>
25
+                <div class="btn-group pull-left">
26
+                    <a href="{{ action('ProgramsController@studentProgramAssessmentReport', array($program_item['program']->id)); }}" class="btn btn-primary pull-left" alt="print">Go to Performance by Program Students</a>
27
+
28
+                </div>
25
                 <div class="btn-group pull-right">
29
                 <div class="btn-group pull-right">
26
                      <a href="{{ action('ProgramsController@print_program', array($program_item['program']->id)); }}" class="btn btn-primary" alt="print"><span class="glyphicon glyphicon-print"></span></a>
30
                      <a href="{{ action('ProgramsController@print_program', array($program_item['program']->id)); }}" class="btn btn-primary" alt="print"><span class="glyphicon glyphicon-print"></span></a>
27
-                <button type='button' class = 'btn btn-primary' id="change-view-btn{{$index}}" onclick="changeView('#allGraph{{$index}}','#programGraph{{$index}}', {{$index}}, 'Show Program Courses')">Show Program Students</button>
28
-                </div>
31
+                  </div>
29
                 <br>
32
                 <br>
30
                 <br>
33
                 <br>
31
 
34
 
298
             e.preventDefault()
301
             e.preventDefault()
299
             $(this).tab('show');
302
             $(this).tab('show');
300
         });
303
         });
301
-
304
+ 
302
         $('#graph{{$index}}').highcharts({
305
         $('#graph{{$index}}').highcharts({
303
             chart: {
306
             chart: {
304
                 type: 'bar'
307
                 type: 'bar'
445
                 ]
448
                 ]
446
             }]
449
             }]
447
         });
450
         });
448
-
451
+{{--}}
449
         $('#graph-stu-program{{$index}}').highcharts({
452
         $('#graph-stu-program{{$index}}').highcharts({
450
             chart: {
453
             chart: {
451
                 type: 'bar'
454
                 type: 'bar'
563
                     @endforeach
566
                     @endforeach
564
                 ]
567
                 ]
565
 
568
 
566
-            },--}}{
569
+            },{
567
                 name: 'Obtained Value',
570
                 name: 'Obtained Value',
568
                 color: '#e70033',
571
                 color: '#e70033',
569
                 dataLabels: {
572
                 dataLabels: {
591
                     @endforeach
594
                     @endforeach
592
                 ]
595
                 ]
593
             }]
596
             }]
594
-        });
597
+        });--}}
595
 
598
 
596
     });
599
     });
597
 @endforeach
600
 @endforeach

+ 3
- 141
app/views/local/managers/shared/print_program.blade.php View File

16
 @section('main')
16
 @section('main')
17
 
17
 
18
 <div class = "col-md-8" id="graph"></div>
18
 <div class = "col-md-8" id="graph"></div>
19
-<div class = 'col-md-4'></div>
20
-<div class = "col-md-8" id="graph-stu-program"></div>
21
-<div class = 'col-md-4'></div>
19
+
20
+
21
+
22
 
22
 
23
 <h3>Courses</h3>
23
 <h3>Courses</h3>
24
 @if($program_courses->count()>0)
24
 @if($program_courses->count()>0)
239
     }]
239
     }]
240
 });
240
 });
241
 
241
 
242
-$('#graph-stu-program').highcharts({
243
-    chart: {
244
-        type: 'bar'
245
-    },
246
-    title: {
247
-        text: 'Performance by {{ $program->name }}\'s Students in Learning Outcomes '
248
-    },
249
-    legend: {
250
-        reversed: true,
251
-    },
252
-    xAxis: {
253
-        categories: [
254
-            @foreach($outcomes as $outcome)
255
-                "{{{ $outcome->name }}} <br>(N = {{$program_outcomes_attempted[$outcome->id]}}, {{$program_outcomes_achieved[$outcome->id]}})",
256
-            @endforeach
257
-        ],
258
-        labels: {
259
-            style: {
260
-                fontSize:'11px'
261
-            },
262
-            step:1,
263
-            useHTML:true,
264
-            formatter: function() {
265
-                return '<div style="width:100px; word-break:break; text-overflow:ellipsis; overflow:hidden;">'+this.value+'</div>';
266
-            },
267
-        }
268
-    },
269
-   
270
-    yAxis: {
271
-        min: 0,
272
-        max: 100,
273
-        title: {
274
-        text: 'Percentage'
275
-        }, 
276
-        @if($program->expected_outcome_target == null)
277
-                plotLines:[{
278
-            value:70.00,
279
-            color: '#000',
280
-            width:3,
281
-            zIndex:4,
282
-            label:{
283
-                text: 'Goal (70.00%)',
284
-                style: {
285
-                    color: '#000',
286
-                    fontSize: '14px',
287
-                }
288
-    
289
-            }
290
-        }]
291
-        @else
292
-        plotLines:[{
293
-            value:{{$program->expected_outcome_target->expected_target}},
294
-            color: '#000',
295
-            width:3,
296
-            zIndex:4,
297
-            label:{
298
-                text: 'Goal ({{$program->expected_outcome_target->expected_target}}%)',
299
-                style: {
300
-                    color: '#000',
301
-                    fontSize: '14px',
302
-                }
303
-    
304
-            }
305
-        }]
306
-
307
-        @endif
308
-    },
309
-    tooltip: {
310
-        enabled:false
311
-    },
312
-    plotOptions: {
313
-            bar: {
314
-                //grouping: false,
315
-                shadow: false,
316
-                borderWidth: 0,
317
-            },
318
-            series: {
319
-                pointPadding: 0,
320
-                groupPadding: 0.075,
321
-                animation: false
322
-            },
323
-        },
324
-    series: [/*{
325
-        name: 'Expected Value',
326
-        color: '#555555',
327
-        dataLabels: {
328
-            enabled: true,
329
-            fontSize: 8,
330
-            color: '#fff',
331
-            align: 'right',
332
-            format: '{y:.1f}%',
333
-            style: {
334
-                //fontWeight: 'bold'
335
-            },
336
-            y:-1
337
-        },
338
-        data: [
339
-            @foreach($outcomes as $index => $outcome)
340
-                @if(
341
-                    is_array($outcomes_attempted)
342
-                    && array_key_exists($outcome->id, $outcomes_attempted)
343
-                    && $outcomes_attempted[$outcome->id]!=0)
344
-                    {{{ $outcome->expected_outcome }}},
345
-                @else
346
-                    0,
347
-                @endif
348
-            @endforeach
349
-        ]
350
-
351
-    },*/{
352
-        name: 'Obtained Value',
353
-        color: '#e70033',
354
-        dataLabels: {
355
-            enabled: true,
356
-            fontSize: 8,
357
-            color: '#fff',
358
-            align: 'right',
359
-            format: '{y:.1f}%',
360
-            style: {
361
-                //fontWeight: 'bold'
362
-            },
363
-            y:-1
364
-        },
365
-        data:[
366
-            @foreach($outcomes as $index => $outcome)
367
-                @if(
368
-                    is_array($program_outcomes_attempted)
369
-                    && array_key_exists($outcome->id, $program_outcomes_attempted)
370
-                    && $program_outcomes_attempted[$outcome->id]!=0)
371
-                    {{{ ($program_outcomes_achieved[$outcome->id]/$program_outcomes_attempted[$outcome->id])*100 }}},
372
-                @else
373
-                    0,
374
-                @endif
375
-            @endforeach
376
-
377
-        ]
378
-    }]
379
-});
380
 
242
 
381
 @stop
243
 @stop

+ 255
- 0
app/views/local/managers/shared/print_program_students.blade.php View File

1
+@extends('layouts.print')
2
+
3
+@section('header')
4
+<p class="header-text">
5
+    @foreach (Session::get('semesters_info') as $index => $semester_info)
6
+        {{ $semester_info }}
7
+        @if($index+1 != count(Session::get('semesters_info')))
8
+        <strong>&#183;</strong>
9
+        @endif
10
+    @endforeach
11
+</p>
12
+<p class="header-text">Program Assessment Results</p>
13
+<h1 class="header-text">{{{ $program->name}}}</h1>
14
+@stop
15
+
16
+@section('main')
17
+
18
+
19
+<div class="row">
20
+    <div class="col-md-8" id="graph_undergrad_combined"></div>
21
+</div>
22
+
23
+        <div class="row">
24
+            <div class="col-md-8">
25
+                <h3>Performance of {{ $program->name }} Students by Learning Outcome</h3>
26
+                @if($outcomes->count()>0)
27
+                    <table class="table table-striped table-condensed">
28
+                        <thead>
29
+                            <tr>
30
+                                <th>Program Id</th>
31
+                                <th>Program Is Graduate</th>
32
+                                <th>Learning Outcome</th>
33
+                                <th>Number Students</th>
34
+                                <th>Number Students that Achieved the Target</th>
35
+                                <th>Percentage of Students that Achieved the Target</th>
36
+                            </tr>
37
+                        </thead>
38
+                        
39
+                        <tbody>
40
+                            @foreach($outcomes_colap as $outcome)
41
+                                @if(isset($outcomes_attempted_colap[$outcome->id]))
42
+                              <tr>
43
+                                    <td>{{{ $program->id }}}</td>
44
+                                    <td>{{{ $program->is_graduate }}}</td>
45
+                                    <td>{{  $outcome->name }}</td>
46
+                                    <td>{{{ $outcomes_attempted_colap[$outcome->id] }}}</td>
47
+                                    <td>{{{ $outcomes_achieved_colap[$outcome->id] }}}</td>
48
+                                    <td>
49
+                                        @if($outcomes_attempted_colap[$outcome->id]!=0)
50
+                                            {{{ round($outcomes_achieved_colap[$outcome->id] / $outcomes_attempted_colap[$outcome->id]*100, 2) }}}%
51
+                                        @else
52
+                                            N/M
53
+                                        @endif
54
+                                    </td>
55
+                                </tr>
56
+                                @endif
57
+                            @endforeach
58
+                        </tbody>
59
+                    </table>
60
+                @else
61
+                    <p class="lead"> No courses assigned.</p>
62
+                @endif
63
+            </div>
64
+        </div>
65
+
66
+        <div class="row">
67
+            <div class="col-md-8">
68
+                <h3>Courses in this program</h3>
69
+                @if(count($grouped_courses)>0)
70
+                    <table class="table table-striped table-condensed">
71
+                        <thead>
72
+                            <tr>
73
+                                <th>Identifier</th>
74
+                                <th>Name</th>
75
+                                <th>Course Program</th>
76
+                                <th>Number of Students</th>
77
+                            </tr>
78
+                        </thead>
79
+                        
80
+                        <tbody>
81
+                            @foreach($grouped_courses as $grouped_course)
82
+                                <tr>
83
+                                    <td class="col-md-2">{{  $grouped_course->code.$grouped_course->number.' ('.$grouped_course->semester->code.')' }}</td>
84
+                                    <td class="col-md-4">{{{ $grouped_course->name}}}</td>
85
+                                    <td class="col-md-2">{{{ $grouped_course->program->code}}}</td>
86
+                                    <td class="col-md-3">{{{ $grouped_course->quantity }}}</td>
87
+                                </tr>
88
+                            @endforeach
89
+                        </tbody>
90
+                    </table>
91
+                @else
92
+                    <p class="lead"> No courses assigned.</p>
93
+                @endif
94
+            </div>
95
+        </div>
96
+
97
+
98
+
99
+
100
+<!-- =================== end tabs =================== -->
101
+
102
+@stop
103
+
104
+@section('included-js')
105
+
106
+<!-- HighCharts -->
107
+<script src="{{ asset('vendor/highcharts/highcharts.js') }}"></script>
108
+<!--script src="http://code.highcharts.com/modules/exporting.js"></script -->
109
+
110
+@stop
111
+
112
+@section('javascript')
113
+
114
+$('#graph_undergrad_combined').highcharts({
115
+    chart: {
116
+        type: 'bar'
117
+    },
118
+    title: {
119
+        text: 'Performance of {{ $program->name }} Students by Learning Outcome'
120
+    },
121
+    legend: {
122
+                reversed: true,
123
+            },
124
+    xAxis: {
125
+        categories: [
126
+            @foreach($outcomes_colap as $outcome)
127
+                "{{{ $outcome->name }}}<br>(N = {{{ $outcomes_attempted_colap[$outcome->id] }}}, {{{ $outcomes_achieved_colap[$outcome->id] }}})",
128
+            @endforeach
129
+        ],
130
+        labels: {
131
+            style: {
132
+                fontSize:'11px'
133
+            },
134
+            step:1,
135
+            useHTML:true,
136
+            formatter: function() {
137
+                return '<div style="width:200px; word-break:break; text-overflow:ellipsis; overflow:hidden;">'+this.value+'</div>';
138
+            },
139
+        }
140
+    },
141
+    yAxis: {
142
+        min: 0,
143
+        max: 100,
144
+        title: {
145
+            text: 'Percentage'
146
+        },        @if($program->expected_outcome_target == null)
147
+        plotLines:[{
148
+    value:70,
149
+    color: '#000',
150
+    width:3,
151
+    zIndex:4,
152
+    label:{
153
+        text: 'Goal (70%)',
154
+        style: {
155
+            color: '#000',
156
+            fontSize: '14px',
157
+        }
158
+
159
+    }
160
+}]
161
+@else
162
+plotLines:[{
163
+    value:{{$program->expected_outcome_target->expected_target}},
164
+    color: '#000',
165
+    width:3,
166
+    zIndex:4,
167
+    label:{
168
+        text: 'Goal ({{$program->expected_outcome_target->expected_target}}%)',
169
+        style: {
170
+            color: '#000',
171
+            fontSize: '14px',
172
+        }
173
+
174
+    }
175
+}]
176
+@endif
177
+
178
+    },
179
+    tooltip: {
180
+        headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
181
+        pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
182
+            '<td style="padding:0"><b>{point.y:.2f}</b></td></tr>',
183
+        footerFormat: '</table>',
184
+        shared: true,
185
+        useHTML: true
186
+    },
187
+    plotOptions: {
188
+        bar: {
189
+            //grouping: false,
190
+            shadow: false,
191
+            borderWidth: 0,
192
+        },
193
+        series: {
194
+        pointPadding: 0,
195
+        groupPadding: 0.075
196
+        },
197
+    },
198
+    series: [/*{
199
+        name: 'Expected Value',
200
+        color: '#555555',
201
+        dataLabels: {
202
+            enabled: true,
203
+            fontSize: 8,
204
+            color: '#fff',
205
+            align: 'right',
206
+            format: '{y:.1f}%',
207
+            style: {
208
+                //fontWeight: 'bold'
209
+            },
210
+            y:-1
211
+        },
212
+        data: [
213
+            @foreach($outcomes_colap as $index => $outcome)
214
+                @if(
215
+                    is_array($outcomes_attempted_colap)
216
+                    && array_key_exists($outcome->id, $outcomes_attempted_colap)
217
+                    && $outcomes_attempted_colap[$outcome->id]!=0)
218
+                @else
219
+                    0,
220
+                @endif
221
+            @endforeach
222
+        ]
223
+
224
+    },*/{
225
+        name: 'Obtained Value',
226
+        color: '#e70033',
227
+        dataLabels: {
228
+            enabled: true,
229
+            fontSize: 8,
230
+            color: '#fff',
231
+            align: 'right',
232
+            format: '{y:.1f}%',
233
+            style: {
234
+                //fontWeight: 'bold'
235
+            },
236
+            y:-1
237
+        },
238
+        data:[
239
+            @foreach($outcomes_colap as $index => $outcome)
240
+                @if(
241
+                    is_array($outcomes_attempted_colap)
242
+                    && array_key_exists($outcome->id, $outcomes_attempted_colap)
243
+                    && $outcomes_attempted_colap[$outcome->id]!=0)
244
+                    {{{ ($outcomes_achieved_colap[$outcome->id]/$outcomes_attempted_colap[$outcome->id])*100 }}},
245
+                @else
246
+                    0,
247
+                @endif
248
+            @endforeach
249
+        ]
250
+    }]
251
+});
252
+
253
+
254
+
255
+@stop

+ 44
- 20
app/views/local/managers/shared/print_school.blade.php View File

15
 
15
 
16
 @section('main')
16
 @section('main')
17
 
17
 
18
-
18
+ 
19
 <h3>Programs</h3>
19
 <h3>Programs</h3>
20
 <table class="tabletable-condensed">
20
 <table class="tabletable-condensed">
21
     <tr>
21
     <tr>
51
     </thead>
51
     </thead>
52
     <tbody>
52
     <tbody>
53
         @foreach($outcomes_undergrad as $outcome)
53
         @foreach($outcomes_undergrad as $outcome)
54
+        <?php $count = 0;?>
54
             <tr>
55
             <tr>
55
                 <td class="col-md-6">{{ $outcome->name }}</td>
56
                 <td class="col-md-6">{{ $outcome->name }}</td>
56
                 <td class="col-md-2">{{{ count($attemptedUndergradProgramsPerOutcome[$outcome->id]) }}}</td>
57
                 <td class="col-md-2">{{{ count($attemptedUndergradProgramsPerOutcome[$outcome->id]) }}}</td>
57
-                <td class="col-md-2">{{{ count($achievedUndergradProgramsPerOutcome[$outcome->id]) }}}</td>
58
+                @foreach($undergrad_programs as $program)
59
+                    <?php
60
+                        if(isset($achievedUndergradProgramsPerOutcome[$outcome->id][$program->id])
61
+                            && $achievedUndergradProgramsPerOutcome[$outcome->id][$program->id] / $attemptedUndergradProgramsPerOutcome[$outcome->id][$program->id] * 100 >= $expected_target_for_undergradprograms)
62
+                        $count++;
63
+                                                
64
+
65
+                                                
66
+                            ?>
67
+
68
+                @endforeach
69
+
70
+                <td class="col-md-2">{{{ $count }}}</td>
58
                 <td class="col-md-2">
71
                 <td class="col-md-2">
59
-                    @if(count($attemptedUndergradProgramsPerOutcome[$outcome->id])!=0)
60
-                        {{{ round( count($achievedUndergradProgramsPerOutcome[$outcome->id]) / count($attemptedUndergradProgramsPerOutcome[$outcome->id])*100, 2) }}}%
61
-                    @else
62
-                        N/M
63
-                    @endif
72
+                @if(count($attemptedUndergradProgramsPerOutcome[$outcome->id])!=0)
73
+                    {{{ round( $count / count($attemptedUndergradProgramsPerOutcome[$outcome->id])*100, 2) }}}%
74
+                @else
75
+                    N/M
76
+                @endif
64
                 </td>
77
                 </td>
65
             </tr>
78
             </tr>
66
         @endforeach
79
         @endforeach
168
     </thead>
181
     </thead>
169
     <tbody>
182
     <tbody>
170
         @foreach($outcomes_grad as $outcome)
183
         @foreach($outcomes_grad as $outcome)
171
-        <tr>
172
-            <td class="col-md-6">{{ link_to_action('OutcomesController@show', $outcome->name, array($outcome->id), $attributes = array()) }}</td>
173
-            <td class="col-md-2">{{{ count($attemptedGradProgramsPerOutcome[$outcome->id]) }}}</td>
174
-            <td class="col-md-2">{{{ count($achievedGradProgramsPerOutcome[$outcome->id]) }}}</td>
175
-            <td class="col-md-2">
176
-                @if(count($attemptedGradProgramsPerOutcome[$outcome->id])!=0)
177
-                    {{{ round(count($achievedGradProgramsPerOutcome[$outcome->id]) / count($attemptedGradProgramsPerOutcome[$outcome->id])*100, 2) }}}%
178
-                @else
179
-                    N/M
180
-                @endif
181
-            </td>
182
-        </tr>
183
-        @endforeach
184
+        <?php $count = 0;?>
185
+            <tr>
186
+                <td class="col-md-6">{{ link_to_action('OutcomesController@show', $outcome->name, array($outcome->id), $attributes = array()) }}</td>
187
+                <td class="col-md-2">{{{ count($attemptedGradProgramsPerOutcome[$outcome->id]) }}}</td>
188
+                @foreach($grad_programs as $program)
189
+                <?php
190
+                if(isset($achievedGradProgramsPerOutcome[$outcome->id][$program->id])
191
+                    && $achievedGradProgramsPerOutcome[$outcome->id][$program->id] / $attemptedGradProgramsPerOutcome[$outcome->id][$program->id] * 100 >= $expected_target_for_gradprograms)
192
+                $count++;
193
+                
194
+
195
+                
196
+                    ?>
197
+
198
+            @endforeach
199
+                <td class="col-md-2">{{{ $count }}}</td>
200
+                <td class="col-md-2">
201
+                    @if(count($attemptedGradProgramsPerOutcome[$outcome->id])!=0)
202
+                        {{{ round($count / count($attemptedGradProgramsPerOutcome[$outcome->id])*100, 2) }}}%
203
+                    @else
204
+                        N/M
205
+                    @endif
206
+                </td></tr>
207
+                @endforeach
184
     </tbody>
208
     </tbody>
185
     <tfoot></tfoot>
209
     <tfoot></tfoot>
186
     <caption>N/M: Not Measured</caption>
210
     <caption>N/M: Not Measured</caption>

+ 489
- 0
app/views/local/managers/shared/print_school_students_report.blade.php View File

1
+@extends('layouts.print')
2
+
3
+@section('header')
4
+<p class="header-text">
5
+    @foreach (Session::get('semesters_info') as $index => $semester_info)
6
+        {{ $semester_info }}
7
+        @if($index+1 != count(Session::get('semesters_info')))
8
+        <strong>&#183;</strong>
9
+        @endif
10
+    @endforeach
11
+</p>
12
+
13
+<p class="header-text">Assessment Results</p>
14
+<h1 class="header-text">School of {{{ $school->name}}}</h1>
15
+@stop
16
+
17
+@section('main')
18
+
19
+
20
+
21
+<br>
22
+<div class="row">
23
+    <div class="col-md-8" id="graph2"></div>
24
+</div>
25
+
26
+<div class="row">
27
+    <div class="col-md-8">
28
+        <h3>Performance of {{ $school->name }} Undergrad Students by Learning Outcome</h3>
29
+        @if($outcomes->count()>0)
30
+            <table class="table table-striped table-condensed datatable">
31
+                <thead>
32
+                    <tr>
33
+                        <th>Learning Outcome</th>
34
+                        <th>Program</th>
35
+                        <th>Program Id</th>
36
+                        <th>Program Is Graduate</th>
37
+                        <th>Number Students</th>
38
+                        <th>Number Students that Achieved the Target</th>
39
+                        <th>Percentage of Students that Achieved the Target</th>
40
+                        <!--<th>Semesters</th>-->
41
+                    </tr>
42
+                </thead>
43
+                
44
+                <tbody>
45
+                    @foreach($undergraduate_programs as $program)
46
+                      @foreach($outcomes_colap as $outcome)
47
+                        @if(isset($outcomes_undergrad_program_attempted_colap[$outcome->id][$program->id]))
48
+                        <tr>
49
+                            <td>{{  $outcome->name }}</td>
50
+                            <td>{{{ $program->name }}}</td>
51
+                            <td>{{{ $program->id }}}</td>
52
+                            <td>{{{ $program->is_graduate }}}</td>
53
+                            <td>{{{ $outcomes_undergrad_program_attempted_colap[$outcome->id][$program->id] }}}</td>
54
+                            @if(isset($outcomes_undergrad_program_achieved_colap[$outcome->id][$program->id]))
55
+            
56
+                                <td>{{{ $outcomes_undergrad_program_achieved_colap[$outcome->id][$program->id] }}}</td>
57
+                                <td>
58
+                                    @if($outcomes_undergrad_program_attempted_colap[$outcome->id][$program->id]!=0)
59
+                                        
60
+                                        {{{ round($outcomes_undergrad_program_achieved_colap[$outcome->id][$program->id] / $outcomes_undergrad_program_attempted_colap[$outcome->id][$program->id]*100, 2) }}}%
61
+                                    
62
+                                        
63
+                                @else
64
+                                    N/M
65
+                                @endif
66
+                                </td>
67
+                            @else
68
+                                <td>0</td><td>0%</td>
69
+                                @endif
70
+                                {{--}}
71
+                                
72
+                            <td>
73
+                            @if(isset($outcomes_undergraduate_attempted_colap_semesters[$program->id][$outcome->id]))
74
+                                {{{ str_replace('"','',json_encode($outcomes_undergraduate_attempted_colap_semesters[$program->id][$outcome->id])) }}}
75
+                            @else
76
+                                N/M
77
+                            @endif
78
+                            
79
+                            </td>--}}
80
+                        </tr>
81
+                           @endif
82
+                      @endforeach
83
+                    @endforeach
84
+                </tbody>
85
+            </table>
86
+        @else
87
+            <p class="lead"> No courses assigned.</p>
88
+        @endif
89
+    </div>
90
+</div>
91
+
92
+<div class="row">
93
+    <div class="col-md-8" id="graph3"></div>
94
+</div>
95
+<div class="row">
96
+    <div class="col-md-8">
97
+        <h3>Performance of {{ $school->name }} Graduate Students by Learning Outcome</h3>
98
+        @if($outcomes->count()>0)
99
+            <table class="table table-striped table-condensed datatable">
100
+                <thead>
101
+                    <tr>
102
+                        <th>Learning Outcome</th>
103
+                        <th>Program</th>
104
+                        <th>Program Id</th>
105
+                        <th>Program Is Graduate</th>
106
+                        <th>Number Students</th>
107
+                        <th>Number Students that Achieved the Target</th>
108
+                        <th>Percentage of Students that Achieved the Target</th>
109
+                        
110
+                    </tr>
111
+                </thead>
112
+                
113
+                <tbody>
114
+                    @foreach($graduate_programs as $program)
115
+                      @foreach($outcomes_colap as $outcome)
116
+                        @if(isset($outcomes_grad_program_attempted_colap[$outcome->id][$program->id]))
117
+                        <tr>
118
+                            <td>{{  $outcome->name }}</td>
119
+                            <td>{{{ $program->name }}}</td>
120
+                            <td>{{{ $program->id }}}</td>
121
+                            <td>{{{ $program->is_graduate }}}</td>
122
+                            <td>{{{ $outcomes_grad_program_attempted_colap[$outcome->id][$program->id] }}}</td>
123
+                            @if((isset($outcomes_grad_program_achieved_colap[$outcome->id][$program->id])))
124
+                                <td>{{{ $outcomes_grad_program_achieved_colap[$outcome->id][$program->id] }}}</td>
125
+                                <td>
126
+                                    @if($outcomes_grad_program_attempted_colap[$outcome->id][$program->id]!=0)
127
+                                        
128
+                                    {{{ round($outcomes_grad_program_achieved_colap[$outcome->id][$program->id] / $outcomes_grad_program_attempted_colap[$outcome->id][$program->id]*100, 2) }}}%
129
+                                
130
+                                        
131
+                                @else
132
+                                        N/M
133
+                                    @endif
134
+                                </td>
135
+                                @else
136
+                                <td>
137
+                                    0</td>
138
+                                    <td>0%</td>
139
+                                @endif
140
+                            
141
+                        </tr>
142
+                           @endif
143
+                      @endforeach
144
+                    @endforeach
145
+                </tbody>
146
+            </table>
147
+        @else
148
+            <p class="lead"> No courses assigned.</p>
149
+        @endif
150
+    </div>
151
+</div>
152
+
153
+<div class="row">
154
+    <div class="col-md-12">
155
+        <h3>Courses in this School</h3>
156
+        @if(count($grouped_courses)>0)
157
+            <table class="table table-striped table-condensed datatable">
158
+                <thead>
159
+                    <tr>
160
+                        <th>Identifier</th>
161
+                        <th>Name</th>
162
+                        <th>Course Program</th>
163
+                        <th>Number of Students</th>
164
+                    </tr>
165
+                </thead>
166
+                <tfoot>
167
+                    <tr class="column-search">
168
+                        <th><input class="column-search-bar form-control" type="text" placeholder="Search"/></th>
169
+                        <th><input class="column-search-bar form-control" type="text" placeholder="Search"/></th>
170
+                    <th><select class="column-search-select form-control"><option value=""></option></select></th>
171
+                        <th><input class="column-search-bar form-control" type="text" placeholder="Search"/></th>
172
+                    </tr>
173
+                </tfoot>
174
+                <tbody>
175
+                    @foreach($grouped_courses as $grouped_course)
176
+                        <tr>
177
+                            <td class="col-md-2">{{  $grouped_course->code.$grouped_course->number.' ('.$grouped_course->semester->code.')' }}</td>
178
+                            <td class="col-md-4">{{{ $grouped_course->name}}}</td>
179
+                            <td class="col-md-2">{{{ $grouped_course->program->code}}}</td>
180
+                            <td class="col-md-3">{{{ $grouped_course->quantity }}}</td>
181
+                        </tr>
182
+                    @endforeach
183
+                </tbody>
184
+            </table>
185
+        @else
186
+            <p class="lead"> No courses assigned.</p>
187
+        @endif
188
+    </div>
189
+</div>
190
+
191
+@stop
192
+
193
+
194
+
195
+
196
+
197
+
198
+
199
+
200
+@section('included-js')
201
+
202
+<!-- HighCharts -->
203
+<script src="{{ asset('vendor/highcharts/highcharts.js') }}"></script>
204
+<!--script src="http://code.highcharts.com/modules/exporting.js"></script -->
205
+
206
+@stop
207
+
208
+@section('javascript')
209
+$(function () {
210
+
211
+    $('#schoolTabs a').click(function (e) {
212
+        e.preventDefault()
213
+        $(this).tab('show');
214
+    });
215
+   
216
+$('#graph2').highcharts({
217
+    chart: {
218
+        type: 'bar'
219
+    }, 
220
+    title: {
221
+        text: 'Performance of {{ $school->name }} Undergraduate Students by Learning Outcome'
222
+    },
223
+    legend: {
224
+                reversed: true,
225
+            },
226
+    xAxis: {
227
+        categories: [
228
+            @foreach($outcomes_colap as $outcome)
229
+            @if(isset($outcomes_undergraduate_attempted_colap_todo[$outcome->id]) &&
230
+                    isset($outcomes_undergraduate_achieved_colap_todo[$outcome->id]))
231
+                    "{{{ $outcome->name }}}<br>(N = {{{ $outcomes_undergraduate_attempted_colap_todo[$outcome->id] }}}, {{{ $outcomes_undergraduate_achieved_colap_todo[$outcome->id] }}})",
232
+                    @elseif(isset($outcomes_undergraduate_attempted_colap_todo[$outcome->id]))
233
+                    "{{{ $outcome->name }}}<br>(N = {{{ $outcomes_undergraduate_attempted_colap_todo[$outcome->id] }}}, 0)",
234
+                    
235
+                    @else
236
+                        "{{{ $outcome->name }}}<br>(N = 0, 0)",         	
237
+                    @endif
238
+               @endforeach
239
+        ],
240
+        labels: {
241
+            style: {
242
+                fontSize:'11px'
243
+            },
244
+            step:1,
245
+            useHTML:true,
246
+            formatter: function() {
247
+                return '<div style="width:200px; word-break:break; text-overflow:ellipsis; overflow:hidden;">'+this.value+'</div>';
248
+            },
249
+        }
250
+    },
251
+    yAxis: {
252
+        min: 0,
253
+        max: 100,
254
+        title: {
255
+            text: 'Percentage'
256
+        },
257
+        			plotLines:[{
258
+		value:70,
259
+		color: '#000',
260
+		width:3,
261
+		zIndex:4,
262
+		label:{
263
+			text: 'Goal (70%)',
264
+			style: {
265
+				color: '#000',
266
+				fontSize: '14px',
267
+			}
268
+
269
+		}
270
+	}]
271
+
272
+    },
273
+    tooltip: {
274
+        headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
275
+        pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
276
+            '<td style="padding:0"><b>{point.y:.2f}</b></td></tr>',
277
+        footerFormat: '</table>',
278
+        shared: true,
279
+        useHTML: true
280
+    },
281
+    plotOptions: {
282
+        bar: {
283
+            //grouping: false,
284
+            shadow: false,
285
+            borderWidth: 0,
286
+        },
287
+        series: {
288
+        pointPadding: 0,
289
+        groupPadding: 0.075
290
+        },
291
+    },
292
+    series: [/*{
293
+        name: 'Expected Value',
294
+        color: '#555555',
295
+        dataLabels: {
296
+            enabled: true,
297
+            fontSize: 8,
298
+            color: '#fff',
299
+            align: 'right',
300
+            format: '{y:.1f}%',
301
+            style: {
302
+                //fontWeight: 'bold'
303
+            },
304
+            y:-1
305
+        },
306
+        data: [
307
+            @foreach($outcomes_colap as $index => $outcome)
308
+                @if(
309
+                    is_array($outcomes_undergraduate_attempted_colap_todo)
310
+                    && array_key_exists($outcome->id, $outcomes_undergraduate_attempted_colap_todo)
311
+                    && $outcomes_undergraduate_attempted_colap_todo[$outcome->id]!=0)
312
+                @else
313
+                    0,
314
+                @endif
315
+            @endforeach
316
+        ]
317
+
318
+    },*/{
319
+        name: 'Obtained Value',
320
+        color: '#e70033',
321
+        dataLabels: {
322
+            enabled: true,
323
+            fontSize: 8,
324
+            color: '#fff',
325
+            align: 'right',
326
+            format: '{y:.1f}%',
327
+            style: {
328
+                //fontWeight: 'bold'
329
+            },
330
+            y:-1
331
+        },
332
+        data:[
333
+            @foreach($outcomes_colap as $index => $outcome)
334
+                @if(
335
+                    is_array($outcomes_undergraduate_attempted_colap_todo)
336
+                    && array_key_exists($outcome->id, $outcomes_undergraduate_attempted_colap_todo)
337
+                    && $outcomes_undergraduate_attempted_colap_todo[$outcome->id]!=0
338
+                    && isset($outcomes_undergraduate_achieved_colap_todo[$outcome->id]))
339
+                    {{{ ($outcomes_undergraduate_achieved_colap_todo[$outcome->id]/$outcomes_undergraduate_attempted_colap_todo[$outcome->id])*100 }}},
340
+                @else
341
+                    0,
342
+                @endif
343
+            @endforeach
344
+        ]
345
+    }]
346
+}); 
347
+
348
+
349
+$('#graph3').highcharts({
350
+    chart: {
351
+        type: 'bar'
352
+    }, 
353
+    title: {
354
+        text: 'Performance of {{ $school->name }} Graduate Students by Learning Outcome'
355
+    },
356
+    legend: {
357
+                reversed: true,
358
+            },
359
+    xAxis: {
360
+        categories: [
361
+            @foreach($outcomes_colap as $outcome)
362
+            @if(isset($outcomes_graduate_attempted_colap_todo[$outcome->id])
363
+            && isset($outcomes_graduate_achieved_colap_todo[$outcome->id]))
364
+                "{{{ $outcome->name }}}<br>(N = {{{ $outcomes_graduate_attempted_colap_todo[$outcome->id] }}}, {{{ $outcomes_graduate_achieved_colap_todo[$outcome->id] }}})",
365
+            @elseif(isset($outcomes_graduate_attempted_colap_todo[$outcome->id]))
366
+            "{{{ $outcome->name }}}<br>(N = {{{ $outcomes_graduate_attempted_colap_todo[$outcome->id] }}}, 0)",
367
+          @else
368
+          "{{{ $outcome->name }}}<br>(N = 0, 0)",
369
+          @endif
370
+                @endforeach
371
+        ],
372
+        labels: {
373
+            style: {
374
+                fontSize:'11px'
375
+            },
376
+            step:1,
377
+            useHTML:true,
378
+            formatter: function() {
379
+                return '<div style="width:200px; word-break:break; text-overflow:ellipsis; overflow:hidden;">'+this.value+'</div>';
380
+            },
381
+        }
382
+    },
383
+    yAxis: {
384
+        min: 0,
385
+        max: 100,
386
+        title: {
387
+            text: 'Percentage'
388
+        },
389
+        			plotLines:[{
390
+		value:70,
391
+		color: '#000',
392
+		width:3,
393
+		zIndex:4,
394
+		label:{
395
+			text: 'Goal (70%)',
396
+			style: {
397
+				color: '#000',
398
+				fontSize: '14px',
399
+			}
400
+
401
+		}
402
+	}]
403
+
404
+    },
405
+    tooltip: {
406
+        headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
407
+        pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
408
+            '<td style="padding:0"><b>{point.y:.2f}</b></td></tr>',
409
+        footerFormat: '</table>',
410
+        shared: true,
411
+        useHTML: true
412
+    },
413
+    plotOptions: {
414
+        bar: {
415
+            //grouping: false,
416
+            shadow: false,
417
+            borderWidth: 0,
418
+        },
419
+        series: {
420
+        pointPadding: 0,
421
+        groupPadding: 0.075
422
+        },
423
+    },
424
+    series: [/*{
425
+        name: 'Expected Value',
426
+        color: '#555555',
427
+        dataLabels: {
428
+            enabled: true,
429
+            fontSize: 8,
430
+            color: '#fff',
431
+            align: 'right',
432
+            format: '{y:.1f}%',
433
+            style: {
434
+                //fontWeight: 'bold'
435
+            },
436
+            y:-1
437
+        },
438
+        data: [
439
+            @foreach($outcomes_colap as $index => $outcome)
440
+                @if(
441
+                    is_array($outcomes_graduate_attempted_colap_todo)
442
+                    && array_key_exists($outcome->id, $outcomes_graduate_attempted_colap_todo)
443
+                    && $outcomes_graduate_attempted_colap_todo[$outcome->id]!=0
444
+                    )
445
+                @else
446
+                    0,
447
+                @endif
448
+            @endforeach
449
+        ]
450
+
451
+    },*/{
452
+        name: 'Obtained Value',
453
+        color: '#e70033',
454
+        dataLabels: {
455
+            enabled: true,
456
+            fontSize: 8,
457
+            color: '#fff',
458
+            align: 'right',
459
+            format: '{y:.1f}%',
460
+            style: {
461
+                //fontWeight: 'bold'
462
+            },
463
+            y:-1
464
+        },
465
+        data:[
466
+            @foreach($outcomes_colap as $index => $outcome)
467
+                @if(
468
+                    is_array($outcomes_graduate_attempted_colap_todo)
469
+                    && array_key_exists($outcome->id, $outcomes_graduate_attempted_colap_todo)
470
+                    && $outcomes_graduate_attempted_colap_todo[$outcome->id]!=0
471
+                    && isset($outcomes_graduate_achieved_colap_todo[$outcome->id]))
472
+                    {{{ ($outcomes_graduate_achieved_colap_todo[$outcome->id]/$outcomes_graduate_attempted_colap_todo[$outcome->id])*100 }}},
473
+                @else
474
+                    0,
475
+                @endif
476
+            @endforeach
477
+        ]
478
+    }]
479
+});
480
+});
481
+
482
+
483
+   
484
+
485
+    // Include dummy graph for outcomes
486
+    @include('global.dummy-outcomes')
487
+
488
+
489
+@stop

+ 23
- 12
app/views/local/managers/shared/program_student_result.blade.php View File

6
         @include('local.managers.admins._new_navigation')
6
         @include('local.managers.admins._new_navigation')
7
     @elseif($role==2)
7
     @elseif($role==2)
8
         @include('local.managers.sCoords._new_navigation')
8
         @include('local.managers.sCoords._new_navigation')
9
+    @elseif($role==3)
10
+    @include('local.managers.pCoords._new_navigation')
11
+    @else
12
+    @include('local.professors._navigation')
13
+
9
      @endif
14
      @endif
10
-@stop
15
+
16
+@stop 
11
 
17
 
12
 @section('main')
18
 @section('main')
19
+@if($role!=4)
13
 <a href="{{ action('ProgramsController@show', array($program->id)); }}" class="btn btn-primary pull-left" alt="print">Go to Performance by Program Courses</a>
20
 <a href="{{ action('ProgramsController@show', array($program->id)); }}" class="btn btn-primary pull-left" alt="print">Go to Performance by Program Courses</a>
21
+@else
14
 
22
 
15
-<a href="{{ action('ProgramsController@print_program', array($program->id)); }}" class="btn btn-primary pull-right" alt="print"><span class="glyphicon glyphicon-print"></span></a>
23
+<a href="{{ action('ProfessorsController@program') }}" class="btn btn-primary pull-left" alt="print">Go to Performance by Program Courses</a>
24
+@endif
25
+
26
+<a href="{{ action('ProgramsController@print_program_students', array($program->id)); }}" class="btn btn-primary pull-right" alt="print"><span class="glyphicon glyphicon-print"></span></a>
16
 <br>
27
 <br>
17
 <br>
28
 <br>
18
 <div class="row">
29
 <div class="row">
52
                                     <th><input class="column-search-bar form-control" type="text" placeholder="Search"/></th>
63
                                     <th><input class="column-search-bar form-control" type="text" placeholder="Search"/></th>
53
                                     <th><select class="column-search-select form-control"><option value=""></option></select></th>
64
                                     <th><select class="column-search-select form-control"><option value=""></option></select></th>
54
                                 </tr>
65
                                 </tr>
55
-                            </tfoot>
66
+                            </tfoot> 
56
                             <tbody>
67
                             <tbody>
57
                                 @foreach($outcomes_colap as $outcome)
68
                                 @foreach($outcomes_colap as $outcome)
58
-                                    @if(isset($outcomes_attempted_colap[$program->id][$outcome->id]))
69
+                                    @if(isset($outcomes_attempted_colap[$outcome->id]))
59
               					<tr>
70
               					<tr>
60
 										<td>{{{ $program->id }}}</td>
71
 										<td>{{{ $program->id }}}</td>
61
 										<td>{{{ $program->is_graduate }}}</td>
72
 										<td>{{{ $program->is_graduate }}}</td>
63
 										<td>{{{ $outcomes_attempted_colap[$outcome->id] }}}</td>
74
 										<td>{{{ $outcomes_attempted_colap[$outcome->id] }}}</td>
64
 										<td>{{{ $outcomes_achieved_colap[$outcome->id] }}}</td>
75
 										<td>{{{ $outcomes_achieved_colap[$outcome->id] }}}</td>
65
 										<td>
76
 										<td>
66
-											@if($outcomes_attempted[$outcome->id]!=0)
77
+											@if($outcomes_attempted_colap[$outcome->id]!=0)
67
 												{{{ round($outcomes_achieved_colap[$outcome->id] / $outcomes_attempted_colap[$outcome->id]*100, 2) }}}%
78
 												{{{ round($outcomes_achieved_colap[$outcome->id] / $outcomes_attempted_colap[$outcome->id]*100, 2) }}}%
68
 											@else
79
 											@else
69
 												N/M
80
 												N/M
112
                             </tfoot>
123
                             </tfoot>
113
                             <tbody>
124
                             <tbody>
114
                                 @foreach($outcomes as $outcome)
125
                                 @foreach($outcomes as $outcome)
115
-                                     @if(isset($outcomes_attempted[$program->id][$outcome->id]))
126
+                                     @if(isset($outcomes_attempted[$outcome->id]))
116
                                    <tr>
127
                                    <tr>
117
 										<td>{{{ $program->id }}}</td>
128
 										<td>{{{ $program->id }}}</td>
118
 										<td>{{{ $program->is_graduate }}}</td>
129
 										<td>{{{ $program->is_graduate }}}</td>
176
                                     <tr>
187
                                     <tr>
177
                                         <td class="col-md-2">{{ HTML::linkAction('CoursesController@showGrouped', $grouped_course->code.$grouped_course->number.' ('.$grouped_course->semester->code.')', array($grouped_course->code, $grouped_course->number, $grouped_course->semester->code)) }}</td>
188
                                         <td class="col-md-2">{{ HTML::linkAction('CoursesController@showGrouped', $grouped_course->code.$grouped_course->number.' ('.$grouped_course->semester->code.')', array($grouped_course->code, $grouped_course->number, $grouped_course->semester->code)) }}</td>
178
                                         <td class="col-md-4">{{{ $grouped_course->name}}}</td>
189
                                         <td class="col-md-4">{{{ $grouped_course->name}}}</td>
179
-                                        <td class="col-md-2">{{{ $grouped_course->program_code}}}</td>
190
+                                        <td class="col-md-2">{{{ $grouped_course->program->code}}}</td>
180
                                         <td class="col-md-3">{{{ $grouped_course->quantity }}}</td>
191
                                         <td class="col-md-3">{{{ $grouped_course->quantity }}}</td>
181
                                     </tr>
192
                                     </tr>
182
                                 @endforeach
193
                                 @endforeach
373
         groupPadding: 0.075
384
         groupPadding: 0.075
374
         },
385
         },
375
     },
386
     },
376
-    series: [{
387
+    series: [/*{
377
         name: 'Expected Value',
388
         name: 'Expected Value',
378
         color: '#555555',
389
         color: '#555555',
379
         dataLabels: {
390
         dataLabels: {
399
             @endforeach
410
             @endforeach
400
         ]
411
         ]
401
 
412
 
402
-    },{
413
+    },*/{
403
         name: 'Obtained Value',
414
         name: 'Obtained Value',
404
         color: '#e70033',
415
         color: '#e70033',
405
         dataLabels: {
416
         dataLabels: {
512
         groupPadding: 0.075
523
         groupPadding: 0.075
513
         },
524
         },
514
     },
525
     },
515
-    series: [{
526
+    series: [/*{
516
         name: 'Expected Value',
527
         name: 'Expected Value',
517
         color: '#555555',
528
         color: '#555555',
518
         dataLabels: {
529
         dataLabels: {
538
             @endforeach
549
             @endforeach
539
         ]
550
         ]
540
 
551
 
541
-    },{
552
+    },*/{
542
         name: 'Obtained Value',
553
         name: 'Obtained Value',
543
         color: '#e70033',
554
         color: '#e70033',
544
         dataLabels: {
555
         dataLabels: {
556
             @foreach($outcomes_colap as $index => $outcome)
567
             @foreach($outcomes_colap as $index => $outcome)
557
                 @if(
568
                 @if(
558
                     is_array($outcomes_attempted_colap)
569
                     is_array($outcomes_attempted_colap)
559
-                    && array_key_exists($outcome->id, $outcomes_attempted)
570
+                    && array_key_exists($outcome->id, $outcomes_attempted_colap)
560
                     && $outcomes_attempted_colap[$outcome->id]!=0)
571
                     && $outcomes_attempted_colap[$outcome->id]!=0)
561
                     {{{ ($outcomes_achieved_colap[$outcome->id]/$outcomes_attempted_colap[$outcome->id])*100 }}},
572
                     {{{ ($outcomes_achieved_colap[$outcome->id]/$outcomes_attempted_colap[$outcome->id])*100 }}},
562
                 @else
573
                 @else

+ 30
- 5
app/views/local/managers/shared/school.blade.php View File

63
             @endif
63
             @endif
64
                 </div>
64
                 </div>
65
 
65
 
66
-                        </div>
66
+        </div>
67
 
67
 
68
         <div>
68
         <div>
69
             <!-- Nav tabs -->
69
             <!-- Nav tabs -->
90
                                 </thead>
90
                                 </thead>
91
                                 <tbody>
91
                                 <tbody>
92
                                     @foreach($outcomes_undergrad as $outcome)
92
                                     @foreach($outcomes_undergrad as $outcome)
93
+                                    <?php $count = 0;?>
93
                                         <tr>
94
                                         <tr>
94
                                             <td class="col-md-6">{{ link_to_action('OutcomesController@show', $outcome->name, array($outcome->id), $attributes = array()) }}</td>
95
                                             <td class="col-md-6">{{ link_to_action('OutcomesController@show', $outcome->name, array($outcome->id), $attributes = array()) }}</td>
95
                                             <td class="col-md-2">{{{ count($attemptedUndergradProgramsPerOutcome[$outcome->id]) }}}</td>
96
                                             <td class="col-md-2">{{{ count($attemptedUndergradProgramsPerOutcome[$outcome->id]) }}}</td>
96
-                                            <td class="col-md-2">{{{ count($achievedUndergradProgramsPerOutcome[$outcome->id]) }}}</td>
97
+                                            @foreach($undergrad_programs as $program)
98
+                                                <?php
99
+                                                if(isset($achievedUndergradProgramsPerOutcome[$outcome->id][$program->id])
100
+                                                    && $achievedUndergradProgramsPerOutcome[$outcome->id][$program->id] / $attemptedUndergradProgramsPerOutcome[$outcome->id][$program->id] * 100 >= $expected_target_for_undergradprograms)
101
+                                                $count++;
102
+                                                
103
+
104
+                                                
105
+                                                    ?>
106
+
107
+                                            @endforeach
108
+
109
+                                            <td class="col-md-2">{{{ $count }}}</td>
97
                                             <td class="col-md-2">
110
                                             <td class="col-md-2">
98
                                                 @if(count($attemptedUndergradProgramsPerOutcome[$outcome->id])!=0)
111
                                                 @if(count($attemptedUndergradProgramsPerOutcome[$outcome->id])!=0)
99
-                                                    {{{ round( count($achievedUndergradProgramsPerOutcome[$outcome->id]) / count($attemptedUndergradProgramsPerOutcome[$outcome->id])*100, 2) }}}%
112
+                                                    {{{ round( $count / count($attemptedUndergradProgramsPerOutcome[$outcome->id])*100, 2) }}}%
100
                                                 @else
113
                                                 @else
101
                                                     N/M
114
                                                     N/M
102
                                                 @endif
115
                                                 @endif
296
                                 </thead>
309
                                 </thead>
297
                                 <tbody>
310
                                 <tbody>
298
                                     @foreach($outcomes_grad as $outcome)
311
                                     @foreach($outcomes_grad as $outcome)
312
+                                    <?php $count = 0;?>
299
                                         <tr>
313
                                         <tr>
300
                                             <td class="col-md-6">{{ link_to_action('OutcomesController@show', $outcome->name, array($outcome->id), $attributes = array()) }}</td>
314
                                             <td class="col-md-6">{{ link_to_action('OutcomesController@show', $outcome->name, array($outcome->id), $attributes = array()) }}</td>
301
                                             <td class="col-md-2">{{{ count($attemptedGradProgramsPerOutcome[$outcome->id]) }}}</td>
315
                                             <td class="col-md-2">{{{ count($attemptedGradProgramsPerOutcome[$outcome->id]) }}}</td>
302
-                                            <td class="col-md-2">{{{ count($achievedGradProgramsPerOutcome[$outcome->id]) }}}</td>
316
+                                            @foreach($grad_programs as $program)
317
+                                            <?php
318
+                                            if(isset($achievedGradProgramsPerOutcome[$outcome->id][$program->id])
319
+                                                && $achievedGradProgramsPerOutcome[$outcome->id][$program->id] / $attemptedGradProgramsPerOutcome[$outcome->id][$program->id] * 100 >= $expected_target_for_gradprograms)
320
+                                            $count++;
321
+                                            
322
+
323
+                                            
324
+                                                ?>
325
+
326
+                                        @endforeach
327
+                                            <td class="col-md-2">{{{ $count }}}</td>
303
                                             <td class="col-md-2">
328
                                             <td class="col-md-2">
304
                                                 @if(count($attemptedGradProgramsPerOutcome[$outcome->id])!=0)
329
                                                 @if(count($attemptedGradProgramsPerOutcome[$outcome->id])!=0)
305
-                                                    {{{ round(count($achievedGradProgramsPerOutcome[$outcome->id]) / count($attemptedGradProgramsPerOutcome[$outcome->id])*100, 2) }}}%
330
+                                                    {{{ round($count / count($attemptedGradProgramsPerOutcome[$outcome->id])*100, 2) }}}%
306
                                                 @else
331
                                                 @else
307
                                                     N/M
332
                                                     N/M
308
                                                 @endif
333
                                                 @endif

+ 537
- 75
app/views/local/managers/shared/school_student_result.blade.php View File

12
 @section('main')
12
 @section('main')
13
 <a href="{{ action('SchoolsController@show', array($school->id)); }}" class="btn btn-primary pull-left" alt="print">Go to Performance by School Courses</a>
13
 <a href="{{ action('SchoolsController@show', array($school->id)); }}" class="btn btn-primary pull-left" alt="print">Go to Performance by School Courses</a>
14
 
14
 
15
-<a href="{{ action('ProgramsController@print_program', array($school->id)); }}" class="btn btn-primary pull-right" alt="print"><span class="glyphicon glyphicon-print"></span></a>
15
+<a href="{{ action('SchoolsController@print_school_students_report', array($school->id)); }}" class="btn btn-primary pull-right" alt="print"><span class="glyphicon glyphicon-print"></span></a>
16
 <br>
16
 <br>
17
 <br>
17
 <br>
18
-<div class="row">
18
+
19
     <ul id="resultsTabs" class="nav nav-tabs" role="tablist">
19
     <ul id="resultsTabs" class="nav nav-tabs" role="tablist">
20
-        <li role="presentation" class="active"><a href="#combined" aria-controls="combined" role="tab">Combined</a></li>
21
-        <li role="presentation"><a href="#uncombined" aria-controls="uncombined" role="tab">Uncombined</a></li>
20
+        <li role="presentation" class="active"><a href="#undergraduate_combined"  aria-controls="undergraduate_combined" role="tab">Undergraduate Combined</a></li>
21
+        <li role="presentation"><a href="#undergraduate_uncombined"  aria-controls="undergraduate_uncombined" role="tab">Undergraduate Uncombined</a></li>
22
+        <li role="presentation"><a href="#graduate_combined"  aria-controls="graduate_combined" role="tab">Graduate Combined</a></li>
23
+        <li role="presentation"><a href="#graduate_uncombined"  aria-controls="graduate_uncombined" role="tab">Graduate Uncombined</a></li>
24
+    
22
     </ul>
25
     </ul>
23
-	<div>
26
+<!--<div class="tab-content">-->
24
 <!-- 	<div class="tab-content"> -->
27
 <!-- 	<div class="tab-content"> -->
25
 
28
 
26
-	<div role="tabpanel" class="tab-pane active" id="combined">
27
-	<div class="row">
28
-		<div class="col-md-12" id="graph2"></div>
29
-	</div>
29
+	<div role="tabpanel" class="tab-pane active" id="undergraduate_combined">
30
+        <div class="row">
31
+            <div class="col-md-12" id="graph2"></div>
32
+        </div>
30
 
33
 
31
-            <div class="row">
34
+        <div class="row">
32
                 <div class="col-md-12">
35
                 <div class="col-md-12">
33
-                    <h3>Performance of {{ $school->name }} Students by Combined Learning Outcome</h3>
36
+                    <h3>Performance of {{ $school->name }} Undergrad Students by Combined Learning Outcome</h3>
34
                     @if($outcomes->count()>0)
37
                     @if($outcomes->count()>0)
35
                         <table class="table table-striped table-condensed datatable">
38
                         <table class="table table-striped table-condensed datatable">
36
                             <thead>
39
                             <thead>
42
                                     <th>Number Students</th>
45
                                     <th>Number Students</th>
43
                                     <th>Number Students that Achieved the Target</th>
46
                                     <th>Number Students that Achieved the Target</th>
44
                                     <th>Percentage of Students that Achieved the Target</th>
47
                                     <th>Percentage of Students that Achieved the Target</th>
45
-                                    <th>Semesters</th>
48
+                                    <!--<th>Semesters</th>-->
46
                                 </tr>
49
                                 </tr>
47
                             </thead>
50
                             </thead>
48
                             <tfoot>
51
                             <tfoot>
54
                                     <th><input class="column-search-bar form-control" type="text" placeholder="Search"/></th>
57
                                     <th><input class="column-search-bar form-control" type="text" placeholder="Search"/></th>
55
                                     <th><input class="column-search-bar form-control" type="text" placeholder="Search"/></th>
58
                                     <th><input class="column-search-bar form-control" type="text" placeholder="Search"/></th>
56
                                     <th><select class="column-search-select form-control"><option value=""></option></select></th>
59
                                     <th><select class="column-search-select form-control"><option value=""></option></select></th>
57
-                                    <th><input class="column-search-bar form-control" type="text" placeholder="Search"/></th>
60
+                                   <!-- <th><input class="column-search-bar form-control" type="text" placeholder="Search"/></th>-->
58
                                 </tr>
61
                                 </tr>
59
                             </tfoot>
62
                             </tfoot>
60
                             <tbody>
63
                             <tbody>
61
-                                @foreach($programs as $program)
64
+                                @foreach($undergraduate_programs as $program)
62
                                   @foreach($outcomes_colap as $outcome)
65
                                   @foreach($outcomes_colap as $outcome)
63
-                                	@if(isset($outcomes_attempted_colap[$program->id][$outcome->id]))
66
+                                	@if(isset($outcomes_undergrad_program_attempted_colap[$outcome->id][$program->id]))
64
                                     <tr>
67
                                     <tr>
65
 										<td>{{ link_to_action('OutcomesController@show', $outcome->name, array($outcome->id), $attributes = array()) }}</td>
68
 										<td>{{ link_to_action('OutcomesController@show', $outcome->name, array($outcome->id), $attributes = array()) }}</td>
66
 										<td>{{{ $program->name }}}</td>
69
 										<td>{{{ $program->name }}}</td>
67
 										<td>{{{ $program->id }}}</td>
70
 										<td>{{{ $program->id }}}</td>
68
 										<td>{{{ $program->is_graduate }}}</td>
71
 										<td>{{{ $program->is_graduate }}}</td>
69
-										<td>{{{ $outcomes_attempted_colap[$program->id][$outcome->id] }}}</td>
70
-										<td>{{{ $outcomes_achieved_colap[$program->id][$outcome->id] }}}</td>
71
-										<td>
72
-											@if($outcomes_attempted_colap[$program->id][$outcome->id]!=0)
73
-												{{{ round($outcomes_achieved_colap[$program->id][$outcome->id] / $outcomes_attempted_colap[$program->id][$outcome->id]*100, 2) }}}%
74
-											@else
75
-												N/M
76
-											@endif
77
-										</td>
72
+										<td>{{{ $outcomes_undergrad_program_attempted_colap[$outcome->id][$program->id] }}}</td>
73
+										@if(isset($outcomes_undergrad_program_achieved_colap[$outcome->id][$program->id]))
74
+                        
75
+                                            <td>{{{ $outcomes_undergrad_program_achieved_colap[$outcome->id][$program->id] }}}</td>
76
+                                            <td>
77
+                                                @if($outcomes_undergrad_program_attempted_colap[$outcome->id][$program->id]!=0)
78
+                                                    
79
+                                                    {{{ round($outcomes_undergrad_program_achieved_colap[$outcome->id][$program->id] / $outcomes_undergrad_program_attempted_colap[$outcome->id][$program->id]*100, 2) }}}%
80
+                                                
81
+                                                    
82
+                                            @else
83
+                                                N/M
84
+                                            @endif
85
+                                            </td>
86
+                                        @else
87
+                                            <td>0</td><td>0%</td>
88
+                                            @endif
89
+                                            {{--}}
90
+                                            
78
 										<td>
91
 										<td>
79
-										@if(isset($outcomes_attempted_colap_semesters[$program->id][$outcome->id]))
80
-											{{{ str_replace('"','',json_encode($outcomes_attempted_colap_semesters[$program->id][$outcome->id])) }}}
92
+										@if(isset($outcomes_undergraduate_attempted_colap_semesters[$program->id][$outcome->id]))
93
+											{{{ str_replace('"','',json_encode($outcomes_undergraduate_attempted_colap_semesters[$program->id][$outcome->id])) }}}
81
 										@else
94
 										@else
82
 											N/M
95
 											N/M
83
 										@endif
96
 										@endif
84
 										
97
 										
85
-										</td>
98
+										</td>--}}
86
                                     </tr>
99
                                     </tr>
87
                        				@endif
100
                        				@endif
88
                                   @endforeach
101
                                   @endforeach
93
                         <p class="lead"> No courses assigned.</p>
106
                         <p class="lead"> No courses assigned.</p>
94
                     @endif
107
                     @endif
95
                 </div>
108
                 </div>
109
+        </div>
110
+    </div>
111
+		<div role="tabpanel" class="tab-pane" id="undergraduate_uncombined">
112
+            <div class="row">
113
+                <div class="col-md-12" id="graph"></div>
96
             </div>
114
             </div>
97
-            </div>
98
-		<div role="tabpanel" class="tab-pane" id="uncombined">
99
-	<div class="row">
100
-		<div class="col-md-12" id="graph"></div>
101
-	</div>
102
 
115
 
103
             <div class="row">
116
             <div class="row">
104
                 <div class="col-md-12">
117
                 <div class="col-md-12">
105
-                    <h3>Performance of {{ $school->name }} Students by Uncombined Learning Outcome</h3>
118
+                    <h3>Performance of {{ $school->name }} Undergrad Students by Uncombined Learning Outcome</h3>
106
                     @if($outcomes->count()>0)
119
                     @if($outcomes->count()>0)
107
                         <table class="table table-striped table-condensed datatable">
120
                         <table class="table table-striped table-condensed datatable">
108
                             <thead>
121
                             <thead>
114
                                     <th>Number Students</th>
127
                                     <th>Number Students</th>
115
                                     <th>Number Students that Achieved the Target</th>
128
                                     <th>Number Students that Achieved the Target</th>
116
                                     <th>Percentage of Students that Achieved the Target</th>
129
                                     <th>Percentage of Students that Achieved the Target</th>
117
-                                    <th>Semesters</th>
130
+                                    <!--<th>Semesters</th>-->
118
                                 </tr>
131
                                 </tr>
119
                             </thead>
132
                             </thead>
120
                             <tfoot>
133
                             <tfoot>
126
                                     <th><input class="column-search-bar form-control" type="text" placeholder="Search"/></th>
139
                                     <th><input class="column-search-bar form-control" type="text" placeholder="Search"/></th>
127
                                     <th><input class="column-search-bar form-control" type="text" placeholder="Search"/></th>
140
                                     <th><input class="column-search-bar form-control" type="text" placeholder="Search"/></th>
128
                                     <th><select class="column-search-select form-control"><option value=""></option></select></th>
141
                                     <th><select class="column-search-select form-control"><option value=""></option></select></th>
129
-                                    <th><input class="column-search-bar form-control" type="text" placeholder="Search"/></th>
142
+                                     <!--<th><input class="column-search-bar form-control" type="text" placeholder="Search"/></th>-->
130
                                 </tr>
143
                                 </tr>
131
                             </tfoot>
144
                             </tfoot>
132
                             <tbody>
145
                             <tbody>
133
-                                @foreach($programs as $program)
146
+                                
134
                                	   @foreach($outcomes as $outcome)
147
                                	   @foreach($outcomes as $outcome)
135
-  											@if(isset($outcomes_attempted[$program->id][$outcome->id]))
148
+                                      @foreach($undergraduate_programs as $program)
149
+  											@if(isset($outcomes_undergrad_program_attempted_todo[$outcome->id][$program->id]))
136
                                   <tr>
150
                                   <tr>
137
 										<td>{{ link_to_action('OutcomesController@show', $outcome->name, array($outcome->id), $attributes = array()) }}</td>
151
 										<td>{{ link_to_action('OutcomesController@show', $outcome->name, array($outcome->id), $attributes = array()) }}</td>
138
 										<td>{{{ $program->name }}}</td>
152
 										<td>{{{ $program->name }}}</td>
139
 										<td>{{{ $program->id }}}</td>
153
 										<td>{{{ $program->id }}}</td>
140
 										<td>{{{ $program->is_graduate }}}</td>
154
 										<td>{{{ $program->is_graduate }}}</td>
141
-										<td>{{{ $outcomes_attempted[$program->id][$outcome->id] }}}</td>
142
-										<td>{{{ $outcomes_achieved[$program->id][$outcome->id] }}}</td>
155
+										
156
+                                        <td>{{{ $outcomes_undergrad_program_attempted_todo[$outcome->id][$program->id] }}}</td>
157
+									@if((isset($outcomes_undergrad_program_achieved_todo[$outcome->id][$program->id])))
158
+                                        <td>{{{ $outcomes_undergrad_program_achieved_todo[$outcome->id][$program->id] }}}</td>
143
 										<td>
159
 										<td>
144
-											@if($outcomes_attempted[$program->id][$outcome->id]!=0)
145
-												{{{ round($outcomes_achieved[$program->id][$outcome->id] / $outcomes_attempted[$program->id][$outcome->id]*100, 2) }}}%
160
+											@if($outcomes_undergrad_program_attempted_todo[$outcome->id][$program->id]!=0)
161
+                                            	{{{ round($outcomes_undergrad_program_achieved_todo[$outcome->id][$program->id] / $outcomes_undergrad_program_attempted_todo[$outcome->id][$program->id]*100, 2) }}}%
146
 											@else
162
 											@else
163
+                                            
147
 												N/M
164
 												N/M
148
 											@endif
165
 											@endif
149
 										</td>
166
 										</td>
167
+                                        @else
168
+                                            <td>0</td>
169
+                                            <td>0%</td>
170
+                                        @endif
171
+                                        {{--}}
150
 										<td>
172
 										<td>
151
-											@if(isset($outcomes_attempted_semesters[$program->id][$outcome->id]))
152
-												{{{ str_replace('"','',json_encode($outcomes_attempted_semesters[$program->id][$outcome->id])) }}}
173
+											@if(isset($outcomes_undergraduate_attempted_semesters[$program->id][$outcome->id]))
174
+												{{{ str_replace('"','',json_encode($outcomes_undergraduate_attempted_semesters[$program->id][$outcome->id])) }}}
153
 											@else
175
 											@else
154
 												N/M
176
 												N/M
155
 											@endif
177
 											@endif
156
 										
178
 										
157
-										</td>
179
+										</td>--}}
158
                                     </tr>
180
                                     </tr>
159
 											@endif
181
 											@endif
160
                                    @endforeach
182
                                    @endforeach
166
                     @endif
188
                     @endif
167
                 </div>
189
                 </div>
168
             </div>
190
             </div>
169
-</div>
170
-	</div>
171
-</div>
191
+        </div>
192
+	
193
+    <div role="tabpanel" class="tab-pane" id="graduate_combined">
194
+        <div class="row">
195
+            <div class="col-md-12" id="graph3"></div>
196
+        </div>
197
+
198
+        <div class="row">
199
+                <div class="col-md-12">
200
+                    <h3>Performance of {{ $school->name }} Graduate Students by Combined Learning Outcome</h3>
201
+                    @if($outcomes->count()>0)
202
+                        <table class="table table-striped table-condensed datatable">
203
+                            <thead>
204
+                                <tr>
205
+                                    <th>Learning Outcome</th>
206
+                                    <th>Program</th>
207
+                                    <th>Program Id</th>
208
+                                    <th>Program Is Graduate</th>
209
+                                    <th>Number Students</th>
210
+                                    <th>Number Students that Achieved the Target</th>
211
+                                    <th>Percentage of Students that Achieved the Target</th>
212
+                                    <!--<th>Semesters</th>-->
213
+                                </tr>
214
+                            </thead>
215
+                            <tfoot>
216
+                                <tr class="column-search">
217
+                                    <th><input class="column-search-bar form-control" type="text" placeholder="Search"/></th>
218
+                                    <th><select class="column-search-select form-control"><option value=""></option></select></th>
219
+                                    <th><select class="column-search-select form-control"><option value=""></option></select></th>
220
+                                    <th><select class="column-search-select form-control"><option value=""></option></select></th>
221
+                                    <th><input class="column-search-bar form-control" type="text" placeholder="Search"/></th>
222
+                                    <th><input class="column-search-bar form-control" type="text" placeholder="Search"/></th>
223
+                                    <th><select class="column-search-select form-control"><option value=""></option></select></th>
224
+                                    <!--<th><input class="column-search-bar form-control" type="text" placeholder="Search"/></th>-->
225
+                                </tr>
226
+                            </tfoot>
227
+                            <tbody>
228
+                                @foreach($graduate_programs as $program)
229
+                                  @foreach($outcomes_colap as $outcome)
230
+                                	@if(isset($outcomes_grad_program_attempted_colap[$outcome->id][$program->id]))
231
+                                    <tr>
232
+										<td>{{ link_to_action('OutcomesController@show', $outcome->name, array($outcome->id), $attributes = array()) }}</td>
233
+										<td>{{{ $program->name }}}</td>
234
+										<td>{{{ $program->id }}}</td>
235
+										<td>{{{ $program->is_graduate }}}</td>
236
+										<td>{{{ $outcomes_grad_program_attempted_colap[$outcome->id][$program->id] }}}</td>
237
+										@if((isset($outcomes_grad_program_achieved_colap[$outcome->id][$program->id])))
238
+                                            <td>{{{ $outcomes_grad_program_achieved_colap[$outcome->id][$program->id] }}}</td>
239
+                                            <td>
240
+                                                @if($outcomes_grad_program_attempted_colap[$outcome->id][$program->id]!=0)
241
+                                                    
242
+                                                {{{ round($outcomes_grad_program_achieved_colap[$outcome->id][$program->id] / $outcomes_grad_program_attempted_colap[$outcome->id][$program->id]*100, 2) }}}%
243
+                                            
244
+                                                    
245
+                                            @else
246
+                                                    N/M
247
+                                                @endif
248
+                                            </td>
249
+                                            @else
250
+                                            <td>
251
+                                                0</td>
252
+                                                <td>0%</td>
253
+                                            @endif
254
+                                        {{--}}
255
+										<td>
256
+										@if(isset($outcomes_undergraduate_attempted_colap_semesters[$program->id][$outcome->id]))
257
+											{{{ str_replace('"','',json_encode($outcomes_undergraduate_attempted_colap_semesters[$program->id][$outcome->id])) }}}
258
+										@else
259
+											N/M
260
+										@endif
261
+										
262
+										</td>--}}
263
+                                    </tr>
264
+                       				@endif
265
+                                  @endforeach
266
+                                @endforeach
267
+                            </tbody>
268
+                        </table>
269
+                    @else
270
+                        <p class="lead"> No courses assigned.</p>
271
+                    @endif
272
+                </div>
273
+        </div>
274
+    </div>
275
+
276
+    <div role="tabpanel" class="tab-pane" id="graduate_uncombined">
277
+        <div class="row">
278
+            <div class="col-md-12" id="graph4"></div>
279
+        </div>
280
+
281
+        <div class="row">
282
+                <div class="col-md-12">
283
+                    <h3>Performance of {{ $school->name }} Graduate Students by Uncombined Learning Outcome</h3>
284
+                    @if($outcomes->count()>0)
285
+                        <table class="table table-striped table-condensed datatable">
286
+                            <thead>
287
+                                <tr>
288
+                                    <th>Learning Outcome</th>
289
+                                    <th>Program</th>
290
+                                    <th>Program Id</th>
291
+                                    <th>Program Is Graduate</th>
292
+                                    <th>Number Students</th>
293
+                                    <th>Number Students that Achieved the Target</th>
294
+                                    <th>Percentage of Students that Achieved the Target</th>
295
+                                    <!--<th>Semesters</th>-->
296
+                                </tr>
297
+                            </thead>
298
+                            <tfoot>
299
+                                <tr class="column-search">
300
+                                    <th><input class="column-search-bar form-control" type="text" placeholder="Search"/></th>
301
+                                    <th><select class="column-search-select form-control"><option value=""></option></select></th>
302
+                                    <th><select class="column-search-select form-control"><option value=""></option></select></th>
303
+                                    <th><select class="column-search-select form-control"><option value=""></option></select></th>
304
+                                    <th><input class="column-search-bar form-control" type="text" placeholder="Search"/></th>
305
+                                    <th><input class="column-search-bar form-control" type="text" placeholder="Search"/></th>
306
+                                    <th><select class="column-search-select form-control"><option value=""></option></select></th>
307
+                                    <!--<th><input class="column-search-bar form-control" type="text" placeholder="Search"/></th>-->
308
+                                </tr>
309
+                            </tfoot>
310
+                            <tbody>
311
+                                @foreach($graduate_programs as $program)
312
+                                  @foreach($outcomes as $outcome)
313
+                                	@if(isset($outcomes_grad_program_attempted_colap[$outcome->id][$program->id]))
314
+                                    <tr>
315
+										<td>{{ link_to_action('OutcomesController@show', $outcome->name, array($outcome->id), $attributes = array()) }}</td>
316
+										<td>{{{ $program->name }}}</td>
317
+										<td>{{{ $program->id }}}</td>
318
+										<td>{{{ $program->is_graduate }}}</td>
319
+										<td>{{{ $outcomes_grad_program_attempted_colap[$outcome->id][$program->id] }}}</td>
320
+                                        @if(isset($outcomes_grad_program_achieved_colap[$outcome->id][$program->id]))
321
+										<td>{{{ $outcomes_grad_program_achieved_colap[$outcome->id][$program->id] }}}</td>
322
+										<td>
323
+											@if($outcomes_grad_program_attempted_colap[$outcome->id][$program->id]!=0)
324
+												
325
+                                            
326
+
327
+                                            {{{ round($outcomes_grad_program_achieved_colap[$outcome->id][$program->id] / $outcomes_grad_program_attempted_colap[$outcome->id][$program->id]*100, 2) }}}%
328
+										
329
+                                            @else
330
+												N/M
331
+											@endif
332
+										</td>
333
+                                        @else
334
+                                        <td>0</td>
335
+										<td>
336
+											0%
337
+										</td>
338
+                         
339
+                                        @endif
340
+                                        
341
+                                        {{--}}
342
+										<td>
343
+                                            
344
+										@if(isset($outcomes_undergraduate_attempted_colap_semesters[$program->id][$outcome->id]))
345
+											{{{ str_replace('"','',json_encode($outcomes_undergraduate_attempted_colap_semesters[$program->id][$outcome->id])) }}}
346
+										@else
347
+											N/M
348
+										@endif
349
+										
350
+										</td>--}}
351
+                                    </tr>
352
+                       				@endif
353
+                                  @endforeach
354
+                                @endforeach
355
+                            </tbody>
356
+                        </table>
357
+                    @else
358
+                        <p class="lead"> No courses assigned.</p>
359
+                    @endif
360
+                </div>
361
+        </div>
362
+    </div>
363
+<!--</div>-->
364
+
172
  <!-- ===== tabs ===== -->
365
  <!-- ===== tabs ===== -->
173
 <div class="row">
366
 <div class="row">
174
     <!-- Nav tabs -->
367
     <!-- Nav tabs -->
182
        <div role="tabpanel" class="tab-pane active" id="courses">
375
        <div role="tabpanel" class="tab-pane active" id="courses">
183
             <div class="row">
376
             <div class="row">
184
                 <div class="col-md-12">
377
                 <div class="col-md-12">
185
-                    <h3>Courses in this program</h3>
378
+                    <h3>Courses in this School</h3>
186
                     @if(count($grouped_courses)>0)
379
                     @if(count($grouped_courses)>0)
187
                         <table class="table table-striped table-condensed datatable">
380
                         <table class="table table-striped table-condensed datatable">
188
                             <thead>
381
                             <thead>
206
                                     <tr>
399
                                     <tr>
207
                                         <td class="col-md-2">{{ HTML::linkAction('CoursesController@showGrouped', $grouped_course->code.$grouped_course->number.' ('.$grouped_course->semester->code.')', array($grouped_course->code, $grouped_course->number, $grouped_course->semester->code)) }}</td>
400
                                         <td class="col-md-2">{{ HTML::linkAction('CoursesController@showGrouped', $grouped_course->code.$grouped_course->number.' ('.$grouped_course->semester->code.')', array($grouped_course->code, $grouped_course->number, $grouped_course->semester->code)) }}</td>
208
                                         <td class="col-md-4">{{{ $grouped_course->name}}}</td>
401
                                         <td class="col-md-4">{{{ $grouped_course->name}}}</td>
209
-                                        <td class="col-md-2">{{{ $grouped_course->program_code}}}</td>
402
+                                        <td class="col-md-2">{{{ $grouped_course->program->code}}}</td>
210
                                         <td class="col-md-3">{{{ $grouped_course->quantity }}}</td>
403
                                         <td class="col-md-3">{{{ $grouped_course->quantity }}}</td>
211
                                     </tr>
404
                                     </tr>
212
                                 @endforeach
405
                                 @endforeach
319
         type: 'bar'
512
         type: 'bar'
320
     },
513
     },
321
     title: {
514
     title: {
322
-        text: 'Performance of {{ $school->name }} Students by Uncombined Learning Outcome'
515
+        text: 'Performance of {{ $school->name }} Undergraduate Students by Uncombined Learning Outcome'
323
     },
516
     },
324
     legend: {
517
     legend: {
325
                 reversed: true,
518
                 reversed: true,
327
     xAxis: {
520
     xAxis: {
328
         categories: [
521
         categories: [
329
             @foreach($outcomes as $outcome)
522
             @foreach($outcomes as $outcome)
330
-            	@if(isset($outcomes_attempted_todo[$outcome->id]))
331
-                 "{{{ $outcome->name }}}<br>(N = {{{ $outcomes_attempted_todo[$outcome->id] }}}, {{{ $outcomes_achieved_todo[$outcome->id] }}})",
332
-            	@else
523
+            	@if(isset($outcomes_undergraduate_attempted_todo[$outcome->id]) &&
524
+                isset($outcomes_undergraduate_achieved_todo[$outcome->id]))
525
+                 "{{{ $outcome->name }}}<br>(N = {{{ $outcomes_undergraduate_attempted_todo[$outcome->id] }}}, {{{ $outcomes_undergraduate_achieved_todo[$outcome->id] }}})",
526
+            	@elseif(isset($outcomes_undergraduate_attempted_todo[$outcome->id]))
527
+                "{{{ $outcome->name }}}<br>(N = {{{ $outcomes_undergraduate_attempted_todo[$outcome->id] }}}, 0)",
528
+            	
529
+                 @else
333
                     "{{{ $outcome->name }}}<br>(N = 0, 0)",         	
530
                     "{{{ $outcome->name }}}<br>(N = 0, 0)",         	
334
             	@endif
531
             	@endif
335
             @endforeach
532
             @endforeach
336
-        ],
533
+        ], 
337
         labels: {
534
         labels: {
338
             style: {
535
             style: {
339
                 fontSize:'11px'
536
                 fontSize:'11px'
386
         groupPadding: 0.075
583
         groupPadding: 0.075
387
         },
584
         },
388
     },
585
     },
389
-    series: [{
586
+    series: [/*{
390
         name: 'Expected Value',
587
         name: 'Expected Value',
391
         color: '#555555',
588
         color: '#555555',
392
         dataLabels: {
589
         dataLabels: {
403
         data: [
600
         data: [
404
             @foreach($outcomes as $index => $outcome)
601
             @foreach($outcomes as $index => $outcome)
405
                 @if(
602
                 @if(
406
-                    is_array($outcomes_attempted_todo)
407
-                    && array_key_exists($outcome->id, $outcomes_attempted_todo)
408
-                    && $outcomes_attempted_todo[$outcome->id]!=0)
603
+                    is_array($outcomes_undergraduate_attempted_todo)
604
+                    && array_key_exists($outcome->id, $outcomes_undergraduate_attempted_todo)
605
+                    && $outcomes_undergraduate_attempted_todo[$outcome->id]!=0)
409
                 @else
606
                 @else
410
                     0,
607
                     0,
411
                 @endif
608
                 @endif
412
             @endforeach
609
             @endforeach
413
         ]
610
         ]
414
 
611
 
415
-    },{
612
+    },*/{
416
         name: 'Obtained Value',
613
         name: 'Obtained Value',
417
         color: '#e70033',
614
         color: '#e70033',
418
         dataLabels: {
615
         dataLabels: {
429
         data:[
626
         data:[
430
             @foreach($outcomes as $index => $outcome)
627
             @foreach($outcomes as $index => $outcome)
431
                 @if(
628
                 @if(
432
-                    is_array($outcomes_attempted_todo)
433
-                    && array_key_exists($outcome->id, $outcomes_attempted_todo)
434
-                    && $outcomes_attempted_todo[$outcome->id]!=0)
435
-                    {{{ ($outcomes_achieved_todo[$outcome->id]/$outcomes_attempted_todo[$outcome->id])*100 }}},
436
-                @else
629
+                    is_array($outcomes_undergraduate_attempted_todo)
630
+                    && array_key_exists($outcome->id, $outcomes_undergraduate_attempted_todo)
631
+                    && $outcomes_undergraduate_attempted_todo[$outcome->id]!=0
632
+                    && isset($outcomes_undergraduate_achieved_todo[$outcome->id]))
633
+
634
+                    {{{ ($outcomes_undergraduate_achieved_todo[$outcome->id]/$outcomes_undergraduate_attempted_todo[$outcome->id])*100 }}},
635
+                    @else
636
+                
437
                     0,
637
                     0,
438
                 @endif
638
                 @endif
439
             @endforeach
639
             @endforeach
446
         type: 'bar'
646
         type: 'bar'
447
     }, 
647
     }, 
448
     title: {
648
     title: {
449
-        text: 'Performance of {{ $school->name }} Students by Combined Learning Outcome'
649
+        text: 'Performance of {{ $school->name }} Undergraduate Students by Combined Learning Outcome'
450
     },
650
     },
451
     legend: {
651
     legend: {
452
                 reversed: true,
652
                 reversed: true,
454
     xAxis: {
654
     xAxis: {
455
         categories: [
655
         categories: [
456
             @foreach($outcomes_colap as $outcome)
656
             @foreach($outcomes_colap as $outcome)
457
-                "{{{ $outcome->name }}}<br>(N = {{{ $outcomes_attempted_colap_todo[$outcome->id] }}}, {{{ $outcomes_achieved_colap_todo[$outcome->id] }}})",
657
+            @if(isset($outcomes_undergraduate_attempted_colap_todo[$outcome->id]) &&
658
+                    isset($outcomes_undergraduate_achieved_colap_todo[$outcome->id]))
659
+                    "{{{ $outcome->name }}}<br>(N = {{{ $outcomes_undergraduate_attempted_colap_todo[$outcome->id] }}}, {{{ $outcomes_undergraduate_achieved_colap_todo[$outcome->id] }}})",
660
+                    @elseif(isset($outcomes_undergraduate_attempted_colap_todo[$outcome->id]))
661
+                    "{{{ $outcome->name }}}<br>(N = {{{ $outcomes_undergraduate_attempted_colap_todo[$outcome->id] }}}, 0)",
662
+                    
663
+                    @else
664
+                        "{{{ $outcome->name }}}<br>(N = 0, 0)",         	
665
+                    @endif
666
+               @endforeach
667
+        ],
668
+        labels: {
669
+            style: {
670
+                fontSize:'11px'
671
+            },
672
+            step:1,
673
+            useHTML:true,
674
+            formatter: function() {
675
+                return '<div style="width:200px; word-break:break; text-overflow:ellipsis; overflow:hidden;">'+this.value+'</div>';
676
+            },
677
+        }
678
+    },
679
+    yAxis: {
680
+        min: 0,
681
+        max: 100,
682
+        title: {
683
+            text: 'Percentage'
684
+        },
685
+        			plotLines:[{
686
+		value:70,
687
+		color: '#000',
688
+		width:3,
689
+		zIndex:4,
690
+		label:{
691
+			text: 'Goal (70%)',
692
+			style: {
693
+				color: '#000',
694
+				fontSize: '14px',
695
+			}
696
+
697
+		}
698
+	}]
699
+
700
+    },
701
+    tooltip: {
702
+        headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
703
+        pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
704
+            '<td style="padding:0"><b>{point.y:.2f}</b></td></tr>',
705
+        footerFormat: '</table>',
706
+        shared: true,
707
+        useHTML: true
708
+    },
709
+    plotOptions: {
710
+        bar: {
711
+            //grouping: false,
712
+            shadow: false,
713
+            borderWidth: 0,
714
+        },
715
+        series: {
716
+        pointPadding: 0,
717
+        groupPadding: 0.075
718
+        },
719
+    },
720
+    series: [/*{
721
+        name: 'Expected Value',
722
+        color: '#555555',
723
+        dataLabels: {
724
+            enabled: true,
725
+            fontSize: 8,
726
+            color: '#fff',
727
+            align: 'right',
728
+            format: '{y:.1f}%',
729
+            style: {
730
+                //fontWeight: 'bold'
731
+            },
732
+            y:-1
733
+        },
734
+        data: [
735
+            @foreach($outcomes_colap as $index => $outcome)
736
+                @if(
737
+                    is_array($outcomes_undergraduate_attempted_colap_todo)
738
+                    && array_key_exists($outcome->id, $outcomes_undergraduate_attempted_colap_todo)
739
+                    && $outcomes_undergraduate_attempted_colap_todo[$outcome->id]!=0)
740
+                @else
741
+                    0,
742
+                @endif
743
+            @endforeach
744
+        ]
745
+
746
+    },*/{
747
+        name: 'Obtained Value',
748
+        color: '#e70033',
749
+        dataLabels: {
750
+            enabled: true,
751
+            fontSize: 8,
752
+            color: '#fff',
753
+            align: 'right',
754
+            format: '{y:.1f}%',
755
+            style: {
756
+                //fontWeight: 'bold'
757
+            },
758
+            y:-1
759
+        },
760
+        data:[
761
+            @foreach($outcomes_colap as $index => $outcome)
762
+                @if(
763
+                    is_array($outcomes_undergraduate_attempted_colap_todo)
764
+                    && array_key_exists($outcome->id, $outcomes_undergraduate_attempted_colap_todo)
765
+                    && $outcomes_undergraduate_attempted_colap_todo[$outcome->id]!=0
766
+                    && isset($outcomes_undergraduate_achieved_colap_todo[$outcome->id]))
767
+                    {{{ ($outcomes_undergraduate_achieved_colap_todo[$outcome->id]/$outcomes_undergraduate_attempted_colap_todo[$outcome->id])*100 }}},
768
+                @else
769
+                    0,
770
+                @endif
458
             @endforeach
771
             @endforeach
772
+        ]
773
+    }]
774
+});
775
+$('#graph3').highcharts({
776
+    chart: {
777
+        type: 'bar'
778
+    }, 
779
+    title: {
780
+        text: 'Performance of {{ $school->name }} Graduate Students by Combined Learning Outcome'
781
+    },
782
+    legend: {
783
+                reversed: true,
784
+            },
785
+    xAxis: {
786
+        categories: [
787
+            @foreach($outcomes_colap as $outcome)
788
+            @if(isset($outcomes_graduate_attempted_colap_todo[$outcome->id])
789
+            && isset($outcomes_graduate_achieved_colap_todo[$outcome->id]))
790
+                "{{{ $outcome->name }}}<br>(N = {{{ $outcomes_graduate_attempted_colap_todo[$outcome->id] }}}, {{{ $outcomes_graduate_achieved_colap_todo[$outcome->id] }}})",
791
+            @elseif(isset($outcomes_graduate_attempted_colap_todo[$outcome->id]))
792
+            "{{{ $outcome->name }}}<br>(N = {{{ $outcomes_graduate_attempted_colap_todo[$outcome->id] }}}, 0)",
793
+          @else
794
+          "{{{ $outcome->name }}}<br>(N = 0, 0)",
795
+          @endif
796
+                @endforeach
459
         ],
797
         ],
460
         labels: {
798
         labels: {
461
             style: {
799
             style: {
509
         groupPadding: 0.075
847
         groupPadding: 0.075
510
         },
848
         },
511
     },
849
     },
512
-    series: [{
850
+    series: [/*{
513
         name: 'Expected Value',
851
         name: 'Expected Value',
514
         color: '#555555',
852
         color: '#555555',
515
         dataLabels: {
853
         dataLabels: {
526
         data: [
864
         data: [
527
             @foreach($outcomes_colap as $index => $outcome)
865
             @foreach($outcomes_colap as $index => $outcome)
528
                 @if(
866
                 @if(
529
-                    is_array($outcomes_attempted_colap_todo)
530
-                    && array_key_exists($outcome->id, $outcomes_attempted_colap_todo)
531
-                    && $outcomes_attempted_colap_todo[$outcome->id]!=0)
867
+                    is_array($outcomes_graduate_attempted_colap_todo)
868
+                    && array_key_exists($outcome->id, $outcomes_graduate_attempted_colap_todo)
869
+                    && $outcomes_graduate_attempted_colap_todo[$outcome->id]!=0
870
+                    )
532
                 @else
871
                 @else
533
                     0,
872
                     0,
534
                 @endif
873
                 @endif
535
             @endforeach
874
             @endforeach
536
         ]
875
         ]
537
 
876
 
538
-    },{
877
+    },*/{
539
         name: 'Obtained Value',
878
         name: 'Obtained Value',
540
         color: '#e70033',
879
         color: '#e70033',
541
         dataLabels: {
880
         dataLabels: {
552
         data:[
891
         data:[
553
             @foreach($outcomes_colap as $index => $outcome)
892
             @foreach($outcomes_colap as $index => $outcome)
554
                 @if(
893
                 @if(
555
-                    is_array($outcomes_attempted_colap_todo)
556
-                    && array_key_exists($outcome->id, $outcomes_attempted_todo)
557
-                    && $outcomes_attempted_colap_todo[$outcome->id]!=0)
558
-                    {{{ ($outcomes_achieved_colap_todo[$outcome->id]/$outcomes_attempted_colap_todo[$outcome->id])*100 }}},
894
+                    is_array($outcomes_graduate_attempted_colap_todo)
895
+                    && array_key_exists($outcome->id, $outcomes_graduate_attempted_colap_todo)
896
+                    && $outcomes_graduate_attempted_colap_todo[$outcome->id]!=0
897
+                    && isset($outcomes_graduate_achieved_colap_todo[$outcome->id]))
898
+                    {{{ ($outcomes_graduate_achieved_colap_todo[$outcome->id]/$outcomes_graduate_attempted_colap_todo[$outcome->id])*100 }}},
899
+                @else
900
+                    0,
901
+                @endif
902
+            @endforeach
903
+        ]
904
+    }]
905
+});
906
+
907
+$('#graph4').highcharts({
908
+    chart: {
909
+        type: 'bar'
910
+    }, 
911
+    title: {
912
+        text: 'Performance of {{ $school->name }} Graduate Students by Uncombined Learning Outcome'
913
+    },
914
+    legend: {
915
+                reversed: true,
916
+            },
917
+    xAxis: {
918
+        categories: [
919
+            @foreach($outcomes as $outcome)
920
+                @if(isset($outcomes_graduate_attempted_todo[$outcome->id])
921
+                && isset($outcomes_graduate_achieved_todo[$outcome->id]))
922
+                    "{{{ $outcome->name }}}<br>(N = {{{ $outcomes_graduate_attempted_todo[$outcome->id] }}}, {{{ $outcomes_graduate_achieved_todo[$outcome->id] }}})",
923
+                @elseif(isset($outcomes_graduate_attempted_todo[$outcome->id]))
924
+                "{{{ $outcome->name }}}<br>(N = {{{ $outcomes_graduate_attempted_todo[$outcome->id] }}}, 0)",
925
+            @else
926
+            "{{{ $outcome->name }}}<br>(N = 0, 0)",
927
+          @endif  @endforeach
928
+        ],
929
+        labels: {
930
+            style: {
931
+                fontSize:'11px'
932
+            },
933
+            step:1,
934
+            useHTML:true,
935
+            formatter: function() {
936
+                return '<div style="width:200px; word-break:break; text-overflow:ellipsis; overflow:hidden;">'+this.value+'</div>';
937
+            },
938
+        }
939
+    },
940
+    yAxis: {
941
+        min: 0,
942
+        max: 100,
943
+        title: {
944
+            text: 'Percentage'
945
+        },
946
+        			plotLines:[{
947
+		value:70,
948
+		color: '#000',
949
+		width:3,
950
+		zIndex:4,
951
+		label:{
952
+			text: 'Goal (70%)',
953
+			style: {
954
+				color: '#000',
955
+				fontSize: '14px',
956
+			}
957
+
958
+		}
959
+	}]
960
+
961
+    },
962
+    tooltip: {
963
+        headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
964
+        pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
965
+            '<td style="padding:0"><b>{point.y:.2f}</b></td></tr>',
966
+        footerFormat: '</table>',
967
+        shared: true,
968
+        useHTML: true
969
+    },
970
+    plotOptions: {
971
+        bar: {
972
+            //grouping: false,
973
+            shadow: false,
974
+            borderWidth: 0,
975
+        },
976
+        series: {
977
+        pointPadding: 0,
978
+        groupPadding: 0.075
979
+        },
980
+    },
981
+    series: [/*{
982
+        name: 'Expected Value',
983
+        color: '#555555',
984
+        dataLabels: {
985
+            enabled: true,
986
+            fontSize: 8,
987
+            color: '#fff',
988
+            align: 'right',
989
+            format: '{y:.1f}%',
990
+            style: {
991
+                //fontWeight: 'bold'
992
+            },
993
+            y:-1
994
+        },
995
+        data: [
996
+            
997
+        ]
998
+
999
+    },*/{
1000
+        name: 'Obtained Value',
1001
+        color: '#e70033',
1002
+        dataLabels: {
1003
+            enabled: true,
1004
+            fontSize: 8,
1005
+            color: '#fff',
1006
+            align: 'right',
1007
+            format: '{y:.1f}%',
1008
+            style: {
1009
+                //fontWeight: 'bold'
1010
+            },
1011
+            y:-1
1012
+        },
1013
+        data:[
1014
+            @foreach($outcomes as $index => $outcome)
1015
+                @if(
1016
+                    is_array($outcomes_graduate_attempted_todo)
1017
+                    && array_key_exists($outcome->id, $outcomes_graduate_attempted_todo)
1018
+                    && $outcomes_graduate_attempted_todo[$outcome->id]!=0
1019
+                    && isset($outcomes_graduate_achieved_todo[$outcome->id]))
1020
+                    {{{ ($outcomes_graduate_achieved_todo[$outcome->id]/$outcomes_graduate_attempted_todo[$outcome->id])*100 }}},
559
                 @else
1021
                 @else
560
                     0,
1022
                     0,
561
                 @endif
1023
                 @endif

+ 1
- 1
app/views/local/professors/overview.blade.php View File

110
         <?php
110
         <?php
111
 
111
 
112
             $student_in_course = $grouped_course->getStudentReportForOutcome($grouped_course, Auth::user()->id);
112
             $student_in_course = $grouped_course->getStudentReportForOutcome($grouped_course, Auth::user()->id);
113
-            Log::info($student_in_course);
113
+            //Log::info($student_in_course);
114
         ?>
114
         ?>
115
         // Load grad charts after clicking tab, so they are sized correctly.  
115
         // Load grad charts after clicking tab, so they are sized correctly.  
116
         $('#graph-{{ $index }}').highcharts({
116
         $('#graph-{{ $index }}').highcharts({

+ 1
- 2
app/views/local/professors/program.blade.php View File

13
 @stop
13
 @stop
14
 
14
 
15
 @section('main')
15
 @section('main')
16
-
17
-<button type='button' class = 'btn btn-primary' id="change-view-btn" onclick="changeView('#allGraph','#programGraph', '', 'Show All Students')">Show Program Students</button>
16
+<a href="{{ action('ProgramsController@studentsProgramAssessmentReportForProfessors', array($program->id)); }}" class="btn btn-primary pull-left" alt="print">Go to Performance by Program Students</a>
18
 <div class="row" id = "allGraph">
17
 <div class="row" id = "allGraph">
19
     <div class="col-md-12" id="graph"></div>
18
     <div class="col-md-12" id="graph"></div>
20
 </div>
19
 </div>