Gabriel Santiago Plaza преди 3 години
родител
ревизия
9781a16d7e
променени са 38 файла, в които са добавени 1538 реда и са изтрити 1593 реда
  1. 9
    1
      app/controllers/ActivitiesController.php
  2. 571
    585
      app/controllers/AdministratorsController.php
  3. 5
    5
      app/controllers/AnnualPlansController.php
  4. 37
    33
      app/controllers/CriteriaController.php
  5. 11
    8
      app/controllers/Objective2Controller.php
  6. 32
    32
      app/controllers/OutcomesController.php
  7. 6
    6
      app/controllers/RubricsController.php
  8. 48
    6
      app/controllers/TemplatesController.php
  9. 23
    24
      app/database/old_migrations/2020_04_04_002657_create_new_criteria_table.php
  10. 14
    15
      app/database/old_migrations/2020_04_22_095649_create_new_criterion_rubric_table.php
  11. 14
    15
      app/database/old_migrations/2020_04_22_101110_create_new_rubric_activity_table.php
  12. 4
    5
      app/database/old_migrations/2020_10_04_142756_create_new_assessments_table.php
  13. 5
    7
      app/database/old_migrations/2020_10_05_130252_add_max_score_num_scales_new_criteria_table.php
  14. 2
    2
      app/database/old_migrations/2020_10_29_195413_MakeObjectiveNullable.php
  15. 1
    1
      app/database/old_migrations/2020_10_29_224846_Make_criterion_objective_outcome_changeForeignKey.php
  16. 1
    1
      app/database/old_migrations/2020_12_04_111708_dropDescriptionInCriteria.php
  17. 1
    1
      app/database/old_migrations/2020_12_10_175517_createProgramCriterion2.php
  18. 1
    1
      app/database/old_migrations/2021_03_03_090217_create_annual_plan_objective_table.php
  19. 1
    1
      app/database/old_migrations/2021_05_20_184230_create_rubric_scales.php
  20. 1
    1
      app/database/old_migrations/2021_05_20_212410_create_template_criterion.php
  21. 96
    104
      app/database/seeds/FillNewAssessmentActivityCriterion.php
  22. 62
    73
      app/database/seeds/FillNewCriterionRubric.php
  23. 5
    7
      app/database/unusedMigrations/2020_10_05_130252_add_max_score_num_scales_new_criteria_table.php
  24. 2
    2
      app/database/unusedMigrations/2020_10_08_203557_create_new_criteria_table2.php
  25. 2
    2
      app/database/unusedMigrations/2020_10_08_215013_drop_objective_id_new_criteria.php
  26. 1
    1
      app/database/unusedMigrations/2020_10_09_092810_drop_assessment_criteria.php
  27. 1
    1
      app/database/unusedMigrations/2020_10_09_094503_add_criterion_to_assessment.php
  28. 5
    6
      app/models/Activity.php
  29. 44
    52
      app/models/Course.php
  30. 52
    55
      app/models/Criterion.php
  31. 235
    263
      app/models/Outcome.php
  32. 216
    247
      app/models/Program.php
  33. 13
    16
      app/models/Rubric.php
  34. 3
    3
      app/views/local/managers/admins/criteria.blade.php
  35. 3
    3
      app/views/local/managers/pCoords/criteria.blade.php
  36. 3
    3
      app/views/local/managers/sCoords/criteria.blade.php
  37. 7
    4
      app/views/local/managers/shared/rubrics.blade.php
  38. 1
    1
      app/views/local/professors/rubrics.blade.php

+ 9
- 1
app/controllers/ActivitiesController.php Целия файл

164
         $students = $course->students;
164
         $students = $course->students;
165
 
165
 
166
         // Get rubric contents
166
         // Get rubric contents
167
-        $rubric = Rubric::find($activity->rubric_id);
167
+        $rubric = Rubric::find($activity->rubric[0]->id);
168
+        Log::info($rubric);
169
+        Log::info($activity);
170
+        $criterion_rubric = DB::table('criteria')
171
+            ->join("criterion_rubric", "criterion_rubric.criterion_id", "=", "criteria.id")
172
+            ->where('criterion_rubric.rubric_id', '=', $rubric->id)->get();
173
+        Log::info($rubric);
174
+        Log::info($criterion_rubric);
175
+
168
         $rubric_contents = json_decode($rubric->contents);
176
         $rubric_contents = json_decode($rubric->contents);
169
 
177
 
170
         // Get results
178
         // Get results

+ 571
- 585
app/controllers/AdministratorsController.php
Файловите разлики са ограничени, защото са твърде много
Целия файл


+ 5
- 5
app/controllers/AnnualPlansController.php Целия файл

193
     //foreach ($typ_info['courses'] as $course) {
193
     //foreach ($typ_info['courses'] as $course) {
194
     //  $typ_info['courses_objective'][$course->id] = DB::select("select * from objectives where id in (select objective_id from typ_semester_objectives where typ_semester_course_id in (select id from typ_semester_courses where typ_semester_outcome_id in (select id from typ_semester_outcome where semester_id = {$semester->id} and typ_program_id in (select id from typ_program where program_id ={$program_id}))and course_id ={$course->id}))");
194
     //  $typ_info['courses_objective'][$course->id] = DB::select("select * from objectives where id in (select objective_id from typ_semester_objectives where typ_semester_course_id in (select id from typ_semester_courses where typ_semester_outcome_id in (select id from typ_semester_outcome where semester_id = {$semester->id} and typ_program_id in (select id from typ_program where program_id ={$program_id}))and course_id ={$course->id}))");
195
     //  foreach ($typ_info['courses_objective'][$course->id] as $objective) {
195
     //  foreach ($typ_info['courses_objective'][$course->id] as $objective) {
196
-    //    $typ_info['criteria'][$objective->id] = DB::select("select * from new_criteria where id in (select criterion_id from criterion_objective_outcome where outcome_id = ? and objective_id = {$objective->id})", array(Input::get('id')));
196
+    //    $typ_info['criteria'][$objective->id] = DB::select("select * from criteria where id in (select criterion_id from criterion_objective_outcome where outcome_id = ? and objective_id = {$objective->id})", array(Input::get('id')));
197
     //  }
197
     //  }
198
     //}
198
     //}
199
     //$typ_info['courses'] = DB::select("select * from courses where id in (select course_id from typ_semester_courses where typ_semester_objective_id in (select id from typ_semester_objectives where typ_semester_outcome_id in (select id from type_semester_outcome where semester_id ={$semester->id} and typ_program_id in (select id from typ_program where program_id ={$program_id} )and outcome_id = ?)))", array(Input::get('id')));
199
     //$typ_info['courses'] = DB::select("select * from courses where id in (select course_id from typ_semester_courses where typ_semester_objective_id in (select id from typ_semester_objectives where typ_semester_outcome_id in (select id from type_semester_outcome where semester_id ={$semester->id} and typ_program_id in (select id from typ_program where program_id ={$program_id} )and outcome_id = ?)))", array(Input::get('id')));
200
     //$typ_info['unique_objective'] = DB::select("select * from objectives where id in (select distinct objective_id from typ_semester_objectives where  typ_semester_outcome_id in (select id from typ_semester_outcome where semester_id = {$semester->id} and outcome_id =? and typ_program_id in (select id from typ_program where program_id ={$program_id})))", array(Input::get('id')));
200
     //$typ_info['unique_objective'] = DB::select("select * from objectives where id in (select distinct objective_id from typ_semester_objectives where  typ_semester_outcome_id in (select id from typ_semester_outcome where semester_id = {$semester->id} and outcome_id =? and typ_program_id in (select id from typ_program where program_id ={$program_id})))", array(Input::get('id')));
201
     //foreach ($typ_info['unique_objective'] as $objective) {
201
     //foreach ($typ_info['unique_objective'] as $objective) {
202
     //  $typ_info['courses_objective'][$objective->id] = DB::select("select * from courses where id in (SELECT course_id from typ_semester_courses where typ_semester_outcome_id in (select id from typ_semester_outcome where semester_id={$semester->id} and outcome_id =? and typ_program_id in (select id from typ_program where program_id = {$program_id})) and id in (select typ_semester_course_id from typ_semester_objectives where objective_id  = {$objective->id}))", array(Input::get('id')));
202
     //  $typ_info['courses_objective'][$objective->id] = DB::select("select * from courses where id in (SELECT course_id from typ_semester_courses where typ_semester_outcome_id in (select id from typ_semester_outcome where semester_id={$semester->id} and outcome_id =? and typ_program_id in (select id from typ_program where program_id = {$program_id})) and id in (select typ_semester_course_id from typ_semester_objectives where objective_id  = {$objective->id}))", array(Input::get('id')));
203
-    //  $typ_info['criteria'][$objective->id] = DB::select("select * from new_criteria where id in (select criterion_id from criterion_objective_outcome where outcome_id = ? and objective_id = {$objective->id})", array(Input::get('id')));
203
+    //  $typ_info['criteria'][$objective->id] = DB::select("select * from criteria where id in (select criterion_id from criterion_objective_outcome where outcome_id = ? and objective_id = {$objective->id})", array(Input::get('id')));
204
     //}
204
     //}
205
     $annual_plan = DB::select("select id from annual_plans where (semester_start = {$semester->id} or semester_end ={$semester->id}) and program_id ={$program_id}")[0];
205
     $annual_plan = DB::select("select id from annual_plans where (semester_start = {$semester->id} or semester_end ={$semester->id}) and program_id ={$program_id}")[0];
206
     $typ_info['objectives'] = DB::select("select * from objectives where id in (select objective_id from typ_semester_objectives where typ_semester_outcome_id in(select id from typ_semester_outcome where outcome_id = ? and semester_id = {$semester->id} and typ_program_id in (select id from typ_program where program_id ={$program_id})))", array(Input::get('id')));
206
     $typ_info['objectives'] = DB::select("select * from objectives where id in (select objective_id from typ_semester_objectives where typ_semester_outcome_id in(select id from typ_semester_outcome where outcome_id = ? and semester_id = {$semester->id} and typ_program_id in (select id from typ_program where program_id ={$program_id})))", array(Input::get('id')));
209
 
209
 
210
       $typ_info['courses'][$objective->id] = DB::select("select c.id, c.number, c.code, typ.id typ_course_id from courses c, typ_semester_courses typ, (select course_id, id  from typ_semester_courses where typ_semester_objective_id in (select id from typ_semester_objectives where objective_id ={$objective->id} and typ_semester_outcome_id in (select id from typ_semester_outcome where outcome_id =? and semester_id ={$semester->id} and typ_program_id in(select id from typ_program where program_id ={$program_id})))) rel where typ.course_id =c.id and rel.course_id = c.id and typ.id = rel.id ", array(Input::get('id')));
210
       $typ_info['courses'][$objective->id] = DB::select("select c.id, c.number, c.code, typ.id typ_course_id from courses c, typ_semester_courses typ, (select course_id, id  from typ_semester_courses where typ_semester_objective_id in (select id from typ_semester_objectives where objective_id ={$objective->id} and typ_semester_outcome_id in (select id from typ_semester_outcome where outcome_id =? and semester_id ={$semester->id} and typ_program_id in(select id from typ_program where program_id ={$program_id})))) rel where typ.course_id =c.id and rel.course_id = c.id and typ.id = rel.id ", array(Input::get('id')));
211
 
211
 
212
-      $typ_info['criteria'][$objective->id] = DB::select("select * from new_criteria where id in (select criterion_id from criterion_objective_outcome where outcome_id = ? and objective_id = {$objective->id})", array(Input::get('id')));
212
+      $typ_info['criteria'][$objective->id] = DB::select("select * from criteria where id in (select criterion_id from criterion_objective_outcome where outcome_id = ? and objective_id = {$objective->id})", array(Input::get('id')));
213
       Log::info($typ_info['criteria'][$objective->id]);
213
       Log::info($typ_info['criteria'][$objective->id]);
214
       $typ_info['typ_objective_id'][$objective->id] = DB::select("select id from typ_semester_objectives where objective_id = {$objective->id} and typ_semester_outcome_id in (select id from typ_semester_outcome where outcome_id =? and semester_id ={$semester->id} and typ_program_id in (select id from typ_program where program_id ={$program_id}))", array(Input::get('id')));
214
       $typ_info['typ_objective_id'][$objective->id] = DB::select("select id from typ_semester_objectives where objective_id = {$objective->id} and typ_semester_outcome_id in (select id from typ_semester_outcome where outcome_id =? and semester_id ={$semester->id} and typ_program_id in (select id from typ_program where program_id ={$program_id}))", array(Input::get('id')));
215
       Log::info($typ_info['typ_objective_id'][$objective->id]);
215
       Log::info($typ_info['typ_objective_id'][$objective->id]);
332
         $annual_plan['first']['typ_objective_id'][$objective->id] = DB::select("select id from typ_semester_objectives where objective_id = {$objective->id} and  typ_semester_outcome_id in (select id from typ_semester_outcome where outcome_id ={$outcomes->id} and semester_id ={$an_semesters->semester_start} and typ_program_id in(select id from typ_program where program_id ={$an_semesters->program_id})) ")[0];
332
         $annual_plan['first']['typ_objective_id'][$objective->id] = DB::select("select id from typ_semester_objectives where objective_id = {$objective->id} and  typ_semester_outcome_id in (select id from typ_semester_outcome where outcome_id ={$outcomes->id} and semester_id ={$an_semesters->semester_start} and typ_program_id in(select id from typ_program where program_id ={$an_semesters->program_id})) ")[0];
333
         $annual_plan['first']['courses'][$objective->id] = DB::select("select typ.id typ_id, typ.course_id, c.code, c.number from (select course_id, id from typ_semester_courses where typ_semester_objective_id = {$annual_plan['first']['typ_objective_id'][$objective->id]->id}) typ, courses c where c.id = typ.course_id");
333
         $annual_plan['first']['courses'][$objective->id] = DB::select("select typ.id typ_id, typ.course_id, c.code, c.number from (select course_id, id from typ_semester_courses where typ_semester_objective_id = {$annual_plan['first']['typ_objective_id'][$objective->id]->id}) typ, courses c where c.id = typ.course_id");
334
         foreach ($annual_plan['first']['courses'][$objective->id] as $course) {
334
         foreach ($annual_plan['first']['courses'][$objective->id] as $course) {
335
-          $annual_plan['first']['criteria'][$objective->id][$course->course_id] = DB::select("select * from new_criteria where id in(select criteria_id from annual_plan_objective where annual_plan_id = {$an_id} and typ_semester_course_id = {$course->typ_id} )");
335
+          $annual_plan['first']['criteria'][$objective->id][$course->course_id] = DB::select("select * from criteria where id in(select criteria_id from annual_plan_objective where annual_plan_id = {$an_id} and typ_semester_course_id = {$course->typ_id} )");
336
         }
336
         }
337
         Log::info($objective->id);
337
         Log::info($objective->id);
338
         $annual_plan['first']['trans_actions'][$objective->id] = DB::select("select * from transformative_actions where id in (select trans_id from annual_plan_transformative where typ_semester_objective_id ={$annual_plan['first']['typ_objective_id'][$objective->id]->id})");
338
         $annual_plan['first']['trans_actions'][$objective->id] = DB::select("select * from transformative_actions where id in (select trans_id from annual_plan_transformative where typ_semester_objective_id ={$annual_plan['first']['typ_objective_id'][$objective->id]->id})");
355
 
355
 
356
         $annual_plan['second']['courses'][$objective->id] = DB::select("select typ.id typ_id, typ.course_id, c.code, c.number from (select course_id, id from typ_semester_courses where typ_semester_objective_id = {$annual_plan['second']['typ_objective_id'][$objective->id]->id}) typ, courses c where c.id = typ.course_id");
356
         $annual_plan['second']['courses'][$objective->id] = DB::select("select typ.id typ_id, typ.course_id, c.code, c.number from (select course_id, id from typ_semester_courses where typ_semester_objective_id = {$annual_plan['second']['typ_objective_id'][$objective->id]->id}) typ, courses c where c.id = typ.course_id");
357
         foreach ($annual_plan['second']['courses'][$objective->id] as $course) {
357
         foreach ($annual_plan['second']['courses'][$objective->id] as $course) {
358
-          $annual_plan['second']['criteria'][$objective->id][$course->course_id] = DB::select("select * from new_criteria where id in(select criteria_id from annual_plan_objective where annual_plan_id = {$an_id} and typ_semester_course_id ={$course->typ_id})");
358
+          $annual_plan['second']['criteria'][$objective->id][$course->course_id] = DB::select("select * from criteria where id in(select criteria_id from annual_plan_objective where annual_plan_id = {$an_id} and typ_semester_course_id ={$course->typ_id})");
359
         }
359
         }
360
 
360
 
361
         $annual_plan['second']['trans_actions'][$objective->id] = DB::select("select * from transformative_actions where id in (select trans_id from annual_plan_transformative where typ_semester_objective_id ={$annual_plan['second']['typ_objective_id'][$objective->id]->id})");
361
         $annual_plan['second']['trans_actions'][$objective->id] = DB::select("select * from transformative_actions where id in (select trans_id from annual_plan_transformative where typ_semester_objective_id ={$annual_plan['second']['typ_objective_id'][$objective->id]->id})");

+ 37
- 33
app/controllers/CriteriaController.php Целия файл

18
         $userProgram = DB::select("select program_user.program_id from program_user where user_id = {$userProgram}");
18
         $userProgram = DB::select("select program_user.program_id from program_user where user_id = {$userProgram}");
19
         Log::info($userProgram);
19
         Log::info($userProgram);
20
         $title = "Criteria";
20
         $title = "Criteria";
21
-        $outcomes = Outcome::orderBy('name', 'ASC')->lists('name', 'id');
21
+        $outcomes = Outcome::where("deactivation_date", '=', null)->orderBy('name', 'ASC')->lists('name', 'id');
22
 
22
 
23
         $criteria = Criterion::withTrashed()->orderBy('name', 'ASC')->get();
23
         $criteria = Criterion::withTrashed()->orderBy('name', 'ASC')->get();
24
         $programs = Program::where("id", "=", $userProgram[0]->program_id)->get();
24
         $programs = Program::where("id", "=", $userProgram[0]->program_id)->get();
30
         $userSchool = Auth::user()['school_id'];
30
         $userSchool = Auth::user()['school_id'];
31
         Log::info($userSchool);
31
         Log::info($userSchool);
32
         $title = "Criteria";
32
         $title = "Criteria";
33
-        $outcomes = Outcome::orderBy('name', 'ASC')->lists('name', 'id');
33
+        $outcomes = Outcome::where("deactivation_date", '=', null)->orderBy('name', 'ASC')->lists('name', 'id');
34
 
34
 
35
         $schools = School::find($userSchool)->get();
35
         $schools = School::find($userSchool)->get();
36
         $criteria = Criterion::withTrashed()->orderBy('name', 'ASC')->get();
36
         $criteria = Criterion::withTrashed()->orderBy('name', 'ASC')->get();
53
     public function fetchCriterionWithTemplate()
53
     public function fetchCriterionWithTemplate()
54
     {
54
     {
55
         $json_to_send = array();
55
         $json_to_send = array();
56
-        $json_to_send['criterion'] = DB::table('new_criteria')->where('id', '=', Input::get('id'))->first();
56
+        $json_to_send['criterion'] = DB::table('criteria')->where('id', '=', Input::get('id'))->first();
57
 
57
 
58
 
58
 
59
 
59
 
63
     public function fetchCriterion()
63
     public function fetchCriterion()
64
     {
64
     {
65
         $json_to_send = array();
65
         $json_to_send = array();
66
-        $json_to_send['criterion'] = DB::table('new_criteria')->where('id', '=', Input::get('id'))->first();
66
+        $json_to_send['criterion'] = DB::table('criteria')->where('id', '=', Input::get('id'))->first();
67
 
67
 
68
 
68
 
69
 
69
 
75
         $program_id = Input::get('program_fetch');
75
         $program_id = Input::get('program_fetch');
76
         $outcome_id = Input::get('outcome_fetch');
76
         $outcome_id = Input::get('outcome_fetch');
77
         $json = array();
77
         $json = array();
78
-        $json['criterion'] = DB::select("SELECT * FROM `new_criteria` where id in (select criterion_id from criterion_objective_outcome where outcome_id ={$outcome_id}) and id in(select criterion_id from program_criterion where program_id = {$program_id})");
78
+        $json['criterion'] = DB::select("SELECT * FROM `criteria` where id in (select criterion_id from criterion_objective_outcome where outcome_id ={$outcome_id}) and id in(select criterion_id from program_criterion where program_id = {$program_id})");
79
 
79
 
80
         return json_encode($json);
80
         return json_encode($json);
81
     }
81
     }
96
     {
96
     {
97
 
97
 
98
         $json = array();
98
         $json = array();
99
-        $json['criteria'] = DB::select(" select * from new_criteria where id = ?", array(Input::get('id')));
99
+        $json['criteria'] = DB::select(" select * from criteria where id = ?", array(Input::get('id')));
100
         $json['outcomes'] = DB::select("select  DISTINCT outcomes.id, outcomes.name from outcomes , criterion_objective_outcome where criterion_objective_outcome.criterion_id = ? and outcomes.id = criterion_objective_outcome.outcome_id order by outcomes.id", array(Input::get('id')));
100
         $json['outcomes'] = DB::select("select  DISTINCT outcomes.id, outcomes.name from outcomes , criterion_objective_outcome where criterion_objective_outcome.criterion_id = ? and outcomes.id = criterion_objective_outcome.outcome_id order by outcomes.id", array(Input::get('id')));
101
         $json['objectives'] = DB::select("SELECT DISTINCT objectives.id, objectives.text FROM objectives, criterion_objective_outcome where criterion_objective_outcome.criterion_id = ? and criterion_objective_outcome.objective_id= objectives.id ", array(Input::get('id')));
101
         $json['objectives'] = DB::select("SELECT DISTINCT objectives.id, objectives.text FROM objectives, criterion_objective_outcome where criterion_objective_outcome.criterion_id = ? and criterion_objective_outcome.objective_id= objectives.id ", array(Input::get('id')));
102
         $json['objectives_outcome'] = DB::select("select objectives.id, objectives.text, objective_outcome.outcome_id from objective_outcome, objectives where objective_outcome.outcome_id in(select  DISTINCT outcomes.id from outcomes , criterion_objective_outcome where criterion_objective_outcome.criterion_id = ? and outcomes.id = criterion_objective_outcome.outcome_id) and objectives.id = objective_outcome.objective_id ORDER BY outcome_id", array(Input::get('id')));
102
         $json['objectives_outcome'] = DB::select("select objectives.id, objectives.text, objective_outcome.outcome_id from objective_outcome, objectives where objective_outcome.outcome_id in(select  DISTINCT outcomes.id from outcomes , criterion_objective_outcome where criterion_objective_outcome.criterion_id = ? and outcomes.id = criterion_objective_outcome.outcome_id) and objectives.id = objective_outcome.objective_id ORDER BY outcome_id", array(Input::get('id')));
103
         $json['program'] = DB::select("select criterion_id, program_id from program_criterion where criterion_id =?", array(Input::get('id')));
103
         $json['program'] = DB::select("select criterion_id, program_id from program_criterion where criterion_id =?", array(Input::get('id')));
104
-        $json['activity_criterion'] = DB::select("select * from new_assessments where activity_criterion_id  in (select id from activity_criterion where criterion_id = ?)", array(Input::get('id')));
104
+        $json['activity_criterion'] = DB::select("select * from assessments where activity_criterion_id  in (select id from activity_criterion where criterion_id = ?)", array(Input::get('id')));
105
 
105
 
106
         foreach ($json['outcomes'] as $id) {
106
         foreach ($json['outcomes'] as $id) {
107
             $outId = $id->id;
107
             $outId = $id->id;
114
 
114
 
115
     public function delete()
115
     public function delete()
116
     {
116
     {
117
-        DB::delete("delete from new_criteria where id = ?", array(Input::get('criterion_delete')));
117
+        DB::delete("delete from criteria where id = ?", array(Input::get('criterion_delete')));
118
         $role = Auth::user()['role'];
118
         $role = Auth::user()['role'];
119
         switch ($role) {
119
         switch ($role) {
120
             case 1:
120
             case 1:
186
 
186
 
187
         $clean_input['copyright'] = trim(preg_replace('/\t+/', '', Input::get('copyright')));
187
         $clean_input['copyright'] = trim(preg_replace('/\t+/', '', Input::get('copyright')));
188
         $clean_input['notes'] = trim(preg_replace('/\t+/', '', Input::get('notes')));
188
         $clean_input['notes'] = trim(preg_replace('/\t+/', '', Input::get('notes')));
189
-        $clean_input['maximum_score'] =  (int) Input::get('maximum_score');
190
-        $clean_input['scale_title'] = Input::get('title');
191
-        $clean_input['scale_description'] = Input::get('Scales');
192
-        $clean_input['min_score'] = Input::get('min');
193
-        $clean_input['max_score'] = Input::get('max');
189
+        // $clean_input['maximum_score'] =  (int) Input::get('maximum_score');
190
+        // $clean_input['scale_title'] = Input::get('title');
191
+        //$clean_input['scale_description'] = Input::get('Scales');
192
+        // $clean_input['min_score'] = Input::get('min');
193
+        //$clean_input['max_score'] = Input::get('max');
194
 
194
 
195
-        $clean_input['number_of_scales'] = sizeof($clean_input['scale_title']);
195
+        // $clean_input['number_of_scales'] = sizeof($clean_input['scale_title']);
196
 
196
 
197
 
197
 
198
         return $clean_input;
198
         return $clean_input;
207
                 'subcriteria' => $clean_input['subcriteria'],
207
                 'subcriteria' => $clean_input['subcriteria'],
208
                 'outcome_id' => $clean_input['outcome_id'],
208
                 'outcome_id' => $clean_input['outcome_id'],
209
                 'notes' => $clean_input['notes'],
209
                 'notes' => $clean_input['notes'],
210
-                'copyright' => $clean_input['copyright'],
211
-                'maximum_score' => $clean_input['maximum_score']
210
+                'copyright' => $clean_input['copyright']
211
+                //'maximum_score' => $clean_input['maximum_score']
212
             ),
212
             ),
213
             array(
213
             array(
214
                 'name' => 'required|string',
214
                 'name' => 'required|string',
216
                 'outcome_id' => 'required|array',
216
                 'outcome_id' => 'required|array',
217
 
217
 
218
                 'notes' => 'string',
218
                 'notes' => 'string',
219
-                'copyright' => 'string',
220
-                'maximum_score' => 'required|integer'
219
+                'copyright' => 'string'
220
+                //'maximum_score' => 'required|integer'
221
             )
221
             )
222
 
222
 
223
         );
223
         );
277
 
277
 
278
             //gabriel añadió aqui
278
             //gabriel añadió aqui
279
 
279
 
280
-            $criterion->number_of_scales = $clean_input['number_of_scales'];
281
-            $criterion->maximum_score = $clean_input['maximum_score'];
280
+            //$criterion->number_of_scales = $clean_input['number_of_scales'];
281
+            //$criterion->maximum_score = $clean_input['maximum_score'];
282
 
282
 
283
             if (Input::get('copyright'))
283
             if (Input::get('copyright'))
284
                 $criterion->copyright = $clean_input['copyright'];
284
                 $criterion->copyright = $clean_input['copyright'];
295
                 foreach ($clean_input['outcome_id'] as $outcome_id) {
295
                 foreach ($clean_input['outcome_id'] as $outcome_id) {
296
                     foreach ($clean_input['objective_id'] as $objective_id) {
296
                     foreach ($clean_input['objective_id'] as $objective_id) {
297
 
297
 
298
-                        DB::insert("insert into `criterion_objective_outcome` (`objective_id`, `outcome_id`, `criterion_id`, `objective_outcome_id`) values ({$objective_id},{$outcome_id}, {$criterionId}, 0)");
298
+                        DB::insert("insert into `criterion_objective_outcome` (`objective_id`, `outcome_id`, `criterion_id`) values ({$objective_id},{$outcome_id}, {$criterionId})");
299
                     }
299
                     }
300
                 }
300
                 }
301
 
301
 
302
-                for ($i = 0; $i < sizeof($clean_input['scale_title']); $i++) {
302
+                /*for ($i = 0; $i < sizeof($clean_input['scale_title']); $i++) {
303
                     $scale = new Scale;
303
                     $scale = new Scale;
304
                     $scale->title = $clean_input['scale_title'][$i];
304
                     $scale->title = $clean_input['scale_title'][$i];
305
                     $scale->position = $i + 1;
305
                     $scale->position = $i + 1;
324
                                 return Redirect::to('program-criteria')->withInput();
324
                                 return Redirect::to('program-criteria')->withInput();
325
                         }
325
                         }
326
                     }
326
                     }
327
-                }
327
+                }*/
328
 
328
 
329
                 foreach ($clean_input['program_id'] as $program_id) {
329
                 foreach ($clean_input['program_id'] as $program_id) {
330
                     DB::insert("insert into `program_criterion` (`criterion_id`, `program_id`) values({$criterionId},{$program_id})");
330
                     DB::insert("insert into `program_criterion` (`criterion_id`, `program_id`) values({$criterionId},{$program_id})");
369
     public function edit()
369
     public function edit()
370
     {
370
     {
371
         $title = "Criteria";
371
         $title = "Criteria";
372
-        $outcomes = Outcome::orderBy('name', 'ASC')->lists('name', 'id');
372
+        $outcomes = Outcome::where("deactivation_date", '=', null)->orderBy('name', 'ASC')->lists('name', 'id');
373
 
373
 
374
         $schools = School::orderBy('name', 'ASC')->get();
374
         $schools = School::orderBy('name', 'ASC')->get();
375
         $criteria = Criterion::withTrashed()->orderBy('name', 'ASC')->get();
375
         $criteria = Criterion::withTrashed()->orderBy('name', 'ASC')->get();
418
 
418
 
419
         $clean_input['copyright'] = trim(preg_replace('/\t+/', '', Input::get('copyright')));
419
         $clean_input['copyright'] = trim(preg_replace('/\t+/', '', Input::get('copyright')));
420
         $clean_input['notes'] = trim(preg_replace('/\t+/', '', Input::get('notes')));
420
         $clean_input['notes'] = trim(preg_replace('/\t+/', '', Input::get('notes')));
421
-        $clean_input['maximum_score'] = (int) Input::get('assoc_maximum_score');
421
+        /* $clean_input['maximum_score'] = (int) Input::get('assoc_maximum_score');
422
         $clean_input['scale_title'] = Input::get('assoc_title');
422
         $clean_input['scale_title'] = Input::get('assoc_title');
423
         $clean_input['scale_description'] = Input::get('assoc_scales');
423
         $clean_input['scale_description'] = Input::get('assoc_scales');
424
-        $clean_input['number_of_scales'] = sizeof($clean_input['scale_title']);
424
+        $clean_input['number_of_scales'] = sizeof($clean_input['scale_title']);*/
425
 
425
 
426
 
426
 
427
         return $clean_input;
427
         return $clean_input;
509
             if ($criterion->save()) {
509
             if ($criterion->save()) {
510
                 $criterionId = $criterion->id;
510
                 $criterionId = $criterion->id;
511
                 DB::delete("delete from `criterion_objective_outcome` where `criterion_id` ={$criterionId}");
511
                 DB::delete("delete from `criterion_objective_outcome` where `criterion_id` ={$criterionId}");
512
+                DB::delete("delete from `program_criterion` where `criterion_id` ={$criterionId}");
512
 
513
 
513
                 foreach ($clean_input['outcome_id'] as $outcome_id) {
514
                 foreach ($clean_input['outcome_id'] as $outcome_id) {
514
                     foreach ($clean_input['objective_id'] as $objective_id) {
515
                     foreach ($clean_input['objective_id'] as $objective_id) {
515
 
516
 
516
-                        DB::insert("insert into `criterion_objective_outcome` (`objective_id`, `outcome_id`, `criterion_id`,`objective_outcome_id`) values ({$objective_id},{$outcome_id}, {$criterionId}, 0)");
517
+                        DB::insert("insert into `criterion_objective_outcome` (`objective_id`, `outcome_id`, `criterion_id`) values ({$objective_id},{$outcome_id}, {$criterionId})");
517
                     }
518
                     }
518
                 }
519
                 }
519
                 /*DB::delete("delete from `scales` where id in (select scale_id id from criterion_scale where criterion_id = {$criterionId})");
520
                 /*DB::delete("delete from `scales` where id in (select scale_id id from criterion_scale where criterion_id = {$criterionId})");
541
                         }
542
                         }
542
                     }
543
                     }
543
                 }*/
544
                 }*/
545
+                foreach ($clean_input['program_id'] as $program_id) {
546
+                    DB::insert("insert into `program_criterion` (`criterion_id`, `program_id`) values({$criterionId},{$program_id})");
547
+                }
544
 
548
 
545
 
549
 
546
 
550
 
549
                 $role = Auth::user()['role'];
553
                 $role = Auth::user()['role'];
550
                 switch ($role) {
554
                 switch ($role) {
551
                     case 1:
555
                     case 1:
552
-                        return Redirect::to('objective')->withInput();
556
+                        return Redirect::to('criteria')->withInput();
553
 
557
 
554
                     case 2:
558
                     case 2:
555
-                        return Redirect::to('school-objective')->withInput();
559
+                        return Redirect::to('school-criteria')->withInput();
556
 
560
 
557
                     case 3:
561
                     case 3:
558
-                        return Redirect::to('program-objective')->withInput();
562
+                        return Redirect::to('program-criteria')->withInput();
559
                 }
563
                 }
560
             }
564
             }
561
 
565
 
566
                 $role = Auth::user()['role'];
570
                 $role = Auth::user()['role'];
567
                 switch ($role) {
571
                 switch ($role) {
568
                     case 1:
572
                     case 1:
569
-                        return Redirect::to('objective')->withInput();
573
+                        return Redirect::to('criteria')->withInput();
570
 
574
 
571
                     case 2:
575
                     case 2:
572
-                        return Redirect::to('school-objective')->withInput();
576
+                        return Redirect::to('school-criteria')->withInput();
573
 
577
 
574
                     case 3:
578
                     case 3:
575
-                        return Redirect::to('program-objective')->withInput();
579
+                        return Redirect::to('program-criteria')->withInput();
576
                 }
580
                 }
577
             }
581
             }
578
         }
582
         }

+ 11
- 8
app/controllers/Objective2Controller.php Целия файл

39
 		else
39
 		else
40
 			$program_id = NULL;
40
 			$program_id = NULL;
41
 
41
 
42
-		$saved_Objective = Objective::withTrashed()
43
-			->where('text', '=', $input['text'])
44
-			->where('outcome_id', '=', $input['outcome_id'])
45
-			->where('program_id', '=', $program_id)
42
+		$saved_Objective = DB::table('objectives')->join('objective_outcome', 'objective_outcome.objective_id', '=', 'objectives.id')
43
+			->join('objective_program', 'objective_program.objective_id', '=', 'objectives.id')
44
+			->where('objectives.text', '=', $input['text'])
45
+			->whereIn('objective_outcome.outcome_id', $input['outcome_id'])
46
+			->whereIn('objective_program.program_id', $input['program_id'])
46
 
47
 
47
-			->first();
48
+			->get();
48
 
49
 
49
 
50
 
50
 
51
 
51
-		if ($saved_Objective)
52
+		if (count($saved_Objective))
52
 			return false;
53
 			return false;
53
 		else
54
 		else
54
 			return true;
55
 			return true;
126
 		$json['program'] = DB::select("select program_id from objective_program where objective_id = ?", array(Input::get('id')));
127
 		$json['program'] = DB::select("select program_id from objective_program where objective_id = ?", array(Input::get('id')));
127
 		$json['outcome'] = DB::select("select outcome_id from objective_outcome outc where outc.objective_id = ?", array(Input::get('id')));
128
 		$json['outcome'] = DB::select("select outcome_id from objective_outcome outc where outc.objective_id = ?", array(Input::get('id')));
128
 		$json['objective'] = DB::select("select text, id from objectives where id =?", array(Input::get('id')));
129
 		$json['objective'] = DB::select("select text, id from objectives where id =?", array(Input::get('id')));
129
-		$json['assessment'] = DB::select("select * from assessments where activity_id  in (select activity_id from activity_criterion where criterion_id in (select criterion_id from criterion_objective_outcome where objective_id = ?))", array(Input::get('id')));
130
+		$json['assessment'] = DB::select("select * from assessments where activity_criterion_id  in (select id from activity_criterion where criterion_id in (select criterion_id from criterion_objective_outcome where objective_id = ?))", array(Input::get('id')));
131
+
130
 		$json['assoc_criteria'] = DB::select("select name from criteria where id in(select criterion_id from criterion_objective_outcome where objective_id =?)", array(Input::get('id')));
132
 		$json['assoc_criteria'] = DB::select("select name from criteria where id in(select criterion_id from criterion_objective_outcome where objective_id =?)", array(Input::get('id')));
133
+		Log::info('is here');
131
 		return json_encode($json);
134
 		return json_encode($json);
132
 	}
135
 	}
133
 	public function fetchAllobjectives()
136
 	public function fetchAllobjectives()
301
 	public function edit()
304
 	public function edit()
302
 	{
305
 	{
303
 		$title = "Objective";
306
 		$title = "Objective";
304
-		$outcomes = Outcome::orderBy('name', 'ASC')->lists('name', 'id');
307
+		$outcomes = Outcome::where('deactivation_date', '=', null)->orderBy('name', 'ASC')->lists('name', 'id');
305
 
308
 
306
 		$objectives = Objective::withTrashed()->orderBy('text', 'ASC')->get();
309
 		$objectives = Objective::withTrashed()->orderBy('text', 'ASC')->get();
307
 		$programs = Program::orderBy('name', 'ASC')->get();
310
 		$programs = Program::orderBy('name', 'ASC')->get();

+ 32
- 32
app/controllers/OutcomesController.php Целия файл

410
         if (Input::get('filter')) {
410
         if (Input::get('filter')) {
411
             switch (Input::get('filter')) {
411
             switch (Input::get('filter')) {
412
                 case 'all':
412
                 case 'all':
413
-                    return DB::table('new_criteria')
414
-                        ->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'new_criteria.id')
413
+                    return DB::table('criteria')
414
+                        ->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'criteria.id')
415
                         ->where('criterion_objective_outcome.outcome_id', '=', Input::get('id'))
415
                         ->where('criterion_objective_outcome.outcome_id', '=', Input::get('id'))
416
                         ->select('criterion_id as id', 'name')
416
                         ->select('criterion_id as id', 'name')
417
                         ->orderBy('name', 'ASC')
417
                         ->orderBy('name', 'ASC')
424
 
424
 
425
                         // Fetch all the programs whose school is the user's
425
                         // Fetch all the programs whose school is the user's
426
                         $program_ids = DB::table('programs')->where('school_id', Auth::user()->school_id)->lists('id');
426
                         $program_ids = DB::table('programs')->where('school_id', Auth::user()->school_id)->lists('id');
427
-                        $new_criteria = DB::table('new_criteria')
428
-                            ->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'new_criteria.id')
429
-                            ->join('program_criterion', 'program_criterion.criterion_id', '=', 'new_criteria.id')
427
+                        $criteria = DB::table('criteria')
428
+                            ->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'criteria.id')
429
+                            ->join('program_criterion', 'program_criterion.criterion_id', '=', 'criteria.id')
430
                             ->where('criterion_objective_outcome.outcome_id', '=', Input::get('id'))
430
                             ->where('criterion_objective_outcome.outcome_id', '=', Input::get('id'))
431
                             ->whereIn('program_criterion.program_id', $program_ids)
431
                             ->whereIn('program_criterion.program_id', $program_ids)
432
                             ->select('criterion_id as id', 'name')
432
                             ->select('criterion_id as id', 'name')
433
                             ->orderBy('name', 'ASC')
433
                             ->orderBy('name', 'ASC')
434
                             ->get();
434
                             ->get();
435
                         // Return all criteria belonging to any of those programs
435
                         // Return all criteria belonging to any of those programs
436
-                        return $new_criteria;
436
+                        return $criteria;
437
                     }
437
                     }
438
 
438
 
439
                     // If pcoord
439
                     // If pcoord
442
                         // Fetch all the programs from the user's school;
442
                         // Fetch all the programs from the user's school;
443
                         $program_ids = DB::table('programs')->where('school_id', Auth::user()->programs[0]->school->id)->lists('id');
443
                         $program_ids = DB::table('programs')->where('school_id', Auth::user()->programs[0]->school->id)->lists('id');
444
 
444
 
445
-                        return DB::table('new_criteria')
446
-                            ->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'new_criteria.id')
447
-                            ->join('program_criterion', 'program_criterion.criterion_id', '=', 'new_criteria.id')
445
+                        return DB::table('criteria')
446
+                            ->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'criteria.id')
447
+                            ->join('program_criterion', 'program_criterion.criterion_id', '=', 'criteria.id')
448
                             ->where('criterion_objective_outcome.outcome_id', '=', Input::get('id'))
448
                             ->where('criterion_objective_outcome.outcome_id', '=', Input::get('id'))
449
                             ->whereIn('program_criterion.program_id', $program_ids)
449
                             ->whereIn('program_criterion.program_id', $program_ids)
450
                             ->select('criterion_id as id', 'name')
450
                             ->select('criterion_id as id', 'name')
455
                     break;
455
                     break;
456
 
456
 
457
                 case 'program':
457
                 case 'program':
458
-                    $new_criteria = DB::table('new_criteria')
459
-                        ->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'new_criteria.id')
460
-                        ->join('program_criterion', 'program_criterion.criterion_id', '=', 'new_criteria.id')
458
+                    $criteria = DB::table('criteria')
459
+                        ->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'criteria.id')
460
+                        ->join('program_criterion', 'program_criterion.criterion_id', '=', 'criteria.id')
461
                         ->where('criterion_objective_outcome.outcome_id', '=', Input::get('id'))
461
                         ->where('criterion_objective_outcome.outcome_id', '=', Input::get('id'))
462
                         ->whereIn('program_criterion.program_id', Auth::user()->programs->lists('id'))
462
                         ->whereIn('program_criterion.program_id', Auth::user()->programs->lists('id'))
463
                         ->select('criterion_id as id', 'name')
463
                         ->select('criterion_id as id', 'name')
464
                         ->orderBy('name', 'ASC')
464
                         ->orderBy('name', 'ASC')
465
                         ->get();
465
                         ->get();
466
-                    return $new_criteria;
466
+                    return $criteria;
467
                     break;
467
                     break;
468
 
468
 
469
                 default:
469
                 default:
470
-                    return DB::table('new_criteria')
471
-                        ->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'new_criteria.id')
470
+                    return DB::table('criteria')
471
+                        ->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'criteria.id')
472
                         ->where('criterion_objective_outcome.outcome_id', '=', Input::get('id'))
472
                         ->where('criterion_objective_outcome.outcome_id', '=', Input::get('id'))
473
                         ->select('criterion_id as id', 'name')
473
                         ->select('criterion_id as id', 'name')
474
                         ->orderBy('name', 'ASC')
474
                         ->orderBy('name', 'ASC')
476
                     break;
476
                     break;
477
             }
477
             }
478
         } else {
478
         } else {
479
-            return DB::table('new_criteria')
480
-                ->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'new_criteria.id')
479
+            return DB::table('criteria')
480
+                ->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'criteria.id')
481
                 ->where('criterion_objective_outcome.outcome_id', '=', Input::get('id'))
481
                 ->where('criterion_objective_outcome.outcome_id', '=', Input::get('id'))
482
                 ->select('criterion_id as id', 'name')
482
                 ->select('criterion_id as id', 'name')
483
                 ->orderBy('name', 'ASC')
483
                 ->orderBy('name', 'ASC')
552
         $outcome = $outcome_info[0];
552
         $outcome = $outcome_info[0];
553
 
553
 
554
         $diferent_levels = DB::table('criterion_objective_outcome')
554
         $diferent_levels = DB::table('criterion_objective_outcome')
555
-            ->join('new_criteria', 'new_criteria.id', '=', 'criterion_objective_outcome.criterion_id')
555
+            ->join('criteria', 'criteria.id', '=', 'criterion_objective_outcome.criterion_id')
556
             ->join('objectives', 'objectives.id', '=', 'criterion_objective_outcome.objective_id')
556
             ->join('objectives', 'objectives.id', '=', 'criterion_objective_outcome.objective_id')
557
             ->where('criterion_objective_outcome.outcome_id', $id)
557
             ->where('criterion_objective_outcome.outcome_id', $id)
558
-            ->distinct('new_criteria.number_of_scales')
559
-            ->select('new_criteria.number_of_scales as levels')
560
-            ->orderBy('new_criteria.number_of_scales', 'asc')
558
+            ->distinct('criteria.number_of_scales')
559
+            ->select('criteria.number_of_scales as levels')
560
+            ->orderBy('criteria.number_of_scales', 'asc')
561
             ->get();
561
             ->get();
562
 
562
 
563
         $criteria_array = array();
563
         $criteria_array = array();
568
 
568
 
569
             // buscar todos los criterios con el level y ponerlos en un array
569
             // buscar todos los criterios con el level y ponerlos en un array
570
             $outcome_criterias = DB::table('criterion_objective_outcome')
570
             $outcome_criterias = DB::table('criterion_objective_outcome')
571
-                ->join('new_criteria', 'new_criteria.id', '=', 'criterion_objective_outcome.criterion_id')
571
+                ->join('criteria', 'criteria.id', '=', 'criterion_objective_outcome.criterion_id')
572
                 ->join('objectives', 'objectives.id', '=', 'criterion_objective_outcome.objective_id')
572
                 ->join('objectives', 'objectives.id', '=', 'criterion_objective_outcome.objective_id')
573
                 ->where('criterion_objective_outcome.outcome_id', $id)
573
                 ->where('criterion_objective_outcome.outcome_id', $id)
574
-                ->where('new_criteria.number_of_scales', $level)
575
-                ->whereNull('new_criteria.deleted_at')
576
-                ->select('new_criteria.id', 'new_criteria.name')
577
-                ->orderBy('new_criteria.name', 'asc')
574
+                ->where('criteria.number_of_scales', $level)
575
+                ->whereNull('criteria.deleted_at')
576
+                ->select('criteria.id', 'criteria.name')
577
+                ->orderBy('criteria.name', 'asc')
578
                 ->get();
578
                 ->get();
579
             $outcome_criterias = $outcome_criterias;
579
             $outcome_criterias = $outcome_criterias;
580
 
580
 
585
                         DB::raw("
585
                         DB::raw("
586
                   SELECT *
586
                   SELECT *
587
                   FROM (
587
                   FROM (
588
-                    SELECT new_criteria.id as criterion_id,
588
+                    SELECT criteria.id as criterion_id,
589
                       ROW_NUMBER() OVER(PARTITION BY scales.id) rn,
589
                       ROW_NUMBER() OVER(PARTITION BY scales.id) rn,
590
                       scales.position,
590
                       scales.position,
591
                       scales.title, scales.description,
591
                       scales.title, scales.description,
592
                       criterion_objective_outcome.outcome_id,criterion_objective_outcome.objective_id,
592
                       criterion_objective_outcome.outcome_id,criterion_objective_outcome.objective_id,
593
                       criterion_scale.scale_id
593
                       criterion_scale.scale_id
594
-                    FROM new_criteria,criterion_scale,scales, criterion_objective_outcome, objectives
595
-                    where new_criteria.id=criterion_scale.criterion_id
594
+                    FROM criteria,criterion_scale,scales, criterion_objective_outcome, objectives
595
+                    where criteria.id=criterion_scale.criterion_id
596
                       and scales.id = criterion_scale.scale_id
596
                       and scales.id = criterion_scale.scale_id
597
-                      and new_criteria.id = criterion_objective_outcome.criterion_id
597
+                      and criteria.id = criterion_objective_outcome.criterion_id
598
                       and objectives.id = criterion_objective_outcome.objective_id
598
                       and objectives.id = criterion_objective_outcome.objective_id
599
                       and criterion_objective_outcome.outcome_id = $id
599
                       and criterion_objective_outcome.outcome_id = $id
600
-                      and new_criteria.id = $criteria_id->id
601
-                    ORDER BY new_criteria.name ASC) a
600
+                      and criteria.id = $criteria_id->id
601
+                    ORDER BY criteria.name ASC) a
602
                   WHERE rn = 1
602
                   WHERE rn = 1
603
                   ORDER BY `a`.`position` ASC
603
                   ORDER BY `a`.`position` ASC
604
                       ")
604
                       ")

+ 6
- 6
app/controllers/RubricsController.php Целия файл

78
 
78
 
79
 
79
 
80
         // Get rubric contents
80
         // Get rubric contents
81
-        $rubric_contents = json_decode(Input::get('contents'));
81
+
82
         $scales = Input::get('scales');
82
         $scales = Input::get('scales');
83
         $criteria = Input::get('criteria');
83
         $criteria = Input::get('criteria');
84
 
84
 
85
         // Process rubric
85
         // Process rubric
86
         $rubric = new Rubric;
86
         $rubric = new Rubric;
87
         $rubric->name = Input::get('name');
87
         $rubric->name = Input::get('name');
88
-        $rubric->contents = json_encode($rubric_contents);
88
+
89
         $rubric->expected_percentage = Input::get('expected_percentage');
89
         $rubric->expected_percentage = Input::get('expected_percentage');
90
         $rubric->expected_points = Input::get('expected_points');
90
         $rubric->expected_points = Input::get('expected_points');
91
         $rubric->user_id = Auth::id();
91
         $rubric->user_id = Auth::id();
99
             //             $activity->rubric_id = $rubric->id;
99
             //             $activity->rubric_id = $rubric->id;
100
             //             $activity->save();
100
             //             $activity->save();
101
 
101
 
102
-            DB::table('new_rubric_activity')->insert(array('activity_id' => Input::get('activity_id'), 'rubric_id' => $rubric->id));
102
+            DB::table('rubric_activity')->insert(array('activity_id' => Input::get('activity_id'), 'rubric_id' => $rubric->id));
103
             DB::commit();
103
             DB::commit();
104
 
104
 
105
             $rubricId = $rubric->id;
105
             $rubricId = $rubric->id;
106
             foreach ($criteria as $index => $criterion_id) {
106
             foreach ($criteria as $index => $criterion_id) {
107
-                DB::insert("insert into new_criterion_rubric (`rubric_id`,`criterion_id`) values ({$rubricId},{$criterion_id})");
108
-                $rubric_criterion_id = DB::table('new_criterion_rubric')->where('rubric_id', '=', $rubricId)
107
+                DB::insert("insert into criterion_rubric (`rubric_id`,`criterion_id`) values ({$rubricId},{$criterion_id})");
108
+                $rubric_criterion_id = DB::table('criterion_rubric')->where('rubric_id', '=', $rubricId)
109
                     ->where('criterion_id', '=', $criterion_id)->first();
109
                     ->where('criterion_id', '=', $criterion_id)->first();
110
 
110
 
111
                 for ($i = 0; $i < count($scales[$index]); $i++) {
111
                 for ($i = 0; $i < count($scales[$index]); $i++) {
152
     {
152
     {
153
         $rubric = Rubric::find(Input::get('id'));
153
         $rubric = Rubric::find(Input::get('id'));
154
         $rubric->name = Input::get('name');
154
         $rubric->name = Input::get('name');
155
-        $rubric->contents = Input::get('contents');
155
+
156
         $rubric->expected_percentage = Input::get('expected_percentage');
156
         $rubric->expected_percentage = Input::get('expected_percentage');
157
         $rubric->expected_points = Input::get('expected_points');
157
         $rubric->expected_points = Input::get('expected_points');
158
 
158
 

+ 48
- 6
app/controllers/TemplatesController.php Целия файл

47
 	{
47
 	{
48
 		$json_to_send = [];
48
 		$json_to_send = [];
49
 		$template_id = Input::get('id');
49
 		$template_id = Input::get('id');
50
-		$json_to_send["criteria"] = DB::table("new_criteria")->join('template_criterion', 'template_criterion.criterion_id', '=', 'new_criteria.id')
50
+		$json_to_send["criteria"] = DB::table("criteria")->join('template_criterion', 'template_criterion.criterion_id', '=', 'criteria.id')
51
 			->where("template_criterion.template_id", '=', $template_id)
51
 			->where("template_criterion.template_id", '=', $template_id)
52
 			->get();
52
 			->get();
53
 		Log::info($json_to_send["criteria"]);
53
 		Log::info($json_to_send["criteria"]);
67
 		$title = "Rubric Builder";
67
 		$title = "Rubric Builder";
68
 
68
 
69
 		$templates = Template::orderBy('name', 'ASC')->get();
69
 		$templates = Template::orderBy('name', 'ASC')->get();
70
-		$outcomes = Outcome::orderBy('name', 'ASC')->get();
70
+		$outcomes = Outcome::where("deactivation_date", '=', null)->orderBy('name', 'ASC')->get();
71
 		$criteria = Criterion::orderBy('name', 'ASC')->get();
71
 		$criteria = Criterion::orderBy('name', 'ASC')->get();
72
 		$schools = School::orderBy('name', 'ASC')->get();
72
 		$schools = School::orderBy('name', 'ASC')->get();
73
 		$role = Auth::user()->role;
73
 		$role = Auth::user()->role;
100
 		$template = new Template;
100
 		$template = new Template;
101
 
101
 
102
 		$template->name = Input::get('name');
102
 		$template->name = Input::get('name');
103
-		$template->contents = Input::get('contents');
103
+
104
 		$template->is_visible = Input::get('is_visible');
104
 		$template->is_visible = Input::get('is_visible');
105
 		$template->expected_percentage = Input::get('expected_percentage');
105
 		$template->expected_percentage = Input::get('expected_percentage');
106
 		$template->expected_points = Input::get('expected_points');
106
 		$template->expected_points = Input::get('expected_points');
183
 	{
183
 	{
184
 		$template_info = [];
184
 		$template_info = [];
185
 		$template_info['template'] = Template::find(Input::get('id'));
185
 		$template_info['template'] = Template::find(Input::get('id'));
186
-		$template_info['criterion'] = DB::table('new_criteria')
187
-			->join('template_criterion', 'template_criterion.criterion_id', '=', 'new_criteria.id')
186
+		$template_info['criterion'] = DB::table('criteria')
187
+			->join('template_criterion', 'template_criterion.criterion_id', '=', 'criteria.id')
188
 			->where("template_criterion.template_id", '=', Input::get('id'))
188
 			->where("template_criterion.template_id", '=', Input::get('id'))
189
 			->get();
189
 			->get();
190
 		foreach ($template_info['criterion'] as $temp_crit) {
190
 		foreach ($template_info['criterion'] as $temp_crit) {
208
 	{
208
 	{
209
 		$template = Template::find(Input::get('id'));
209
 		$template = Template::find(Input::get('id'));
210
 		$template->name = Input::get('name');
210
 		$template->name = Input::get('name');
211
-		$template->contents = Input::get('contents');
211
+
212
 		$template->is_visible = Input::get('is_visible');
212
 		$template->is_visible = Input::get('is_visible');
213
 		$template->expected_percentage = Input::get('expected_percentage');
213
 		$template->expected_percentage = Input::get('expected_percentage');
214
 		$template->expected_points = Input::get('expected_points');
214
 		$template->expected_points = Input::get('expected_points');
232
 				$template->program_id = NULL;
232
 				$template->program_id = NULL;
233
 		}
233
 		}
234
 
234
 
235
+		switch (Auth::user()->role) {
236
+			case 2:
237
+				$template->school_id = Auth::user()->school->id;
238
+				break;
239
+
240
+			case 3:
241
+				$template->school_id = Auth::user()->programs[0]->school->id;
242
+				$template->program_id = Auth::user()->programs[0]->id;
243
+				break;
244
+		}
245
+
246
+		$scales = Input::get('scales');
247
+		$criteria = Input::get('criteria');
248
+
249
+		$max_score = Input::get('max_score');
250
+		Log::info($scales);
251
+		Log::info(Input::all());
252
+		$template->num_scales = count($scales[0]);
253
+		$template->max_score = $max_score;
254
+		$division = $max_score / count($scales[0]);
255
+
235
 		if ($template->save()) {
256
 		if ($template->save()) {
257
+			$templateId = $template->id;
258
+			DB::delete("delete from template_criterion where template_id ={$template->id}");
259
+			foreach ($criteria as $index => $criterion_id) {
260
+
261
+				DB::insert("insert into template_criterion (`template_id`,`criterion_id`) values ({$templateId},{$criterion_id})");
262
+				$template_criterion_id = DB::table('template_criterion')->where('template_id', '=', $templateId)
263
+					->where('criterion_id', '=', $criterion_id)->first();
264
+				DB::delete("delete from template_criterion_scale where template_criterion_id ={$template_criterion_id->id}");
265
+				for ($i = 0; $i < count($scales[$index]); $i++) {
266
+					$scale = new Scale;
267
+					$scale->description = $scales[$index][$i];
268
+					$scale->min_score = 1 + ($division * $i);
269
+					$scale->max_score = ($division * ($i + 1));
270
+					if ($scale->save()) {
271
+						DB::insert("insert into `template_criterion_scale` (`template_criterion_id`, `scale_id`, `position`) values ({$template_criterion_id->id},{$scale->id}, {$i})");
272
+					} else {
273
+						Session::flash('status', 'danger');
274
+						Session::flash('message', 'Rubric could not be created.');
275
+					}
276
+				}
277
+			}
236
 			Session::flash('status', 'success');
278
 			Session::flash('status', 'success');
237
 			Session::flash('message', 'Rubric updated (' . date('m/d/y, h:i:s a') . ').');
279
 			Session::flash('message', 'Rubric updated (' . date('m/d/y, h:i:s a') . ').');
238
 		} else {
280
 		} else {

+ 23
- 24
app/database/old_migrations/2020_04_04_002657_create_new_criteria_table.php Целия файл

3
 use Illuminate\Database\Migrations\Migration;
3
 use Illuminate\Database\Migrations\Migration;
4
 use Illuminate\Database\Schema\Blueprint;
4
 use Illuminate\Database\Schema\Blueprint;
5
 
5
 
6
-class CreateNewCriteriaTable extends Migration {
6
+class CreateNewCriteriaTable extends Migration
7
+{
7
 
8
 
8
 	/**
9
 	/**
9
 	 * Run the migrations.
10
 	 * Run the migrations.
12
 	 */
13
 	 */
13
 	public function up()
14
 	public function up()
14
 	{
15
 	{
15
-		Schema::create('new_criteria', function(Blueprint $table)
16
-		{
17
-            $table->increments('id');
18
-            $table->string('name');
19
-            $table->string('subcriteria')->nullable();
20
-            $table->text('description12');
21
-            $table->text('description34');
22
-            $table->text('description56');
23
-            $table->text('description78');
24
-            $table->integer('objective_id')->unsigned();
25
-            $table->integer('program_id')->unsigned()->nullable();
26
-            $table->integer('user_id')->unsigned()->nullable();
27
-            $table->text('copyright')->nullable();
28
-            $table->text('notes')->nullable();
29
-
30
-            $table->timestamps();
31
-            $table->timestamp('deleted_at')->nullable();
32
-
33
-            $table->foreign('objective_id')->references('id')->on('objectives')->onDelete('cascade')->onUpdate('cascade');
34
-            $table->foreign('program_id')->references('id')->on('programs')->onDelete('cascade')->onUpdate('cascade');
35
-            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade')->onUpdate('cascade');
16
+		Schema::create('criteria', function (Blueprint $table) {
17
+			$table->increments('id');
18
+			$table->string('name');
19
+			$table->string('subcriteria')->nullable();
20
+			$table->text('description12');
21
+			$table->text('description34');
22
+			$table->text('description56');
23
+			$table->text('description78');
24
+			$table->integer('objective_id')->unsigned();
25
+			$table->integer('program_id')->unsigned()->nullable();
26
+			$table->integer('user_id')->unsigned()->nullable();
27
+			$table->text('copyright')->nullable();
28
+			$table->text('notes')->nullable();
29
+
30
+			$table->timestamps();
31
+			$table->timestamp('deleted_at')->nullable();
32
+
33
+			$table->foreign('objective_id')->references('id')->on('objectives')->onDelete('cascade')->onUpdate('cascade');
34
+			$table->foreign('program_id')->references('id')->on('programs')->onDelete('cascade')->onUpdate('cascade');
35
+			$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade')->onUpdate('cascade');
36
 		});
36
 		});
37
 	}
37
 	}
38
 
38
 
44
 	 */
44
 	 */
45
 	public function down()
45
 	public function down()
46
 	{
46
 	{
47
-		Schema::drop('new_criteria');
47
+		Schema::drop('criteria');
48
 	}
48
 	}
49
-
50
 }
49
 }

+ 14
- 15
app/database/old_migrations/2020_04_22_095649_create_new_criterion_rubric_table.php Целия файл

3
 use Illuminate\Database\Migrations\Migration;
3
 use Illuminate\Database\Migrations\Migration;
4
 use Illuminate\Database\Schema\Blueprint;
4
 use Illuminate\Database\Schema\Blueprint;
5
 
5
 
6
-class CreateNewCriterionRubricTable extends Migration {
6
+class CreateNewCriterionRubricTable extends Migration
7
+{
7
 
8
 
8
 	/**
9
 	/**
9
 	 * Run the migrations.
10
 	 * Run the migrations.
12
 	 */
13
 	 */
13
 	public function up()
14
 	public function up()
14
 	{
15
 	{
15
-		Schema::create('new_criterion_rubric', function(Blueprint $table)
16
-		{
16
+		Schema::create('criterion_rubric', function (Blueprint $table) {
17
 			$table->increments('id');
17
 			$table->increments('id');
18
 			$table->integer('criterion_id')->unsigned();
18
 			$table->integer('criterion_id')->unsigned();
19
 			$table->integer('rubric_id')->unsigned();
19
 			$table->integer('rubric_id')->unsigned();
20
 			$table->timestamps();
20
 			$table->timestamps();
21
 
21
 
22
 			$table
22
 			$table
23
-                ->foreign('criterion_id')
24
-                ->references('id')
25
-                ->on('new_criteria')
26
-                ->onDelete('cascade')
27
-                ->onUpdate('cascade');
23
+				->foreign('criterion_id')
24
+				->references('id')
25
+				->on('criteria')
26
+				->onDelete('cascade')
27
+				->onUpdate('cascade');
28
 			$table
28
 			$table
29
-                ->foreign('rubric_id')
30
-                ->references('id')
31
-                ->on('rubrics')
32
-                ->onDelete('cascade')
33
-                ->onUpdate('cascade');
29
+				->foreign('rubric_id')
30
+				->references('id')
31
+				->on('rubrics')
32
+				->onDelete('cascade')
33
+				->onUpdate('cascade');
34
 		});
34
 		});
35
 	}
35
 	}
36
 
36
 
42
 	 */
42
 	 */
43
 	public function down()
43
 	public function down()
44
 	{
44
 	{
45
-		Schema::drop('new_criterion_rubric');
45
+		Schema::drop('criterion_rubric');
46
 	}
46
 	}
47
-
48
 }
47
 }

+ 14
- 15
app/database/old_migrations/2020_04_22_101110_create_new_rubric_activity_table.php Целия файл

3
 use Illuminate\Database\Migrations\Migration;
3
 use Illuminate\Database\Migrations\Migration;
4
 use Illuminate\Database\Schema\Blueprint;
4
 use Illuminate\Database\Schema\Blueprint;
5
 
5
 
6
-class CreateNewRubricActivityTable extends Migration {
6
+class CreateNewRubricActivityTable extends Migration
7
+{
7
 
8
 
8
 	/**
9
 	/**
9
 	 * Run the migrations.
10
 	 * Run the migrations.
12
 	 */
13
 	 */
13
 	public function up()
14
 	public function up()
14
 	{
15
 	{
15
-		Schema::create('new_rubric_activity', function(Blueprint $table)
16
-		{
16
+		Schema::create('rubric_activity', function (Blueprint $table) {
17
 			$table->increments('id');
17
 			$table->increments('id');
18
 			$table->integer('rubric_id')->unsigned();
18
 			$table->integer('rubric_id')->unsigned();
19
 			$table->integer('activity_id')->unsigned();
19
 			$table->integer('activity_id')->unsigned();
20
 			$table->timestamps();
20
 			$table->timestamps();
21
 
21
 
22
 			$table
22
 			$table
23
-                ->foreign('rubric_id')
24
-                ->references('id')
25
-                ->on('rubrics')
26
-                ->onDelete('cascade')
27
-                ->onUpdate('cascade');
23
+				->foreign('rubric_id')
24
+				->references('id')
25
+				->on('rubrics')
26
+				->onDelete('cascade')
27
+				->onUpdate('cascade');
28
 			$table
28
 			$table
29
-                ->foreign('activity_id')
30
-                ->references('id')
31
-                ->on('activities')
32
-                ->onDelete('cascade')
33
-                ->onUpdate('cascade');
29
+				->foreign('activity_id')
30
+				->references('id')
31
+				->on('activities')
32
+				->onDelete('cascade')
33
+				->onUpdate('cascade');
34
 		});
34
 		});
35
 	}
35
 	}
36
 
36
 
42
 	 */
42
 	 */
43
 	public function down()
43
 	public function down()
44
 	{
44
 	{
45
-		Schema::drop('new_rubric_activity');
45
+		Schema::drop('rubric_activity');
46
 	}
46
 	}
47
-
48
 }
47
 }

+ 4
- 5
app/database/old_migrations/2020_10_04_142756_create_new_assessments_table.php Целия файл

3
 use Illuminate\Database\Schema\Blueprint;
3
 use Illuminate\Database\Schema\Blueprint;
4
 use Illuminate\Database\Migrations\Migration;
4
 use Illuminate\Database\Migrations\Migration;
5
 
5
 
6
-class CreateNewAssessmentsTable extends Migration {
6
+class CreateNewAssessmentsTable extends Migration
7
+{
7
 
8
 
8
 	/**
9
 	/**
9
 	 * Run the migrations.
10
 	 * Run the migrations.
12
 	 */
13
 	 */
13
 	public function up()
14
 	public function up()
14
 	{
15
 	{
15
-		Schema::create('new_assessments', function(Blueprint $table)
16
-		{
16
+		Schema::create('assessments', function (Blueprint $table) {
17
 			$table->increments('id');
17
 			$table->increments('id');
18
 			$table->integer('student_id')->unsigned();
18
 			$table->integer('student_id')->unsigned();
19
 			$table->integer('activity_criterion_id')->unsigned();
19
 			$table->integer('activity_criterion_id')->unsigned();
41
 	 */
41
 	 */
42
 	public function down()
42
 	public function down()
43
 	{
43
 	{
44
-		Schema::drop('new_assessments');
44
+		Schema::drop('assessments');
45
 	}
45
 	}
46
-
47
 }
46
 }

+ 5
- 7
app/database/old_migrations/2020_10_05_130252_add_max_score_num_scales_new_criteria_table.php Целия файл

3
 use Illuminate\Database\Schema\Blueprint;
3
 use Illuminate\Database\Schema\Blueprint;
4
 use Illuminate\Database\Migrations\Migration;
4
 use Illuminate\Database\Migrations\Migration;
5
 
5
 
6
-class AddMaxScoreNumScalesNewCriteriaTable extends Migration {
6
+class AddMaxScoreNumScalesNewCriteriaTable extends Migration
7
+{
7
 
8
 
8
 	/**
9
 	/**
9
 	 * Run the migrations.
10
 	 * Run the migrations.
12
 	 */
13
 	 */
13
 	public function up()
14
 	public function up()
14
 	{
15
 	{
15
-		Schema::table('new_criteria', function(Blueprint $table)
16
-		{
16
+		Schema::table('criteria', function (Blueprint $table) {
17
 			$table->integer('maximum_score')->after('name');;
17
 			$table->integer('maximum_score')->after('name');;
18
 			$table->integer('number_of_scales')->after('maximum_score');;
18
 			$table->integer('number_of_scales')->after('maximum_score');;
19
 		});
19
 		});
26
 	 */
26
 	 */
27
 	public function down()
27
 	public function down()
28
 	{
28
 	{
29
-		Schema::table('new_criteria', function(Blueprint $table)
30
-		{
31
-    		$table->dropColumn(array('maximum_score', 'number_of_scales'));
29
+		Schema::table('criteria', function (Blueprint $table) {
30
+			$table->dropColumn(array('maximum_score', 'number_of_scales'));
32
 		});
31
 		});
33
 	}
32
 	}
34
-
35
 }
33
 }

+ 2
- 2
app/database/old_migrations/2020_10_29_195413_MakeObjectiveNullable.php Целия файл

13
 	 */
13
 	 */
14
 	public function up()
14
 	public function up()
15
 	{
15
 	{
16
-		Schema::table('new_criteria', function (Blueprint $table) {
17
-			$table->dropForeign('new_criteria_objective_id_foreign');
16
+		Schema::table('criteria', function (Blueprint $table) {
17
+			$table->dropForeign('criteria_objective_id_foreign');
18
 		});
18
 		});
19
 	}
19
 	}
20
 
20
 

+ 1
- 1
app/database/old_migrations/2020_10_29_224846_Make_criterion_objective_outcome_changeForeignKey.php Целия файл

15
 	{
15
 	{
16
 		Schema::table('criterion_objective_outcome', function (Blueprint $table) {
16
 		Schema::table('criterion_objective_outcome', function (Blueprint $table) {
17
 			$table->dropForeign('criterion_objective_outcome_criterion_id_foreign');
17
 			$table->dropForeign('criterion_objective_outcome_criterion_id_foreign');
18
-			$table->foreign('criterion_id')->references('id')->on('new_criteria')->onDelete('cascade')->onUpdate('cascade');
18
+			$table->foreign('criterion_id')->references('id')->on('criteria')->onDelete('cascade')->onUpdate('cascade');
19
 		});
19
 		});
20
 	}
20
 	}
21
 
21
 

+ 1
- 1
app/database/old_migrations/2020_12_04_111708_dropDescriptionInCriteria.php Целия файл

13
 	 */
13
 	 */
14
 	public function up()
14
 	public function up()
15
 	{
15
 	{
16
-		Schema::table('new_criteria', function (Blueprint $table) {
16
+		Schema::table('criteria', function (Blueprint $table) {
17
 
17
 
18
 			$table->dropColumn('description12');
18
 			$table->dropColumn('description12');
19
 			$table->dropColumn('description34');
19
 			$table->dropColumn('description34');

+ 1
- 1
app/database/old_migrations/2020_12_10_175517_createProgramCriterion2.php Целия файл

26
 			$table
26
 			$table
27
 				->foreign('criterion_id')
27
 				->foreign('criterion_id')
28
 				->references('id')
28
 				->references('id')
29
-				->on('new_criteria')
29
+				->on('criteria')
30
 				->onDelete('cascade')
30
 				->onDelete('cascade')
31
 				->onUpdate('cascade');
31
 				->onUpdate('cascade');
32
 		});
32
 		});

+ 1
- 1
app/database/old_migrations/2021_03_03_090217_create_annual_plan_objective_table.php Целия файл

33
 			$table->integer('criteria_id')->unsigned();
33
 			$table->integer('criteria_id')->unsigned();
34
 			$table->foreign('criteria_id')
34
 			$table->foreign('criteria_id')
35
 				->references('id')
35
 				->references('id')
36
-				->on('new_criteria')
36
+				->on('criteria')
37
 				->onUpdate('cascade')
37
 				->onUpdate('cascade')
38
 				->onDelete('cascade');
38
 				->onDelete('cascade');
39
 
39
 

+ 1
- 1
app/database/old_migrations/2021_05_20_184230_create_rubric_scales.php Целия файл

25
 				->onUpdate('cascade');
25
 				->onUpdate('cascade');
26
 			$table->foreign('rubric_criterion_id')
26
 			$table->foreign('rubric_criterion_id')
27
 				->references('id')
27
 				->references('id')
28
-				->on('new_criterion_rubric')
28
+				->on('criterion_rubric')
29
 				->onDelete('cascade')
29
 				->onDelete('cascade')
30
 				->onUpdate('cascade');
30
 				->onUpdate('cascade');
31
 			$table->integer('position');
31
 			$table->integer('position');

+ 1
- 1
app/database/old_migrations/2021_05_20_212410_create_template_criterion.php Целия файл

19
 			$table->integer('criterion_id')->unsigned();
19
 			$table->integer('criterion_id')->unsigned();
20
 			$table->foreign('criterion_id')
20
 			$table->foreign('criterion_id')
21
 				->references('id')
21
 				->references('id')
22
-				->on('new_criteria')
22
+				->on('criteria')
23
 				->onDelete('cascade')
23
 				->onDelete('cascade')
24
 				->onUpdate('cascade');
24
 				->onUpdate('cascade');
25
 			$table->foreign('template_id')
25
 			$table->foreign('template_id')

+ 96
- 104
app/database/seeds/FillNewAssessmentActivityCriterion.php Целия файл

1
 <?php
1
 <?php
2
 
2
 
3
-class FillNewAssessmentActivityCriterion extends Seeder {
3
+class FillNewAssessmentActivityCriterion extends Seeder
4
+{
4
 
5
 
5
-    public function run()
6
-    {
7
-    
8
-//   DB::enableQueryLog();
9
-    	$activities=DB::table('activities')
10
-    					->join('new_rubric_activity', 'activities.id', '=', 'new_rubric_activity.activity_id')
11
-    					->join('rubrics', 'rubrics.id', '=', 'new_rubric_activity.rubric_id')
12
-    					->join('new_criterion_rubric', 'rubrics.id', '=', 'new_criterion_rubric.rubric_id')
13
-						->select('activities.*','rubrics.expected_percentage','rubrics.expected_points','new_criterion_rubric.criterion_id')
14
-						->orderBy('activities.id')
15
-						->orderBy('new_criterion_rubric.criterion_id')
16
-    					->get();
17
-//   DB::enableQueryLog();
18
-// 		dd(DB::getQueryLog());
19
-// 		exit();
20
-		$activity_antes=-1;
21
-		foreach ($activities as $activity)
22
-		{
23
-			$activity_id=$activity->id;
24
-			$expected_percentage_students_achieving=$activity->expected_percentage;
25
-			$transformative_actions=$activity->transforming_actions;
26
-			$assessment_comments=$activity->assessment_comments;
27
-			$expected_student_score=$activity->expected_points;
28
-			$criterion_id=$activity->criterion_id;
29
-// 			$datos=json_decode($activity->criteria_achieved, true);
30
-// 			$i=0;
31
-// 			foreach($datos as $criterion_id=>$score)
32
-// 			{
33
-			$existe_ya=DB::table('activity_criterion')->where('activity_id', $activity_id)->where('criterion_id', $criterion_id)->first();
34
-			if(empty($existe_ya))
35
-			{			
36
-				if($activity_antes==$activity_id)
37
-				{
6
+	public function run()
7
+	{
8
+
9
+		//   DB::enableQueryLog();
10
+		$activities = DB::table('activities')
11
+			->join('rubric_activity', 'activities.id', '=', 'rubric_activity.activity_id')
12
+			->join('rubrics', 'rubrics.id', '=', 'rubric_activity.rubric_id')
13
+			->join('criterion_rubric', 'rubrics.id', '=', 'criterion_rubric.rubric_id')
14
+			->select('activities.*', 'rubrics.expected_percentage', 'rubrics.expected_points', 'criterion_rubric.criterion_id')
15
+			->orderBy('activities.id')
16
+			->orderBy('criterion_rubric.criterion_id')
17
+			->get();
18
+		//   DB::enableQueryLog();
19
+		// 		dd(DB::getQueryLog());
20
+		// 		exit();
21
+		$activity_antes = -1;
22
+		foreach ($activities as $activity) {
23
+			$activity_id = $activity->id;
24
+			$expected_percentage_students_achieving = $activity->expected_percentage;
25
+			$transformative_actions = $activity->transforming_actions;
26
+			$assessment_comments = $activity->assessment_comments;
27
+			$expected_student_score = $activity->expected_points;
28
+			$criterion_id = $activity->criterion_id;
29
+			// 			$datos=json_decode($activity->criteria_achieved, true);
30
+			// 			$i=0;
31
+			// 			foreach($datos as $criterion_id=>$score)
32
+			// 			{
33
+			$existe_ya = DB::table('activity_criterion')->where('activity_id', $activity_id)->where('criterion_id', $criterion_id)->first();
34
+			if (empty($existe_ya)) {
35
+				if ($activity_antes == $activity_id) {
38
 					DB::table('activity_criterion')->insert(
36
 					DB::table('activity_criterion')->insert(
39
-					array("activity_id"=>$activity_id,
40
-						  "criterion_id"=>$criterion_id,
41
-						  "expected_percentage_students_achieving"=>$expected_percentage_students_achieving,
42
-						  "expected_student_score"=>$expected_student_score
43
-						  )
44
-						);
45
-				}
46
-				else
47
-				{
48
-					$activity_antes=$activity_id;
37
+						array(
38
+							"activity_id" => $activity_id,
39
+							"criterion_id" => $criterion_id,
40
+							"expected_percentage_students_achieving" => $expected_percentage_students_achieving,
41
+							"expected_student_score" => $expected_student_score
42
+						)
43
+					);
44
+				} else {
45
+					$activity_antes = $activity_id;
49
 					DB::table('activity_criterion')->insert(
46
 					DB::table('activity_criterion')->insert(
50
-					array("activity_id"=>$activity_id,
51
-						  "criterion_id"=>$criterion_id,
52
-						  "expected_percentage_students_achieving"=>$expected_percentage_students_achieving,
53
-						  "expected_student_score"=>$expected_student_score,
54
-						  "transformative_actions"=>$transformative_actions,
55
-						  "assessment_comments"=>$assessment_comments
56
-						  )
57
-						);				
47
+						array(
48
+							"activity_id" => $activity_id,
49
+							"criterion_id" => $criterion_id,
50
+							"expected_percentage_students_achieving" => $expected_percentage_students_achieving,
51
+							"expected_student_score" => $expected_student_score,
52
+							"transformative_actions" => $transformative_actions,
53
+							"assessment_comments" => $assessment_comments
54
+						)
55
+					);
58
 				}
56
 				}
59
-				print $activity_id.':'.$criterion_id;print"\n";
57
+				print $activity_id . ':' . $criterion_id;
58
+				print "\n";
60
 			}
59
 			}
61
-// 				$i++;
62
-// 			}
60
+			// 				$i++;
61
+			// 			}
63
 		}
62
 		}
64
-    	
65
-//     exit();
66
-    	$assessments=DB::table('assessments')->get();
67
-    $i=0;
68
-		foreach ($assessments as $assessment)
69
-		{
70
-// 			var_dump($assessment);exit();
71
-			$student_id=$assessment->student_id;
72
-			$activity_id=$assessment->activity_id;
73
-			$datos=json_decode($assessment->scores, true);
74
-// 			$criterion=(array)DB::table('activity_criterion')->where('activity_id', $activity_id)->first();
75
-// 			var_dump($rubric);exit();
76
-// 			$criterion_id=$criterion["criterion_id"];
77
-// 			print_r($datos);
78
-// 			print"\n";
79
-// 			print $rubric->id;print"\t";
80
-			foreach($datos as $criterion_id=>$score)
81
-			{
82
-// 				print $dato["id"];print"\n";
83
-// 				var_dump($new_criterion);
84
-				$activity_criterion=DB::table('activity_criterion')->where('criterion_id', $criterion_id)->where('activity_id', $activity_id)->first();
85
-				if(empty($activity_criterion))
86
-				{
87
-// 					var_dump($criterion_id);
63
+
64
+		//     exit();
65
+		$assessments = DB::table('assessments')->get();
66
+		$i = 0;
67
+		foreach ($assessments as $assessment) {
68
+			// 			var_dump($assessment);exit();
69
+			$student_id = $assessment->student_id;
70
+			$activity_id = $assessment->activity_id;
71
+			$datos = json_decode($assessment->scores, true);
72
+			// 			$criterion=(array)DB::table('activity_criterion')->where('activity_id', $activity_id)->first();
73
+			// 			var_dump($rubric);exit();
74
+			// 			$criterion_id=$criterion["criterion_id"];
75
+			// 			print_r($datos);
76
+			// 			print"\n";
77
+			// 			print $rubric->id;print"\t";
78
+			foreach ($datos as $criterion_id => $score) {
79
+				// 				print $dato["id"];print"\n";
80
+				// 				var_dump($criterion);
81
+				$activity_criterion = DB::table('activity_criterion')->where('criterion_id', $criterion_id)->where('activity_id', $activity_id)->first();
82
+				if (empty($activity_criterion)) {
83
+					// 					var_dump($criterion_id);
88
 					var_dump($assessment);
84
 					var_dump($assessment);
89
-// 					$activities=DB::table('activities')->where('id', $activity_id)->first();
90
-// 					$criterion_rubric=DB::table('new_criterion_rubric')->where('criterion_id', $criterion_id)->first();
91
-// 					var_dump($activities);
92
-// 					var_dump($criterion_rubric);
93
-// 					exit();
94
-					$activity_criterion_id=DB::table('activity_criterion')->insertGetId(
95
-						array("activity_id"=>$activity_id,
96
-							  "criterion_id"=>$criterion_id,
97
-							  "transformative_actions"=>$transformative_actions,
98
-							  "assessment_comments"=>$assessment_comments
99
-							  )
100
-						);				
101
-					
102
-				}
103
-				else $activity_criterion_id=$activity_criterion->id;
104
-				$existe_ya=DB::table('new_assessments')->where('student_id', $student_id)->where('activity_criterion_id', $activity_criterion_id)->first();
105
-				if(empty($existe_ya))
106
-				{
107
-					DB::table('new_assessments')->insert(array("student_id"=>$student_id,"activity_criterion_id"=>$activity_criterion_id,'score'=>$score));
108
-					print".";
85
+					// 					$activities=DB::table('activities')->where('id', $activity_id)->first();
86
+					// 					$criterion_rubric=DB::table('criterion_rubric')->where('criterion_id', $criterion_id)->first();
87
+					// 					var_dump($activities);
88
+					// 					var_dump($criterion_rubric);
89
+					// 					exit();
90
+					$activity_criterion_id = DB::table('activity_criterion')->insertGetId(
91
+						array(
92
+							"activity_id" => $activity_id,
93
+							"criterion_id" => $criterion_id,
94
+							"transformative_actions" => $transformative_actions,
95
+							"assessment_comments" => $assessment_comments
96
+						)
97
+					);
98
+				} else $activity_criterion_id = $activity_criterion->id;
99
+				$existe_ya = DB::table('assessments')->where('student_id', $student_id)->where('activity_criterion_id', $activity_criterion_id)->first();
100
+				if (empty($existe_ya)) {
101
+					DB::table('assessments')->insert(array("student_id" => $student_id, "activity_criterion_id" => $activity_criterion_id, 'score' => $score));
102
+					print ".";
109
 				}
103
 				}
110
 			}
104
 			}
111
-// 			print $activity_id.':'.$criterion_id;print"\n";
105
+			// 			print $activity_id.':'.$criterion_id;print"\n";
112
 
106
 
113
 			$i++;
107
 			$i++;
114
 		}
108
 		}
115
 
109
 
116
 
110
 
117
-// 		$course = Rubric::where('code', $code)->where('number', $number)->where('section', $section)->where('semester_id', $semester_id)->first();
111
+		// 		$course = Rubric::where('code', $code)->where('number', $number)->where('section', $section)->where('semester_id', $semester_id)->first();
118
 
112
 
119
 
113
 
120
 
114
 
121
 
115
 
122
 	}
116
 	}
123
-
124
-
125
-}
117
+}

+ 62
- 73
app/database/seeds/FillNewCriterionRubric.php Целия файл

1
 <?php
1
 <?php
2
 
2
 
3
-class FillNewCriterionRubric extends Seeder {
3
+class FillNewCriterionRubric extends Seeder
4
+{
4
 
5
 
5
-    public function run()
6
-    {
7
-    	$rubrics=DB::table('rubrics')->get();
8
-    $i=0;
9
-		foreach ($rubrics as $rubric)
10
-		{
11
-			$datos=json_decode($rubric->contents, true);
12
-// 			print_r($datos);
13
-// 			print"\n";
14
-// 			print $rubric->id;print"\t";
15
-// 			if($rubric->id==29){var_dump($datos);}
16
-			foreach($datos as $dato)
17
-			{
18
-				if($rubric->id==29){print $dato["id"];print"Entrando\n";}
19
-				$new_criterion=(array)DB::table('criteria')->where('id', $dato["id"])->first();
20
-// 				var_dump($new_criterion);
21
-				$program_id=(array)DB::table('courses')
22
-				->join('activities', 'courses.id', '=', 'activities.course_id')
23
-				->join('new_rubric_activity', 'new_rubric_activity.activity_id', '=', 'activities.id')
24
-				->select('courses.program_id')
25
-				->where('new_rubric_activity.rubric_id',$rubric->id)
26
-				->first();
27
-				if(empty($program_id))$program_id['program_id']=1;
28
-	// 			else var_dump($program_id);
6
+	public function run()
7
+	{
8
+		$rubrics = DB::table('rubrics')->get();
9
+		$i = 0;
10
+		foreach ($rubrics as $rubric) {
11
+			$datos = json_decode($rubric->contents, true);
12
+			// 			print_r($datos);
13
+			// 			print"\n";
14
+			// 			print $rubric->id;print"\t";
15
+			// 			if($rubric->id==29){var_dump($datos);}
16
+			foreach ($datos as $dato) {
17
+				if ($rubric->id == 29) {
18
+					print $dato["id"];
19
+					print "Entrando\n";
20
+				}
21
+				$criterion = (array)DB::table('criteria')->where('id', $dato["id"])->first();
22
+				// 				var_dump($criterion);
23
+				$program_id = (array)DB::table('courses')
24
+					->join('activities', 'courses.id', '=', 'activities.course_id')
25
+					->join('rubric_activity', 'rubric_activity.activity_id', '=', 'activities.id')
26
+					->select('courses.program_id')
27
+					->where('rubric_activity.rubric_id', $rubric->id)
28
+					->first();
29
+				if (empty($program_id)) $program_id['program_id'] = 1;
30
+				// 			else var_dump($program_id);
29
 
31
 
30
-// 				var_dump($program_id);
31
-// 				var_dump($new_criterion);
32
-				if(!empty($new_criterion))
33
-				{
34
-					$existe=(array)DB::table('objectives')->where('id', $new_criterion["id"])->first();
35
-					$objective_id=$new_criterion["id"];
36
-					if(empty($existe))
37
-					{
38
-						$existe4=(array)DB::table('objectives')->where('program_id', $program_id['program_id'])->where('text', $new_criterion["name"])->first();
39
-	// 					print_r($existe4);print"\n";
40
-						if(!empty($existe4))
41
-						{
42
-	// 						DB::table('objectives')->insert(array("id"=> $new_criterion["id"],"program_id"=>$program_id['program_id'],"text"=>$new_criterion["name"],'outcome_id'=>$new_criterion['outcome_id']));
43
-							$objective_id=$existe4["id"];
44
-						}
45
-						else 
46
-						{
32
+				// 				var_dump($program_id);
33
+				// 				var_dump($criterion);
34
+				if (!empty($criterion)) {
35
+					$existe = (array)DB::table('objectives')->where('id', $criterion["id"])->first();
36
+					$objective_id = $criterion["id"];
37
+					if (empty($existe)) {
38
+						$existe4 = (array)DB::table('objectives')->where('program_id', $program_id['program_id'])->where('text', $criterion["name"])->first();
39
+						// 					print_r($existe4);print"\n";
40
+						if (!empty($existe4)) {
41
+							// 						DB::table('objectives')->insert(array("id"=> $criterion["id"],"program_id"=>$program_id['program_id'],"text"=>$criterion["name"],'outcome_id'=>$criterion['outcome_id']));
42
+							$objective_id = $existe4["id"];
43
+						} else {
47
 							print "A crear entrada en objectives:  $objective_id";
44
 							print "A crear entrada en objectives:  $objective_id";
48
-// 							var_dump(array("id"=> $objective_id,"program_id"=>$program_id['program_id'],"text"=>$new_criterion["name"],'outcome_id'=>$new_criterion['outcome_id']));
49
-							DB::table('objectives')->insert(array("id"=> $objective_id,"program_id"=>$program_id['program_id'],"text"=>$new_criterion["name"],'outcome_id'=>$new_criterion['outcome_id']));
45
+							// 							var_dump(array("id"=> $objective_id,"program_id"=>$program_id['program_id'],"text"=>$criterion["name"],'outcome_id'=>$criterion['outcome_id']));
46
+							DB::table('objectives')->insert(array("id" => $objective_id, "program_id" => $program_id['program_id'], "text" => $criterion["name"], 'outcome_id' => $criterion['outcome_id']));
50
 						}
47
 						}
51
-					}
52
-					else
53
-					{
54
-						$existe4=(array)DB::table('objectives')->where('program_id', $program_id['program_id'])->where('text', $new_criterion["name"])->first();
55
-	// 					print_r($existe4);print"\n";
56
-						if(empty($existe4))
57
-						{
58
-							$objective_id=DB::table('objectives')->insertGetId(array("program_id"=>$program_id['program_id'],"text"=>$new_criterion["name"],'outcome_id'=>$new_criterion['outcome_id']));
48
+					} else {
49
+						$existe4 = (array)DB::table('objectives')->where('program_id', $program_id['program_id'])->where('text', $criterion["name"])->first();
50
+						// 					print_r($existe4);print"\n";
51
+						if (empty($existe4)) {
52
+							$objective_id = DB::table('objectives')->insertGetId(array("program_id" => $program_id['program_id'], "text" => $criterion["name"], 'outcome_id' => $criterion['outcome_id']));
59
 						}
53
 						}
60
-
61
 					}
54
 					}
62
-					$new_criterion["objective_id"]=$objective_id;
63
-					unset($new_criterion['outcome_id']);
64
-// 					var_dump($new_criterion);
65
-					$existe2=(array)DB::table('new_criteria')->where('id', $new_criterion["id"])->first();
66
-					if(empty($existe2))
67
-					{
68
-						DB::table('new_criteria')->insert($new_criterion);
55
+					$criterion["objective_id"] = $objective_id;
56
+					unset($criterion['outcome_id']);
57
+					// 					var_dump($criterion);
58
+					$existe2 = (array)DB::table('criteria')->where('id', $criterion["id"])->first();
59
+					if (empty($existe2)) {
60
+						DB::table('criteria')->insert($criterion);
69
 					}
61
 					}
70
-					$existe3=(array)DB::table('new_criterion_rubric')->where('criterion_id', $new_criterion["id"])->where('rubric_id', $rubric->id)->first();
71
-					if(empty($existe3))
72
-					{
73
-						DB::table('new_criterion_rubric')->insert(
74
-						array('criterion_id' => $dato["id"], 'rubric_id' => $rubric->id)
62
+					$existe3 = (array)DB::table('criterion_rubric')->where('criterion_id', $criterion["id"])->where('rubric_id', $rubric->id)->first();
63
+					if (empty($existe3)) {
64
+						DB::table('criterion_rubric')->insert(
65
+							array('criterion_id' => $dato["id"], 'rubric_id' => $rubric->id)
75
 						);
66
 						);
76
 					}
67
 					}
77
 				}
68
 				}
78
-	// 			if($i)exit();
79
-		
69
+				// 			if($i)exit();
70
+
80
 			}
71
 			}
81
-// 			if($rubric->id==29){exit();}
82
-		$i++;
72
+			// 			if($rubric->id==29){exit();}
73
+			$i++;
83
 		}
74
 		}
84
 
75
 
85
 
76
 
86
-// 		$course = Rubric::where('code', $code)->where('number', $number)->where('section', $section)->where('semester_id', $semester_id)->first();
77
+		// 		$course = Rubric::where('code', $code)->where('number', $number)->where('section', $section)->where('semester_id', $semester_id)->first();
87
 
78
 
88
 
79
 
89
 
80
 
90
 
81
 
91
 	}
82
 	}
92
-
93
-
94
-}
83
+}

+ 5
- 7
app/database/unusedMigrations/2020_10_05_130252_add_max_score_num_scales_new_criteria_table.php Целия файл

3
 use Illuminate\Database\Schema\Blueprint;
3
 use Illuminate\Database\Schema\Blueprint;
4
 use Illuminate\Database\Migrations\Migration;
4
 use Illuminate\Database\Migrations\Migration;
5
 
5
 
6
-class AddMaxScoreNumScalesNewCriteriaTable extends Migration {
6
+class AddMaxScoreNumScalesNewCriteriaTable extends Migration
7
+{
7
 
8
 
8
 	/**
9
 	/**
9
 	 * Run the migrations.
10
 	 * Run the migrations.
12
 	 */
13
 	 */
13
 	public function up()
14
 	public function up()
14
 	{
15
 	{
15
-		Schema::table('new_criteria', function(Blueprint $table)
16
-		{
16
+		Schema::table('criteria', function (Blueprint $table) {
17
 			$table->integer('maximum_score')->after('name');;
17
 			$table->integer('maximum_score')->after('name');;
18
 			$table->integer('number_of_scales')->after('maximum_score');;
18
 			$table->integer('number_of_scales')->after('maximum_score');;
19
 		});
19
 		});
26
 	 */
26
 	 */
27
 	public function down()
27
 	public function down()
28
 	{
28
 	{
29
-		Schema::table('new_criteria', function(Blueprint $table)
30
-		{
31
-    		$table->dropColumn(array('maximum_score', 'number_of_scales'));
29
+		Schema::table('criteria', function (Blueprint $table) {
30
+			$table->dropColumn(array('maximum_score', 'number_of_scales'));
32
 		});
31
 		});
33
 	}
32
 	}
34
-
35
 }
33
 }

+ 2
- 2
app/database/unusedMigrations/2020_10_08_203557_create_new_criteria_table2.php Целия файл

14
 	 */
14
 	 */
15
 	public function up()
15
 	public function up()
16
 	{
16
 	{
17
-		Schema::table('new_criteria', function ($table) {
17
+		Schema::table('criteria', function ($table) {
18
 			$table->integer('outcome_id')->unsigned();
18
 			$table->integer('outcome_id')->unsigned();
19
 
19
 
20
 			$table->foreign('outcome_id')->references('id')->on('outcomes')->onDelete('cascade')->onUpdate('cascade');
20
 			$table->foreign('outcome_id')->references('id')->on('outcomes')->onDelete('cascade')->onUpdate('cascade');
29
 	 */
29
 	 */
30
 	public function down()
30
 	public function down()
31
 	{
31
 	{
32
-		Schema::table('new_criteria', function ($table) {
32
+		Schema::table('criteria', function ($table) {
33
 			$table->dropColumn('outcome_id');
33
 			$table->dropColumn('outcome_id');
34
 		});
34
 		});
35
 	}
35
 	}

+ 2
- 2
app/database/unusedMigrations/2020_10_08_215013_drop_objective_id_new_criteria.php Целия файл

13
 	 */
13
 	 */
14
 	public function up()
14
 	public function up()
15
 	{
15
 	{
16
-		Schema::table('new_criteria', function ($table) {
16
+		Schema::table('criteria', function ($table) {
17
 			$table->integer('objective_id')->nullable();
17
 			$table->integer('objective_id')->nullable();
18
 		});
18
 		});
19
 	}
19
 	}
25
 	 */
25
 	 */
26
 	public function down()
26
 	public function down()
27
 	{
27
 	{
28
-		Schema::table('new_criteria', function ($table) {
28
+		Schema::table('criteria', function ($table) {
29
 
29
 
30
 			$table->dropColumn('objective_id');
30
 			$table->dropColumn('objective_id');
31
 		});
31
 		});

+ 1
- 1
app/database/unusedMigrations/2020_10_09_092810_drop_assessment_criteria.php Целия файл

17
 			$table->dropForeign('assessments_criterion_id_foreign');
17
 			$table->dropForeign('assessments_criterion_id_foreign');
18
 			$table->integer('criterion_id')->unsigned();
18
 			$table->integer('criterion_id')->unsigned();
19
 
19
 
20
-			$table->foreign('criterion_id')->references('id')->on('new_criteria')->onDelete('cascade')->onUpdate('cascade');
20
+			$table->foreign('criterion_id')->references('id')->on('criteria')->onDelete('cascade')->onUpdate('cascade');
21
 		});
21
 		});
22
 	}
22
 	}
23
 
23
 

+ 1
- 1
app/database/unusedMigrations/2020_10_09_094503_add_criterion_to_assessment.php Целия файл

17
 
17
 
18
 
18
 
19
 
19
 
20
-				$table->foreign('criterion_id')->references('id')->on('new_criteria')->onDelete('cascade')->onUpdate('cascade');
20
+				$table->foreign('criterion_id')->references('id')->on('criteria')->onDelete('cascade')->onUpdate('cascade');
21
 			});
21
 			});
22
 		}
22
 		}
23
 	}
23
 	}

+ 5
- 6
app/models/Activity.php Целия файл

10
 
10
 
11
   public function rubric()
11
   public function rubric()
12
   {
12
   {
13
-//     return $this->belongsTo('Rubric');
14
-    return $this->belongsToMany('Rubric','new_rubric_activity');
13
+    //     return $this->belongsTo('Rubric');
14
+    return $this->belongsToMany('Rubric', 'rubric_activity');
15
   }
15
   }
16
 
16
 
17
   public function course()
17
   public function course()
27
   // cap_array
27
   // cap_array
28
   public function getCapArrayAttribute($value)
28
   public function getCapArrayAttribute($value)
29
   {
29
   {
30
-      return json_decode($this->criteria_achieved_percentage, true);
30
+    return json_decode($this->criteria_achieved_percentage, true);
31
   }
31
   }
32
 
32
 
33
   // o_ach_array
33
   // o_ach_array
34
   public function getOAchArrayAttribute($value)
34
   public function getOAchArrayAttribute($value)
35
   {
35
   {
36
-      return json_decode($this->outcomes_achieved, true);
36
+    return json_decode($this->outcomes_achieved, true);
37
   }
37
   }
38
 
38
 
39
   // o_att_array
39
   // o_att_array
40
   public function getOAttArrayAttribute($value)
40
   public function getOAttArrayAttribute($value)
41
   {
41
   {
42
-      return json_decode($this->outcomes_attempted, true);
42
+    return json_decode($this->outcomes_attempted, true);
43
   }
43
   }
44
-
45
 }
44
 }

+ 44
- 52
app/models/Course.php Целия файл

12
 
12
 
13
   public function students()
13
   public function students()
14
   {
14
   {
15
-  	return $this->belongsToMany('Student')->orderBy('name', 'asc')->withTimestamps();
15
+    return $this->belongsToMany('Student')->orderBy('name', 'asc')->withTimestamps();
16
   }
16
   }
17
 
17
 
18
   public function user()
18
   public function user()
28
 
28
 
29
   public function activity()
29
   public function activity()
30
   {
30
   {
31
-      return $this->belongsTo('Activity');
31
+    return $this->belongsTo('Activity');
32
   }
32
   }
33
 
33
 
34
   public function assessedActivities()
34
   public function assessedActivities()
39
   public function publishedActivities()
39
   public function publishedActivities()
40
   {
40
   {
41
     return $this->hasMany('Activity')->whereNotNull('activities.outcomes_attempted')->where('activities.draft', 0)->orderBy('date', 'asc');
41
     return $this->hasMany('Activity')->whereNotNull('activities.outcomes_attempted')->where('activities.draft', 0)->orderBy('date', 'asc');
42
-
43
   }
42
   }
44
 
43
 
45
   public function outcomes_attempted()
44
   public function outcomes_attempted()
46
   {
45
   {
47
-	return DB::table('courses')
48
-	    	->join('activities', 'activities.course_id', '=', 'courses.id')
49
-	    	->join('activity_criterion', 'activity_criterion.activity_id', '=', 'activities.id')
50
-	    	->join('new_criteria', 'activity_criterion.criterion_id', '=', 'new_criteria.id')
51
-	    	->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'new_criteria.id')
52
-	    	->where('courses.id','=',$this->id)
53
-	    	->select('criterion_objective_outcome.outcome_id')
54
-	    	->distinct()
55
-	    	->orderBy('criterion_objective_outcome.outcome_id')
56
-	    	->get();
57
-
58
-//   	SELECT distinct cr.outcome_id FROM  courses c, activities a, activity_criterion ac, criteria cr WHERE c.id=a.course_id and a.id=ac.activity_id and ac.criterion_id=cr.id and c.id=1
59
-// 	return $this->id;
46
+    return DB::table('courses')
47
+      ->join('activities', 'activities.course_id', '=', 'courses.id')
48
+      ->join('activity_criterion', 'activity_criterion.activity_id', '=', 'activities.id')
49
+      ->join('criteria', 'activity_criterion.criterion_id', '=', 'criteria.id')
50
+      ->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'criteria.id')
51
+      ->where('courses.id', '=', $this->id)
52
+      ->select('criterion_objective_outcome.outcome_id')
53
+      ->distinct()
54
+      ->orderBy('criterion_objective_outcome.outcome_id')
55
+      ->get();
56
+
57
+    //   	SELECT distinct cr.outcome_id FROM  courses c, activities a, activity_criterion ac, criteria cr WHERE c.id=a.course_id and a.id=ac.activity_id and ac.criterion_id=cr.id and c.id=1
58
+    // 	return $this->id;
60
   }
59
   }
61
 
60
 
62
   public function outcomes_achieved()
61
   public function outcomes_achieved()
63
   {
62
   {
64
-		 $criteria=DB::table('new_criteria')
65
-	    	->join('activity_criterion', 'activity_criterion.criterion_id', '=', 'new_criteria.id')
66
-	    	->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
67
-	    	->join('courses', 'activities.course_id', '=', 'courses.id')
68
-	    	->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'new_criteria.id')
69
-	    	->where('courses.id','=',$this->id)
70
-	    	->select('new_criteria.id','expected_percentage_students_achieving','activity_criterion.activity_id')
71
-	    	->distinct()
72
-	    	->get()
73
-			;
74
-
75
-		$conteo=0;
76
-		foreach($criteria as $criterion)
77
-		{	
78
-			$students_attempted=Criterion::students_attempted($criterion->id, $criterion->activity_id);
79
-			$students_achieved=Criterion::students_achieved($criterion->id, $criterion->activity_id);
80
-		
81
-			if($students_attempted)
82
-			{
83
-				$percentage_students_who_achieved=100.0*$students_achieved/$students_attempted;
84
-			}
85
-			else
86
-			{
87
-				$percentage_students_who_achieved=0;
88
-			}
89
-			if($percentage_students_who_achieved>=$criterion->expected_percentage_students_achieving)
90
-			{
91
-				$conteo++;
92
-			}
93
-		}		
94
-		return $conteo;
63
+    $criteria = DB::table('criteria')
64
+      ->join('activity_criterion', 'activity_criterion.criterion_id', '=', 'criteria.id')
65
+      ->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
66
+      ->join('courses', 'activities.course_id', '=', 'courses.id')
67
+      ->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'criteria.id')
68
+      ->where('courses.id', '=', $this->id)
69
+      ->select('criteria.id', 'expected_percentage_students_achieving', 'activity_criterion.activity_id')
70
+      ->distinct()
71
+      ->get();
72
+
73
+    $conteo = 0;
74
+    foreach ($criteria as $criterion) {
75
+      $students_attempted = Criterion::students_attempted($criterion->id, $criterion->activity_id);
76
+      $students_achieved = Criterion::students_achieved($criterion->id, $criterion->activity_id);
77
+
78
+      if ($students_attempted) {
79
+        $percentage_students_who_achieved = 100.0 * $students_achieved / $students_attempted;
80
+      } else {
81
+        $percentage_students_who_achieved = 0;
82
+      }
83
+      if ($percentage_students_who_achieved >= $criterion->expected_percentage_students_achieving) {
84
+        $conteo++;
85
+      }
86
+    }
87
+    return $conteo;
95
   }
88
   }
96
 
89
 
97
   public function semester()
90
   public function semester()
99
     return $this->belongsTo('Semester');
92
     return $this->belongsTo('Semester');
100
   }
93
   }
101
 
94
 
102
-  public function sectionsWithOutcome($outcome_id) 
95
+  public function sectionsWithOutcome($outcome_id)
103
   {
96
   {
104
-      return Course::has('activities')->with(array('activities'=>function($query) use (&$outcome_id){
105
-        $query->where('outcomes_attempted', 'not like', '\'%"'.$outcome_id.'":0%\'');
106
-      }))->where('code',$this->code)->where('number',$this->number)->get();
107
-
97
+    return Course::has('activities')->with(array('activities' => function ($query) use (&$outcome_id) {
98
+      $query->where('outcomes_attempted', 'not like', '\'%"' . $outcome_id . '":0%\'');
99
+    }))->where('code', $this->code)->where('number', $this->number)->get();
108
   }
100
   }
109
 }
101
 }

+ 52
- 55
app/models/Criterion.php Целия файл

4
 
4
 
5
 class Criterion extends Eloquent
5
 class Criterion extends Eloquent
6
 {
6
 {
7
-    use SoftDeletingTrait;
8
-    protected $dates = ['deleted_at'];
7
+	use SoftDeletingTrait;
8
+	protected $dates = ['deleted_at'];
9
 
9
 
10
-    protected $table = 'new_criteria';
10
+	protected $table = 'criteria';
11
 
11
 
12
-    public function outcomes()
13
-    {
14
-//	    return $this->belongs('Objective')->belongs('Outcome');
15
-//	    TODO: Changes here
16
-//		return $this->belongs('Outcome');
17
-        return $this->hasManyThrough('Outcome', 'Objective');
18
-    }
12
+	public function outcomes()
13
+	{
14
+		//	    return $this->belongs('Objective')->belongs('Outcome');
15
+		//	    TODO: Changes here
16
+		//		return $this->belongs('Outcome');
17
+		return $this->hasManyThrough('Outcome', 'Objective');
18
+	}
19
 
19
 
20
-    public function objectives()
21
-    {
22
-        return $this->belongsToMany('Objective');
23
-    }
20
+	public function objectives()
21
+	{
22
+		return $this->belongsToMany('Objective');
23
+	}
24
 
24
 
25
-    public function rubrics()
26
-    {
27
-        return $this->belongsToMany('Rubric', 'new_criterion_rubric');
28
-    }
25
+	public function rubrics()
26
+	{
27
+		return $this->belongsToMany('Rubric', 'criterion_rubric');
28
+	}
29
 
29
 
30
 	/**
30
 	/**
31
 	 * Return the program that the criterion belongs to
31
 	 * Return the program that the criterion belongs to
37
 		return $this->belongsTo('Program');
37
 		return $this->belongsTo('Program');
38
 	}
38
 	}
39
 
39
 
40
-// 	public function activities()
41
-// 	{
42
-// 		return $this->hasManyThrough('Activity','activity_criterion');
43
-// 	}
44
-// 
40
+	// 	public function activities()
41
+	// 	{
42
+	// 		return $this->hasManyThrough('Activity','activity_criterion');
43
+	// 	}
44
+	// 
45
 	public function subcriteria()
45
 	public function subcriteria()
46
 	{
46
 	{
47
 		return json_decode($this->subcriteria);
47
 		return json_decode($this->subcriteria);
48
 	}
48
 	}
49
-	
50
-	public static function students_attempted($criterion_id,$activity_id)	
49
+
50
+	public static function students_attempted($criterion_id, $activity_id)
51
 	{
51
 	{
52
-		$students_attempted=0;
53
-// 		var_dump($criterion_id);
54
-// 		var_dump($semester);
55
-// 		exit();
56
-		$activities_criterions=DB::table('activity_criterion')
52
+		$students_attempted = 0;
53
+		// 		var_dump($criterion_id);
54
+		// 		var_dump($semester);
55
+		// 		exit();
56
+		$activities_criterions = DB::table('activity_criterion')
57
 			->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
57
 			->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
58
 			->join('courses', 'activities.course_id', '=', 'courses.id')
58
 			->join('courses', 'activities.course_id', '=', 'courses.id')
59
-			->where('activities.id','=',$activity_id)
60
-			->where('activity_criterion.criterion_id','=',$criterion_id)
59
+			->where('activities.id', '=', $activity_id)
60
+			->where('activity_criterion.criterion_id', '=', $criterion_id)
61
 			->select('activity_criterion.id')
61
 			->select('activity_criterion.id')
62
 			->distinct()
62
 			->distinct()
63
 			->get();
63
 			->get();
64
-			
65
-		foreach($activities_criterions as $activity_criterion)
66
-		{
67
-		
68
-			 $students_attempted+=DB::table('new_assessments')
69
-				->join('activity_criterion', 'new_assessments.activity_criterion_id', '=', 'activity_criterion.id')
70
-				->where('activity_criterion.id',$activity_criterion->id)
64
+
65
+		foreach ($activities_criterions as $activity_criterion) {
66
+
67
+			$students_attempted += DB::table('assessments')
68
+				->join('activity_criterion', 'assessments.activity_criterion_id', '=', 'activity_criterion.id')
69
+				->where('activity_criterion.id', $activity_criterion->id)
71
 				->count();
70
 				->count();
72
 		}
71
 		}
73
 		return $students_attempted;
72
 		return $students_attempted;
74
 	}
73
 	}
75
 
74
 
76
-	public static function students_achieved($criterion_id,$activity_id)	
75
+	public static function students_achieved($criterion_id, $activity_id)
77
 	{
76
 	{
78
-		$students_achieved=0;
79
-		$activities_criterions=DB::table('activity_criterion')
77
+		$students_achieved = 0;
78
+		$activities_criterions = DB::table('activity_criterion')
80
 			->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
79
 			->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
81
 			->join('courses', 'activities.course_id', '=', 'courses.id')
80
 			->join('courses', 'activities.course_id', '=', 'courses.id')
82
-			->where('activities.id','=',$activity_id)
83
-			->where('activity_criterion.criterion_id','=',$criterion_id)
84
-			->select('activity_criterion.id','expected_student_score')
81
+			->where('activities.id', '=', $activity_id)
82
+			->where('activity_criterion.criterion_id', '=', $criterion_id)
83
+			->select('activity_criterion.id', 'expected_student_score')
85
 			->distinct()
84
 			->distinct()
86
 			->get();
85
 			->get();
87
-			
88
-		foreach($activities_criterions as $activity_criterion)
89
-		{
90
-		
91
-// 			$expected_student_score=DB::table('new_criteria')->where('id',$criterion_id)->select('expected_student_score')->get();
92
-			 $students_achieved+=DB::table('new_assessments')
93
-				->join('activity_criterion', 'new_assessments.activity_criterion_id', '=', 'activity_criterion.id')
94
-				->where('activity_criterion.id',$activity_criterion->id)
95
-				->where('new_assessments.score','>=',$activity_criterion->expected_student_score)
86
+
87
+		foreach ($activities_criterions as $activity_criterion) {
88
+
89
+			// 			$expected_student_score=DB::table('criteria')->where('id',$criterion_id)->select('expected_student_score')->get();
90
+			$students_achieved += DB::table('assessments')
91
+				->join('activity_criterion', 'assessments.activity_criterion_id', '=', 'activity_criterion.id')
92
+				->where('activity_criterion.id', $activity_criterion->id)
93
+				->where('assessments.score', '>=', $activity_criterion->expected_student_score)
96
 				->count();
94
 				->count();
97
 		}
95
 		}
98
 		return $students_achieved;
96
 		return $students_achieved;
99
 	}
97
 	}
100
-
101
 }
98
 }

+ 235
- 263
app/models/Outcome.php Целия файл

7
 	use SoftDeletingTrait;
7
 	use SoftDeletingTrait;
8
 	protected $dates = ['deleted_at'];
8
 	protected $dates = ['deleted_at'];
9
 
9
 
10
-	protected $fillable= array('name', 'definition');
10
+	protected $fillable = array('name', 'definition');
11
 
11
 
12
 	public function criteria()
12
 	public function criteria()
13
 	{
13
 	{
14
-	   return $this->hasManyThrough('Criterion', 'Objective')->orderBy('name');
14
+		return $this->hasManyThrough('Criterion', 'Objective')->orderBy('name');
15
 	}
15
 	}
16
 
16
 
17
 	/**
17
 	/**
21
 	 */
21
 	 */
22
 	public function objectives()
22
 	public function objectives()
23
 	{
23
 	{
24
-	    return $this->hasMany('Objective');
25
-//		return $this->belongsToMany('Objective', 'objective_outcome');
24
+		return $this->hasMany('Objective');
25
+		//		return $this->belongsToMany('Objective', 'objective_outcome');
26
 	}
26
 	}
27
-// 	public function attempted($semester, $is_grad)
28
-// 	{
29
-// 		return DB::table('new_criteria')
30
-// 	    	->join('activity_criterion', 'activity_criterion.criterion_id', '=', 'new_criteria.id')
31
-// 	    	->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
32
-// 	    	->join('courses', 'activities.course_id', '=', 'courses.id')
33
-// 	    	->join('programs', 'programs.id', '=', 'courses.program_id')
34
-// 	    	->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'new_criteria.id')
35
-// 	    	->where('criterion_objective_outcome.outcome_id','=',$this->id)
36
-// 	    	->where('programs.is_graduate','=',$is_grad)
37
-// 	    	->where('courses.semester_id','=',$semester)
38
-// 	    	->count(DB::raw('DISTINCT new_criteria.id,activity_criterion.activity_id'))
39
-// 			;
40
-//
41
-// 	}
42
-// 	public function attempted($semester, $is_grad)
43
-// 	{
44
-// 		 $criteria=DB::table('new_criteria')
45
-// 	    	->join('activity_criterion', 'activity_criterion.criterion_id', '=', 'new_criteria.id')
46
-// 	    	->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
47
-// 	    	->join('courses', 'activities.course_id', '=', 'courses.id')
48
-// 	    	->join('programs', 'programs.id', '=', 'courses.program_id')
49
-// 	    	->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'new_criteria.id')
50
-// 	    	->where('criterion_objective_outcome.outcome_id','=',$this->id)
51
-// 	    	->where('programs.is_graduate','=',$is_grad)
52
-// 	    	->where('courses.semester_id','=',$semester)
53
-// 	    	->select('new_criteria.id','expected_percentage_students_achieving','activity_criterion.activity_id')
54
-// 	    	->distinct()
55
-// 	    	->get()
56
-// 			;
57
-// 		$conteo=0;
58
-// 		foreach($criteria as $criterion)
59
-// 		{
60
-// 			$students_attempted=Criterion::students_attempted($criterion->id, $criterion->activity_id);
61
-// 			if($students_attempted)
62
-// 			{
63
-// 				$conteo++;
64
-// 			}
65
-// 		}
66
-// 		return $conteo;
67
-// 	}
27
+	// 	public function attempted($semester, $is_grad)
28
+	// 	{
29
+	// 		return DB::table('criteria')
30
+	// 	    	->join('activity_criterion', 'activity_criterion.criterion_id', '=', 'criteria.id')
31
+	// 	    	->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
32
+	// 	    	->join('courses', 'activities.course_id', '=', 'courses.id')
33
+	// 	    	->join('programs', 'programs.id', '=', 'courses.program_id')
34
+	// 	    	->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'criteria.id')
35
+	// 	    	->where('criterion_objective_outcome.outcome_id','=',$this->id)
36
+	// 	    	->where('programs.is_graduate','=',$is_grad)
37
+	// 	    	->where('courses.semester_id','=',$semester)
38
+	// 	    	->count(DB::raw('DISTINCT criteria.id,activity_criterion.activity_id'))
39
+	// 			;
40
+	//
41
+	// 	}
42
+	// 	public function attempted($semester, $is_grad)
43
+	// 	{
44
+	// 		 $criteria=DB::table('criteria')
45
+	// 	    	->join('activity_criterion', 'activity_criterion.criterion_id', '=', 'criteria.id')
46
+	// 	    	->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
47
+	// 	    	->join('courses', 'activities.course_id', '=', 'courses.id')
48
+	// 	    	->join('programs', 'programs.id', '=', 'courses.program_id')
49
+	// 	    	->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'criteria.id')
50
+	// 	    	->where('criterion_objective_outcome.outcome_id','=',$this->id)
51
+	// 	    	->where('programs.is_graduate','=',$is_grad)
52
+	// 	    	->where('courses.semester_id','=',$semester)
53
+	// 	    	->select('criteria.id','expected_percentage_students_achieving','activity_criterion.activity_id')
54
+	// 	    	->distinct()
55
+	// 	    	->get()
56
+	// 			;
57
+	// 		$conteo=0;
58
+	// 		foreach($criteria as $criterion)
59
+	// 		{
60
+	// 			$students_attempted=Criterion::students_attempted($criterion->id, $criterion->activity_id);
61
+	// 			if($students_attempted)
62
+	// 			{
63
+	// 				$conteo++;
64
+	// 			}
65
+	// 		}
66
+	// 		return $conteo;
67
+	// 	}
68
 	public function active_by_semesters($selected_semesters, $level)
68
 	public function active_by_semesters($selected_semesters, $level)
69
 	{
69
 	{
70
-		$min_start="9000-01-01 00:00:00";
71
-		$max_end="1000-01-01 00:00:00";
72
-		foreach($selected_semesters as $semester)
73
-		{
74
-			if($min_start>$semester->start)
75
-			{
76
-				$min_start=$semester->start;
70
+		$min_start = "9000-01-01 00:00:00";
71
+		$max_end = "1000-01-01 00:00:00";
72
+		foreach ($selected_semesters as $semester) {
73
+			if ($min_start > $semester->start) {
74
+				$min_start = $semester->start;
77
 			}
75
 			}
78
-			if($max_end<$semester->end)
79
-			{
80
-				$max_end=$semester->end;
76
+			if ($max_end < $semester->end) {
77
+				$max_end = $semester->end;
81
 			}
78
 			}
82
 		}
79
 		}
83
-		$outcomes = Outcome::where(function($query) use ($min_start)
84
-								   {
85
-										$query->where('deactivation_date', '>=', $min_start)
86
-											  ->orWhere('deactivation_date', null);
87
-								   })
88
-							->where('activation_date', '<=', $max_end)
89
-							->where(function($query2) use ($level)
90
-									{
91
-										$query2->where("level", $level+1)
92
-											   ->orWhere("level",3);
93
-									})
94
-							->orderBy('name', 'ASC')
95
-							->get();
80
+		$outcomes = Outcome::where(function ($query) use ($min_start) {
81
+			$query->where('deactivation_date', '>=', $min_start)
82
+				->orWhere('deactivation_date', null);
83
+		})
84
+			->where('activation_date', '<=', $max_end)
85
+			->where(function ($query2) use ($level) {
86
+				$query2->where("level", $level + 1)
87
+					->orWhere("level", 3);
88
+			})
89
+			->orderBy('name', 'ASC')
90
+			->get();
96
 
91
 
97
-// 		return array('outcomes'=>$outcomes,'outcomes_attempted'=>$outcomes_attempted, 'outcomes_achieved'=>$outcomes_achieved, 'attemptedProgramsPerOutcome'=>$attemptedProgramsPerOutcome, 'achievedProgramsPerOutcome'=>$achievedProgramsPerOutcome,'participating_programs'=>$participating_programs);
92
+		// 		return array('outcomes'=>$outcomes,'outcomes_attempted'=>$outcomes_attempted, 'outcomes_achieved'=>$outcomes_achieved, 'attemptedProgramsPerOutcome'=>$attemptedProgramsPerOutcome, 'achievedProgramsPerOutcome'=>$achievedProgramsPerOutcome,'participating_programs'=>$participating_programs);
98
 		return $outcomes;
93
 		return $outcomes;
99
 	}
94
 	}
100
 
95
 
101
 	public function programs_attempted($semesters)
96
 	public function programs_attempted($semesters)
102
 	{
97
 	{
103
-		$semesters_array=[];
104
-		foreach($semesters as $semester)
105
-		{
106
-			$semesters_array[]=$semester->id;
98
+		$semesters_array = [];
99
+		foreach ($semesters as $semester) {
100
+			$semesters_array[] = $semester->id;
107
 		}
101
 		}
108
-		 $programs=DB::table('programs')
109
-	    	->join('courses', 'programs.id', '=', 'courses.program_id')
110
-	    	->join('activities', 'activities.course_id', '=', 'courses.id')
111
-	    	->join('activity_criterion', 'activity_criterion.activity_id', '=', 'activities.id')
112
-	    	->join('new_criteria', 'activity_criterion.criterion_id', '=', 'new_criteria.id')
113
-	    	->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'new_criteria.id')
114
-	    	->where('criterion_objective_outcome.outcome_id','=',$this->id)
115
-	    	->whereIn('courses.semester_id',$semesters_array)
116
-	    	->distinct()
117
-	    	->select('programs.id')
118
-	    	->get()
119
-			;
102
+		$programs = DB::table('programs')
103
+			->join('courses', 'programs.id', '=', 'courses.program_id')
104
+			->join('activities', 'activities.course_id', '=', 'courses.id')
105
+			->join('activity_criterion', 'activity_criterion.activity_id', '=', 'activities.id')
106
+			->join('criteria', 'activity_criterion.criterion_id', '=', 'criteria.id')
107
+			->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'criteria.id')
108
+			->where('criterion_objective_outcome.outcome_id', '=', $this->id)
109
+			->whereIn('courses.semester_id', $semesters_array)
110
+			->distinct()
111
+			->select('programs.id')
112
+			->get();
120
 
113
 
121
 		return $programs;
114
 		return $programs;
122
-
123
 	}
115
 	}
124
 
116
 
125
 	public function attempted($semesters, $is_grad)
117
 	public function attempted($semesters, $is_grad)
126
 	{
118
 	{
127
-		$semesters_array=[];
128
-		foreach($semesters as $semester)
129
-		{
130
-			$semesters_array[]=$semester->id;
119
+		$semesters_array = [];
120
+		foreach ($semesters as $semester) {
121
+			$semesters_array[] = $semester->id;
131
 		}
122
 		}
132
-		 $criteria=DB::table('new_criteria')
133
-	    	->join('activity_criterion', 'activity_criterion.criterion_id', '=', 'new_criteria.id')
134
-	    	->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
135
-	    	->join('courses', 'activities.course_id', '=', 'courses.id')
136
-	    	->join('programs', 'programs.id', '=', 'courses.program_id')
137
-	    	->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'new_criteria.id')
138
-	    	->where('criterion_objective_outcome.outcome_id','=',$this->id)
139
-	    	->where('programs.is_graduate','=',$is_grad)
140
-	    	->whereIn('courses.semester_id',$semesters_array)
141
-	    	->select('new_criteria.id','expected_percentage_students_achieving','activity_criterion.activity_id')
142
-	    	->distinct()
143
-	    	->get()
144
-			;
145
-		$conteo=0;
146
-		foreach($criteria as $criterion)
147
-		{
148
-			$students_attempted=Criterion::students_attempted($criterion->id, $criterion->activity_id);
149
-			if($students_attempted)
150
-			{
123
+		$criteria = DB::table('criteria')
124
+			->join('activity_criterion', 'activity_criterion.criterion_id', '=', 'criteria.id')
125
+			->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
126
+			->join('courses', 'activities.course_id', '=', 'courses.id')
127
+			->join('programs', 'programs.id', '=', 'courses.program_id')
128
+			->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'criteria.id')
129
+			->where('criterion_objective_outcome.outcome_id', '=', $this->id)
130
+			->where('programs.is_graduate', '=', $is_grad)
131
+			->whereIn('courses.semester_id', $semesters_array)
132
+			->select('criteria.id', 'expected_percentage_students_achieving', 'activity_criterion.activity_id')
133
+			->distinct()
134
+			->get();
135
+		$conteo = 0;
136
+		foreach ($criteria as $criterion) {
137
+			$students_attempted = Criterion::students_attempted($criterion->id, $criterion->activity_id);
138
+			if ($students_attempted) {
151
 				$conteo++;
139
 				$conteo++;
152
 			}
140
 			}
153
 		}
141
 		}
154
-// 		var_dump($conteo);
155
-// 		exit();
142
+		// 		var_dump($conteo);
143
+		// 		exit();
156
 		return $conteo;
144
 		return $conteo;
157
 	}
145
 	}
158
 
146
 
159
 	public function courses_attempted($courses)
147
 	public function courses_attempted($courses)
160
 	{
148
 	{
161
-		$courses_array=[];
162
-		foreach($courses as $course)
163
-		{
164
-// 		var_dump($course);
165
-// 		exit();
166
-			$courses_array[]=$course->id;
149
+		$courses_array = [];
150
+		foreach ($courses as $course) {
151
+			// 		var_dump($course);
152
+			// 		exit();
153
+			$courses_array[] = $course->id;
167
 		}
154
 		}
168
-		 $criteria=DB::table('new_criteria')
169
-	    	->join('activity_criterion', 'activity_criterion.criterion_id', '=', 'new_criteria.id')
170
-	    	->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
171
-	    	->join('courses', 'activities.course_id', '=', 'courses.id')
172
-	    	->join('programs', 'programs.id', '=', 'courses.program_id')
173
-	    	->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'new_criteria.id')
174
-	    	->where('criterion_objective_outcome.outcome_id','=',$this->id)
175
-	    	->whereIn('courses.id',$courses_array)
176
-	    	->select('new_criteria.id','expected_percentage_students_achieving','activity_criterion.activity_id')
177
-	    	->distinct()
178
-	    	->get()
179
-			;
180
-		$conteo=0;
181
-		foreach($criteria as $criterion)
182
-		{
183
-			$students_attempted=Criterion::students_attempted($criterion->id, $criterion->activity_id);
184
-			if($students_attempted)
185
-			{
155
+		//'expected_percentage_students_achieving'
156
+		$criteria = DB::table('criteria')
157
+			->join('activity_criterion', 'activity_criterion.criterion_id', '=', 'criteria.id')
158
+			->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
159
+			->join('courses', 'activities.course_id', '=', 'courses.id')
160
+			->join('programs', 'programs.id', '=', 'courses.program_id')
161
+			->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'criteria.id')
162
+			->where('criterion_objective_outcome.outcome_id', '=', $this->id)
163
+			->whereIn('courses.id', $courses_array)
164
+			->select('criteria.id',  'activity_criterion.activity_id')
165
+			->distinct()
166
+			->get();
167
+		$conteo = 0;
168
+		foreach ($criteria as $criterion) {
169
+			$students_attempted = Criterion::students_attempted($criterion->id, $criterion->activity_id);
170
+			if ($students_attempted) {
186
 				$conteo++;
171
 				$conteo++;
187
 			}
172
 			}
188
 		}
173
 		}
189
-// 		var_dump($conteo);
190
-// 		exit();
174
+		// 		var_dump($conteo);
175
+		// 		exit();
191
 		return $conteo;
176
 		return $conteo;
192
 	}
177
 	}
193
 
178
 
194
 	public function courses_achieved($courses)
179
 	public function courses_achieved($courses)
195
 	{
180
 	{
196
-		$courses_array=[];
197
-		foreach($courses as $course)
198
-		{
199
-			$courses_array[]=$course->id;
181
+		$courses_array = [];
182
+		foreach ($courses as $course) {
183
+			$courses_array[] = $course->id;
200
 		}
184
 		}
201
-
202
-		 $criteria=DB::table('new_criteria')
203
-	    	->join('activity_criterion', 'activity_criterion.criterion_id', '=', 'new_criteria.id')
204
-	    	->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
205
-	    	->join('courses', 'activities.course_id', '=', 'courses.id')
206
-	    	->join('programs', 'programs.id', '=', 'courses.program_id')
207
-	    	->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'new_criteria.id')
208
-	    	->where('criterion_objective_outcome.outcome_id','=',$this->id)
209
-	    	->whereIn('courses.id',$courses_array)
210
-	    	->select('new_criteria.id','expected_percentage_students_achieving','activity_criterion.activity_id')
211
-	    	->distinct()
212
-	    	->get()
213
-			;
185
+		//'expected_percentage_students_achieving',
186
+		$criteria = DB::table('criteria')
187
+			->join('activity_criterion', 'activity_criterion.criterion_id', '=', 'criteria.id')
188
+			->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
189
+			->join('courses', 'activities.course_id', '=', 'courses.id')
190
+			->join('programs', 'programs.id', '=', 'courses.program_id')
191
+			->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'criteria.id')
192
+			->where('criterion_objective_outcome.outcome_id', '=', $this->id)
193
+			->whereIn('courses.id', $courses_array)
194
+			->select('criteria.id',  'activity_criterion.activity_id')
195
+			->distinct()
196
+			->get();
214
 
197
 
215
 
198
 
216
-		$conteo=0;
217
-		foreach($criteria as $criterion)
218
-		{
219
-			$students_attempted=Criterion::students_attempted($criterion->id, $criterion->activity_id);
220
-			$students_achieved=Criterion::students_achieved($criterion->id, $criterion->activity_id);
199
+		$conteo = 0;
200
+		foreach ($criteria as $criterion) {
201
+			$students_attempted = Criterion::students_attempted($criterion->id, $criterion->activity_id);
202
+			$students_achieved = Criterion::students_achieved($criterion->id, $criterion->activity_id);
221
 
203
 
222
-			if($students_attempted)
223
-			{
224
-				$percentage_students_who_achieved=100.0*$students_achieved/$students_attempted;
225
-			}
226
-			else
227
-			{
228
-				$percentage_students_who_achieved=0;
204
+			if ($students_attempted) {
205
+				$percentage_students_who_achieved = 100.0 * $students_achieved / $students_attempted;
206
+			} else {
207
+				$percentage_students_who_achieved = 0;
229
 			}
208
 			}
230
-			if($percentage_students_who_achieved>=$criterion->expected_percentage_students_achieving)
231
-			{
209
+			if ($percentage_students_who_achieved >= $criterion->expected_percentage_students_achieving) {
232
 				$conteo++;
210
 				$conteo++;
233
 			}
211
 			}
234
 		}
212
 		}
237
 
215
 
238
 	public function achieved($semesters, $is_grad)
216
 	public function achieved($semesters, $is_grad)
239
 	{
217
 	{
240
-		$semesters_array=[];
241
-		foreach($semesters as $semester)
242
-		{
243
-			$semesters_array[]=$semester->id;
218
+		$semesters_array = [];
219
+		foreach ($semesters as $semester) {
220
+			$semesters_array[] = $semester->id;
244
 		}
221
 		}
245
 
222
 
246
-//   DB::enableQueryLog();
247
-		 $criteria=DB::table('new_criteria')
248
-	    	->join('activity_criterion', 'activity_criterion.criterion_id', '=', 'new_criteria.id')
249
-	    	->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
250
-	    	->join('courses', 'activities.course_id', '=', 'courses.id')
251
-	    	->join('programs', 'programs.id', '=', 'courses.program_id')
252
-	    	->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'new_criteria.id')
253
-	    	->where('criterion_objective_outcome.outcome_id','=',$this->id)
254
-	    	->where('programs.is_graduate','=',$is_grad)
255
-	    	->whereIn('courses.semester_id',$semesters_array)
256
-	    	->select('new_criteria.id','expected_percentage_students_achieving','activity_criterion.activity_id')
257
-	    	->distinct()
258
-	    	->get()
259
-			;
260
-// 		dd(DB::getQueryLog());
223
+		//   DB::enableQueryLog();
224
+		//'expected_percentage_students_achieving'
225
+		$criteria = DB::table('criteria')
226
+			->join('activity_criterion', 'activity_criterion.criterion_id', '=', 'criteria.id')
227
+			->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
228
+			->join('courses', 'activities.course_id', '=', 'courses.id')
229
+			->join('programs', 'programs.id', '=', 'courses.program_id')
230
+			->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'criteria.id')
231
+			->where('criterion_objective_outcome.outcome_id', '=', $this->id)
232
+			->where('programs.is_graduate', '=', $is_grad)
233
+			->whereIn('courses.semester_id', $semesters_array)
234
+			->select('criteria.id',  'activity_criterion.activity_id')
235
+			->distinct()
236
+			->get();
237
+		// 		dd(DB::getQueryLog());
261
 
238
 
262
-		$conteo=0;
263
-		foreach($criteria as $criterion)
264
-		{
265
-			$students_attempted=Criterion::students_attempted($criterion->id, $criterion->activity_id);
266
-			$students_achieved=Criterion::students_achieved($criterion->id, $criterion->activity_id);
239
+		$conteo = 0;
240
+		foreach ($criteria as $criterion) {
241
+			$students_attempted = Criterion::students_attempted($criterion->id, $criterion->activity_id);
242
+			$students_achieved = Criterion::students_achieved($criterion->id, $criterion->activity_id);
267
 
243
 
268
-			if($students_attempted)
269
-			{
270
-				$percentage_students_who_achieved=100.0*$students_achieved/$students_attempted;
244
+			if ($students_attempted) {
245
+				$percentage_students_who_achieved = 100.0 * $students_achieved / $students_attempted;
246
+			} else {
247
+				$percentage_students_who_achieved = 0;
271
 			}
248
 			}
272
-			else
273
-			{
274
-				$percentage_students_who_achieved=0;
275
-			}
276
-			if($percentage_students_who_achieved>=$criterion->expected_percentage_students_achieving)
277
-			{
249
+			if ($percentage_students_who_achieved >= $criterion->expected_percentage_students_achieving) {
278
 				$conteo++;
250
 				$conteo++;
279
 			}
251
 			}
280
 		}
252
 		}
282
 	}
254
 	}
283
 
255
 
284
 
256
 
285
-// 	public function achieved($semester, $is_grad)
286
-// 	{
287
-//
288
-// //   DB::enableQueryLog();
289
-// 		 $criteria=DB::table('new_criteria')
290
-// 	    	->join('activity_criterion', 'activity_criterion.criterion_id', '=', 'new_criteria.id')
291
-// 	    	->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
292
-// 	    	->join('courses', 'activities.course_id', '=', 'courses.id')
293
-// 	    	->join('programs', 'programs.id', '=', 'courses.program_id')
294
-// 	    	->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'new_criteria.id')
295
-// 	    	->where('criterion_objective_outcome.outcome_id','=',$this->id)
296
-// 	    	->where('programs.is_graduate','=',$is_grad)
297
-// 	    	->where('courses.semester_id','=',$semester)
298
-// 	    	->select('new_criteria.id','expected_percentage_students_achieving','activity_criterion.activity_id')
299
-// 	    	->distinct()
300
-// 	    	->get()
301
-// 			;
302
-// // 		dd(DB::getQueryLog());
303
-//
304
-// 		$conteo=0;
305
-// 		foreach($criteria as $criterion)
306
-// 		{
307
-// 			$outcome_performance=DB::table('outcome_performance')
308
-// 				->where('outcome_performance.outcome_id','=',$this->id)
309
-// 				->where('outcome_performance.criterion_id','=',$criterion->id)
310
-// 				->where('outcome_performance.semester_id','=',$semester)
311
-// 				->where('outcome_performance.level','=',$is_grad)
312
-// 				->select('students_attempted','students_achieved')
313
-// 				->first();
314
-// 			if(!empty($outcome_performance) and $outcome_performance->students_attempted)
315
-// 			{
316
-// 				$percentage_students_who_achieved=100.0*$outcome_performance->students_achieved/$outcome_performance->students_attempted;
317
-// 			}
318
-// 			else
319
-// 			{
320
-// 				$students_attempted=Criterion::students_attempted($criterion->id, $criterion->activity_id);
321
-// 				$students_achieved=Criterion::students_achieved($criterion->id, $criterion->activity_id);
322
-//
323
-// 				if($students_attempted)
324
-// 				{
325
-// 					$percentage_students_who_achieved=100.0*$students_achieved/$students_attempted;
326
-// 					DB::table('outcome_performance')->insert(array('criterion_id'=>$criterion->id,'outcome_id'=>$this->id,'semester_id'=>$semester,
327
-// 					'students_attempted' => $students_attempted,'students_achieved' => $students_achieved,'level'=>$is_grad));
328
-// 				}
329
-// 				else
330
-// 				{
331
-// 					$percentage_students_who_achieved=0;
332
-// 				}
333
-// 			}
334
-// 			if($percentage_students_who_achieved>=$criterion->expected_percentage_students_achieving)
335
-// 			{
336
-// 				$conteo++;
337
-// 			}
338
-// 		}
339
-// 		return $conteo;
340
-// 	}
341
-//
257
+	// 	public function achieved($semester, $is_grad)
258
+	// 	{
259
+	//
260
+	// //   DB::enableQueryLog();
261
+	// 		 $criteria=DB::table('criteria')
262
+	// 	    	->join('activity_criterion', 'activity_criterion.criterion_id', '=', 'criteria.id')
263
+	// 	    	->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
264
+	// 	    	->join('courses', 'activities.course_id', '=', 'courses.id')
265
+	// 	    	->join('programs', 'programs.id', '=', 'courses.program_id')
266
+	// 	    	->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'criteria.id')
267
+	// 	    	->where('criterion_objective_outcome.outcome_id','=',$this->id)
268
+	// 	    	->where('programs.is_graduate','=',$is_grad)
269
+	// 	    	->where('courses.semester_id','=',$semester)
270
+	// 	    	->select('criteria.id','expected_percentage_students_achieving','activity_criterion.activity_id')
271
+	// 	    	->distinct()
272
+	// 	    	->get()
273
+	// 			;
274
+	// // 		dd(DB::getQueryLog());
275
+	//
276
+	// 		$conteo=0;
277
+	// 		foreach($criteria as $criterion)
278
+	// 		{
279
+	// 			$outcome_performance=DB::table('outcome_performance')
280
+	// 				->where('outcome_performance.outcome_id','=',$this->id)
281
+	// 				->where('outcome_performance.criterion_id','=',$criterion->id)
282
+	// 				->where('outcome_performance.semester_id','=',$semester)
283
+	// 				->where('outcome_performance.level','=',$is_grad)
284
+	// 				->select('students_attempted','students_achieved')
285
+	// 				->first();
286
+	// 			if(!empty($outcome_performance) and $outcome_performance->students_attempted)
287
+	// 			{
288
+	// 				$percentage_students_who_achieved=100.0*$outcome_performance->students_achieved/$outcome_performance->students_attempted;
289
+	// 			}
290
+	// 			else
291
+	// 			{
292
+	// 				$students_attempted=Criterion::students_attempted($criterion->id, $criterion->activity_id);
293
+	// 				$students_achieved=Criterion::students_achieved($criterion->id, $criterion->activity_id);
294
+	//
295
+	// 				if($students_attempted)
296
+	// 				{
297
+	// 					$percentage_students_who_achieved=100.0*$students_achieved/$students_attempted;
298
+	// 					DB::table('outcome_performance')->insert(array('criterion_id'=>$criterion->id,'outcome_id'=>$this->id,'semester_id'=>$semester,
299
+	// 					'students_attempted' => $students_attempted,'students_achieved' => $students_achieved,'level'=>$is_grad));
300
+	// 				}
301
+	// 				else
302
+	// 				{
303
+	// 					$percentage_students_who_achieved=0;
304
+	// 				}
305
+	// 			}
306
+	// 			if($percentage_students_who_achieved>=$criterion->expected_percentage_students_achieving)
307
+	// 			{
308
+	// 				$conteo++;
309
+	// 			}
310
+	// 		}
311
+	// 		return $conteo;
312
+	// 	}
313
+	//
342
 
314
 
343
 	public static function active()
315
 	public static function active()
344
-    {
345
-        //TODO: Check when semester doesnt exist or session is empty
346
-        $selected_semester = Semester::find(Session::get('semesters_ids')[0]);
347
-        return Outcome::withTrashed()->where('deactivation_date', '>=', $selected_semester->start)->orWhere('deactivation_date', null)->orderBy('name', 'ASC')->get();
348
-    }
316
+	{
317
+		//TODO: Check when semester doesnt exist or session is empty
318
+		$selected_semester = Semester::find(Session::get('semesters_ids')[0]);
319
+		return Outcome::withTrashed()->where('deactivation_date', '>=', $selected_semester->start)->orWhere('deactivation_date', null)->orderBy('name', 'ASC')->get();
320
+	}
349
 }
321
 }

+ 216
- 247
app/models/Program.php Целия файл

45
 	public function assessesOutcome($outcome_id)
45
 	public function assessesOutcome($outcome_id)
46
 	{
46
 	{
47
 
47
 
48
-		foreach ($this->publishedActivities as $activity)
49
-		{
48
+		foreach ($this->publishedActivities as $activity) {
50
 			$outcomes_attempted = (array)$activity->o_att_array;
49
 			$outcomes_attempted = (array)$activity->o_att_array;
51
-			if(array_key_exists($outcome_id, $outcomes_attempted) && $outcomes_attempted[$outcome_id] != 0)
52
-			{
50
+			if (array_key_exists($outcome_id, $outcomes_attempted) && $outcomes_attempted[$outcome_id] != 0) {
53
 				return true;
51
 				return true;
54
 			}
52
 			}
55
 		}
53
 		}
70
 	// Return learning objectives ordered by outcome
68
 	// Return learning objectives ordered by outcome
71
 	public function objectivesByOutcome()
69
 	public function objectivesByOutcome()
72
 	{
70
 	{
73
-        // Objective::
71
+		// Objective::
74
 		$objectives = DB::table('outcomes')
72
 		$objectives = DB::table('outcomes')
75
-		->select('outcomes.id as outcome_id', 'outcomes.name as outcome_name', 'objectives.id as objective_id', 'objectives.text', 'objectives.active')
76
-		->leftJoin('objectives', function($join)
77
-		{
78
-			$join
79
-				->on('outcomes.id', '=', 'objectives.outcome_id')
80
-				->where('objectives.program_id', '=', $this->id);
81
-		})
82
-		->orderBy('outcome_name', 'ASC')
83
-		->orderBy('objectives.text', 'ASC')
84
-		->get();
73
+			->select('outcomes.id as outcome_id', 'outcomes.name as outcome_name', 'objectives.id as objective_id', 'objectives.text', 'objectives.active')
74
+			->leftJoin('objectives', function ($join) {
75
+				$join
76
+					->on('outcomes.id', '=', 'objectives.outcome_id')
77
+					->where('objectives.program_id', '=', $this->id);
78
+			})
79
+			->orderBy('outcome_name', 'ASC')
80
+			->orderBy('objectives.text', 'ASC')
81
+			->get();
85
 
82
 
86
 		return $objectives;
83
 		return $objectives;
87
 	}
84
 	}
102
 		return $this->hasMany('Criterion');
99
 		return $this->hasMany('Criterion');
103
 	}
100
 	}
104
 
101
 
105
-// 	public function attempted_outcome($outcome_id, $semester)
106
-// 	{
107
-// 		$conteo= DB::table('activity_criterion')
108
-// 	    	->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
109
-// 	    	->join('courses', 'activities.course_id', '=', 'courses.id')
110
-// 	    	->join('programs', 'programs.id', '=', 'courses.program_id')
111
-// 	    	->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'activity_criterion.criterion_id')
112
-// 	    	->where('criterion_objective_outcome.outcome_id','=',$outcome_id)
113
-// 	    	->where('programs.id','=',$this->id)
114
-// 	    	->where('courses.semester_id','=',$semester)
115
-// 	    	->count(DB::raw('DISTINCT criterion_objective_outcome.outcome_id'))
116
-// 			;	    	
117
-// 		return $conteo;		
118
-// 	}
102
+	// 	public function attempted_outcome($outcome_id, $semester)
103
+	// 	{
104
+	// 		$conteo= DB::table('activity_criterion')
105
+	// 	    	->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
106
+	// 	    	->join('courses', 'activities.course_id', '=', 'courses.id')
107
+	// 	    	->join('programs', 'programs.id', '=', 'courses.program_id')
108
+	// 	    	->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'activity_criterion.criterion_id')
109
+	// 	    	->where('criterion_objective_outcome.outcome_id','=',$outcome_id)
110
+	// 	    	->where('programs.id','=',$this->id)
111
+	// 	    	->where('courses.semester_id','=',$semester)
112
+	// 	    	->count(DB::raw('DISTINCT criterion_objective_outcome.outcome_id'))
113
+	// 			;	    	
114
+	// 		return $conteo;		
115
+	// 	}
119
 
116
 
120
 	public function attempted_criteria_by_outcome($outcome_id, $semesters)
117
 	public function attempted_criteria_by_outcome($outcome_id, $semesters)
121
 	{
118
 	{
122
-		$semesters_array=[];
123
-		foreach($semesters as $semester)
124
-		{
125
-			$semesters_array[]=$semester->id;
119
+		$semesters_array = [];
120
+		foreach ($semesters as $semester) {
121
+			$semesters_array[] = $semester->id;
126
 		}
122
 		}
127
-		
128
-		$conteo= DB::table('activity_criterion')
129
-	    	->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
130
-	    	->join('courses', 'activities.course_id', '=', 'courses.id')
131
-	    	->join('programs', 'programs.id', '=', 'courses.program_id')
132
-	    	->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'activity_criterion.criterion_id')
133
-	    	->where('criterion_objective_outcome.outcome_id','=',$outcome_id)
134
-	    	->where('programs.id','=',$this->id)
135
-	    	->whereIn('courses.semester_id',$semesters_array)
136
-	    	->count(DB::raw('DISTINCT criterion_objective_outcome.criterion_id'))
137
-			;	    	
138
-		return $conteo;		
123
+
124
+		$conteo = DB::table('activity_criterion')
125
+			->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
126
+			->join('courses', 'activities.course_id', '=', 'courses.id')
127
+			->join('programs', 'programs.id', '=', 'courses.program_id')
128
+			->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'activity_criterion.criterion_id')
129
+			->where('criterion_objective_outcome.outcome_id', '=', $outcome_id)
130
+			->where('programs.id', '=', $this->id)
131
+			->whereIn('courses.semester_id', $semesters_array)
132
+			->count(DB::raw('DISTINCT criterion_objective_outcome.criterion_id'));
133
+		return $conteo;
139
 	}
134
 	}
140
 
135
 
141
 	public function attempted_outcome($outcome_id, $semesters)
136
 	public function attempted_outcome($outcome_id, $semesters)
142
 	{
137
 	{
143
-		$semesters_array=[];
144
-		foreach($semesters as $semester)
145
-		{
146
-			$semesters_array[]=$semester->id;
138
+		$semesters_array = [];
139
+		foreach ($semesters as $semester) {
140
+			$semesters_array[] = $semester->id;
147
 		}
141
 		}
148
-		
149
-		$conteo= DB::table('activity_criterion')
150
-	    	->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
151
-	    	->join('courses', 'activities.course_id', '=', 'courses.id')
152
-	    	->join('programs', 'programs.id', '=', 'courses.program_id')
153
-	    	->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'activity_criterion.criterion_id')
154
-	    	->where('criterion_objective_outcome.outcome_id','=',$outcome_id)
155
-	    	->where('programs.id','=',$this->id)
156
-	    	->whereIn('courses.semester_id',$semesters_array)
157
-	    	->count(DB::raw('DISTINCT criterion_objective_outcome.outcome_id'))
158
-			;	    	
159
-		return $conteo;		
142
+
143
+		$conteo = DB::table('activity_criterion')
144
+			->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
145
+			->join('courses', 'activities.course_id', '=', 'courses.id')
146
+			->join('programs', 'programs.id', '=', 'courses.program_id')
147
+			->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'activity_criterion.criterion_id')
148
+			->where('criterion_objective_outcome.outcome_id', '=', $outcome_id)
149
+			->where('programs.id', '=', $this->id)
150
+			->whereIn('courses.semester_id', $semesters_array)
151
+			->count(DB::raw('DISTINCT criterion_objective_outcome.outcome_id'));
152
+		return $conteo;
160
 	}
153
 	}
161
-	
154
+
162
 	public function achieved_criteria_by_outcome($outcome_id, $semesters)
155
 	public function achieved_criteria_by_outcome($outcome_id, $semesters)
163
 	{
156
 	{
164
-		$semesters_array=[];
165
-		foreach($semesters as $semester)
166
-		{
167
-			$semesters_array[]=$semester->id;
157
+		$semesters_array = [];
158
+		foreach ($semesters as $semester) {
159
+			$semesters_array[] = $semester->id;
168
 		}
160
 		}
169
-		
170
-//   DB::enableQueryLog();
171
-// 		dd(DB::getQueryLog());
172
-		 $criteria=DB::table('new_criteria')
173
-	    	->join('activity_criterion', 'activity_criterion.criterion_id', '=', 'new_criteria.id')
174
-	    	->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
175
-	    	->join('courses', 'activities.course_id', '=', 'courses.id')
176
-	    	->join('programs', 'programs.id', '=', 'courses.program_id')
177
-	    	->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'new_criteria.id')
178
-	    	->where('criterion_objective_outcome.outcome_id','=',$outcome_id)
179
-	    	->where('programs.id','=',$this->id)
180
-	    	->whereIn('courses.semester_id',$semesters_array)
181
-	    	->select('new_criteria.id','expected_percentage_students_achieving','activity_criterion.activity_id')
182
-	    	->distinct()
183
-	    	->get()
184
-			;
185
-// 		dd(DB::getQueryLog());
186
-		 
187
-		$conteo=0;
188
-		$attempted_criteria_per_program_array=[];
189
-// 		$students_attempted=0;
190
-// 		$students_achieved=0;
191
-		foreach($criteria as $criterion)
192
-		{	
193
-			if(!isset($students_attempted[$criterion->id]))$students_attempted[$criterion->id]=0;
194
-			if(!isset($students_achieved[$criterion->id]))$students_achieved[$criterion->id]=0;
195
-			$attempted_criteria_per_program_array[$criterion->id]=1;
196
-			$students_attempted[$criterion->id]+=Criterion::students_attempted($criterion->id, $criterion->activity_id);
197
-			$students_achieved[$criterion->id]+=Criterion::students_achieved($criterion->id, $criterion->activity_id);
161
+
162
+		//   DB::enableQueryLog();
163
+		// 		dd(DB::getQueryLog());
164
+		$criteria = DB::table('criteria')
165
+			->join('activity_criterion', 'activity_criterion.criterion_id', '=', 'criteria.id')
166
+			->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
167
+			->join('courses', 'activities.course_id', '=', 'courses.id')
168
+			->join('programs', 'programs.id', '=', 'courses.program_id')
169
+			->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'criteria.id')
170
+			->where('criterion_objective_outcome.outcome_id', '=', $outcome_id)
171
+			->where('programs.id', '=', $this->id)
172
+			->whereIn('courses.semester_id', $semesters_array)
173
+			->select('criteria.id', 'expected_percentage_students_achieving', 'activity_criterion.activity_id')
174
+			->distinct()
175
+			->get();
176
+		// 		dd(DB::getQueryLog());
177
+
178
+		$conteo = 0;
179
+		$attempted_criteria_per_program_array = [];
180
+		// 		$students_attempted=0;
181
+		// 		$students_achieved=0;
182
+		foreach ($criteria as $criterion) {
183
+			if (!isset($students_attempted[$criterion->id])) $students_attempted[$criterion->id] = 0;
184
+			if (!isset($students_achieved[$criterion->id])) $students_achieved[$criterion->id] = 0;
185
+			$attempted_criteria_per_program_array[$criterion->id] = 1;
186
+			$students_attempted[$criterion->id] += Criterion::students_attempted($criterion->id, $criterion->activity_id);
187
+			$students_achieved[$criterion->id] += Criterion::students_achieved($criterion->id, $criterion->activity_id);
198
 		}
188
 		}
199
-// 		var_dump($outcome_id);
200
-// 		var_dump($this->id);
201
-// 		if(isset($students_attempted))var_dump($students_attempted);
202
-// 		else{print "aqui hay algo";}
203
-// 		print "<br>";
204
-// 		if(isset($students_achieved))var_dump($students_achieved);
205
-// 		print "<br>";
206
-// 		print "<br>";
207
-// 			exit();
208
-		if(isset($students_attempted))
209
-		{
210
-			foreach($students_attempted as $criteria_id => $students_attempted_n)
211
-			{
212
-				if($students_attempted_n)
213
-				{
214
-					$percentage_students_who_achieved=100.0*$students_achieved[$criteria_id]/$students_attempted[$criteria_id];
189
+		// 		var_dump($outcome_id);
190
+		// 		var_dump($this->id);
191
+		// 		if(isset($students_attempted))var_dump($students_attempted);
192
+		// 		else{print "aqui hay algo";}
193
+		// 		print "<br>";
194
+		// 		if(isset($students_achieved))var_dump($students_achieved);
195
+		// 		print "<br>";
196
+		// 		print "<br>";
197
+		// 			exit();
198
+		if (isset($students_attempted)) {
199
+			foreach ($students_attempted as $criteria_id => $students_attempted_n) {
200
+				if ($students_attempted_n) {
201
+					$percentage_students_who_achieved = 100.0 * $students_achieved[$criteria_id] / $students_attempted[$criteria_id];
202
+				} else {
203
+					$percentage_students_who_achieved = 0;
215
 				}
204
 				}
216
-				else
217
-				{
218
-					$percentage_students_who_achieved=0;
219
-				}
220
-				if($percentage_students_who_achieved>=$criterion->expected_percentage_students_achieving)
221
-				{
205
+				if ($percentage_students_who_achieved >= $criterion->expected_percentage_students_achieving) {
222
 					$conteo++;
206
 					$conteo++;
223
 				}
207
 				}
224
-			}		
208
+			}
225
 		}
209
 		}
226
-		$attempted_criteria_per_program=count($attempted_criteria_per_program_array);
227
-		$achievedProgramOutcome=0;
228
-		$outcome=Outcome::where('id',$outcome_id)->select('expected_outcome')->first();
229
-// 		var_dump($outcome->expected_outcome);
230
-// 		exit();
231
-		if($attempted_criteria_per_program!=0 && 100.0*$conteo/$attempted_criteria_per_program >= $outcome->expected_outcome)
232
-		{
233
-			$achievedProgramOutcome=1;
210
+		$attempted_criteria_per_program = count($attempted_criteria_per_program_array);
211
+		$achievedProgramOutcome = 0;
212
+		$outcome = Outcome::where('id', $outcome_id)->select('expected_outcome')->first();
213
+		// 		var_dump($outcome->expected_outcome);
214
+		// 		exit();
215
+		if ($attempted_criteria_per_program != 0 && 100.0 * $conteo / $attempted_criteria_per_program >= $outcome->expected_outcome) {
216
+			$achievedProgramOutcome = 1;
234
 			// $output[]= 'END OF PROGRAM: '.$program->name.'-'.json_encode($achievedProgramsPerOutcome);
217
 			// $output[]= 'END OF PROGRAM: '.$program->name.'-'.json_encode($achievedProgramsPerOutcome);
235
 		}
218
 		}
236
 		return $conteo;
219
 		return $conteo;
238
 
221
 
239
 	public function achieved_outcome($outcome_id, $semesters)
222
 	public function achieved_outcome($outcome_id, $semesters)
240
 	{
223
 	{
241
-		$semesters_array=[];
242
-		foreach($semesters as $semester)
243
-		{
244
-			$semesters_array[]=$semester->id;
224
+		$semesters_array = [];
225
+		foreach ($semesters as $semester) {
226
+			$semesters_array[] = $semester->id;
245
 		}
227
 		}
246
-		
247
-//   DB::enableQueryLog();
248
-// 		dd(DB::getQueryLog());
249
-		 $criteria=DB::table('new_criteria')
250
-	    	->join('activity_criterion', 'activity_criterion.criterion_id', '=', 'new_criteria.id')
251
-	    	->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
252
-	    	->join('courses', 'activities.course_id', '=', 'courses.id')
253
-	    	->join('programs', 'programs.id', '=', 'courses.program_id')
254
-	    	->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'new_criteria.id')
255
-	    	->where('criterion_objective_outcome.outcome_id','=',$outcome_id)
256
-	    	->where('programs.id','=',$this->id)
257
-	    	->whereIn('courses.semester_id',$semesters_array)
258
-	    	->select('new_criteria.id','expected_percentage_students_achieving','activity_criterion.activity_id')
259
-	    	->distinct()
260
-	    	->get()
261
-			;
262
-// 		dd(DB::getQueryLog());
263
-		 
264
-		$conteo=0;
265
-		$attempted_criteria_per_program_array=[];
266
-// 		$students_attempted=0;
267
-// 		$students_achieved=0;
268
-		foreach($criteria as $criterion)
269
-		{	
270
-			if(!isset($students_attempted[$criterion->id]))$students_attempted[$criterion->id]=0;
271
-			if(!isset($students_achieved[$criterion->id]))$students_achieved[$criterion->id]=0;
272
-			$attempted_criteria_per_program_array[$criterion->id]=1;
273
-			$students_attempted[$criterion->id]+=Criterion::students_attempted($criterion->id, $criterion->activity_id);
274
-			$students_achieved[$criterion->id]+=Criterion::students_achieved($criterion->id, $criterion->activity_id);
228
+
229
+		//   DB::enableQueryLog();
230
+		// 		dd(DB::getQueryLog());
231
+		$criteria = DB::table('criteria')
232
+			->join('activity_criterion', 'activity_criterion.criterion_id', '=', 'criteria.id')
233
+			->join('activities', 'activity_criterion.activity_id', '=', 'activities.id')
234
+			->join('courses', 'activities.course_id', '=', 'courses.id')
235
+			->join('programs', 'programs.id', '=', 'courses.program_id')
236
+			->join('criterion_objective_outcome', 'criterion_objective_outcome.criterion_id', '=', 'criteria.id')
237
+			->where('criterion_objective_outcome.outcome_id', '=', $outcome_id)
238
+			->where('programs.id', '=', $this->id)
239
+			->whereIn('courses.semester_id', $semesters_array)
240
+			->select('criteria.id', 'expected_percentage_students_achieving', 'activity_criterion.activity_id')
241
+			->distinct()
242
+			->get();
243
+		// 		dd(DB::getQueryLog());
244
+
245
+		$conteo = 0;
246
+		$attempted_criteria_per_program_array = [];
247
+		// 		$students_attempted=0;
248
+		// 		$students_achieved=0;
249
+		foreach ($criteria as $criterion) {
250
+			if (!isset($students_attempted[$criterion->id])) $students_attempted[$criterion->id] = 0;
251
+			if (!isset($students_achieved[$criterion->id])) $students_achieved[$criterion->id] = 0;
252
+			$attempted_criteria_per_program_array[$criterion->id] = 1;
253
+			$students_attempted[$criterion->id] += Criterion::students_attempted($criterion->id, $criterion->activity_id);
254
+			$students_achieved[$criterion->id] += Criterion::students_achieved($criterion->id, $criterion->activity_id);
275
 		}
255
 		}
276
-// 		var_dump($outcome_id);
277
-// 		var_dump($this->id);
278
-// 		if(isset($students_attempted))var_dump($students_attempted);
279
-// 		else{print "aqui hay algo";}
280
-// 		print "<br>";
281
-// 		if(isset($students_achieved))var_dump($students_achieved);
282
-// 		print "<br>";
283
-// 		print "<br>";
284
-// 			exit();
285
-		if(isset($students_attempted))
286
-		{
287
-			foreach($students_attempted as $criteria_id => $students_attempted_n)
288
-			{
289
-				if($students_attempted_n)
290
-				{
291
-					$percentage_students_who_achieved=100.0*$students_achieved[$criteria_id]/$students_attempted[$criteria_id];
256
+		// 		var_dump($outcome_id);
257
+		// 		var_dump($this->id);
258
+		// 		if(isset($students_attempted))var_dump($students_attempted);
259
+		// 		else{print "aqui hay algo";}
260
+		// 		print "<br>";
261
+		// 		if(isset($students_achieved))var_dump($students_achieved);
262
+		// 		print "<br>";
263
+		// 		print "<br>";
264
+		// 			exit();
265
+		if (isset($students_attempted)) {
266
+			foreach ($students_attempted as $criteria_id => $students_attempted_n) {
267
+				if ($students_attempted_n) {
268
+					$percentage_students_who_achieved = 100.0 * $students_achieved[$criteria_id] / $students_attempted[$criteria_id];
269
+				} else {
270
+					$percentage_students_who_achieved = 0;
292
 				}
271
 				}
293
-				else
294
-				{
295
-					$percentage_students_who_achieved=0;
296
-				}
297
-				if($percentage_students_who_achieved>=$criterion->expected_percentage_students_achieving)
298
-				{
272
+				if ($percentage_students_who_achieved >= $criterion->expected_percentage_students_achieving) {
299
 					$conteo++;
273
 					$conteo++;
300
 				}
274
 				}
301
-			}		
275
+			}
302
 		}
276
 		}
303
-		$attempted_criteria_per_program=count($attempted_criteria_per_program_array);
304
-		$achievedProgramOutcome=0;
305
-		$outcome=Outcome::where('id',$outcome_id)->select('expected_outcome')->first();
306
-// 		var_dump($outcome->expected_outcome);
307
-// 		exit();
308
-		if($attempted_criteria_per_program!=0 && 100.0*$conteo/$attempted_criteria_per_program >= $outcome->expected_outcome)
309
-		{
310
-			$achievedProgramOutcome=1;
277
+		$attempted_criteria_per_program = count($attempted_criteria_per_program_array);
278
+		$achievedProgramOutcome = 0;
279
+		$outcome = Outcome::where('id', $outcome_id)->select('expected_outcome')->first();
280
+		// 		var_dump($outcome->expected_outcome);
281
+		// 		exit();
282
+		if ($attempted_criteria_per_program != 0 && 100.0 * $conteo / $attempted_criteria_per_program >= $outcome->expected_outcome) {
283
+			$achievedProgramOutcome = 1;
311
 			// $output[]= 'END OF PROGRAM: '.$program->name.'-'.json_encode($achievedProgramsPerOutcome);
284
 			// $output[]= 'END OF PROGRAM: '.$program->name.'-'.json_encode($achievedProgramsPerOutcome);
312
 		}
285
 		}
313
 		return $achievedProgramOutcome;
286
 		return $achievedProgramOutcome;
314
 	}
287
 	}
315
 
288
 
316
-	public static function generalComponentPrograms(){
317
-		return self::whereIn('id', array(123,124,125,126,127,128,129))->get();
289
+	public static function generalComponentPrograms()
290
+	{
291
+		return self::whereIn('id', array(123, 124, 125, 126, 127, 128, 129))->get();
318
 	}
292
 	}
319
 
293
 
320
-	public function assessmentOverview(){
294
+	public function assessmentOverview()
295
+	{
321
 
296
 
322
-        $assessment_overview = array();
297
+		$assessment_overview = array();
323
 
298
 
324
 		$assessment_overview['program_courses'] = $this->courses;
299
 		$assessment_overview['program_courses'] = $this->courses;
325
-        $outcomeCount = Outcome::all()->count();
326
-
327
-
328
-        $assessment_overview['outcomes_achieved'] = array_fill(1, $outcomeCount, 0);
329
-        $assessment_overview['outcomes_attempted'] = array_fill(1, $outcomeCount, 0);
330
-
331
-        $assessment_overview['assessed_courses_count'] = 0;
332
-        foreach ($assessment_overview['program_courses'] as $course)
333
-        {
334
-            if($course->outcomes_achieved!=NULL)
335
-            {
336
-                $course_outcomes_achieved =json_decode($course->outcomes_achieved, true);
337
-                $course_outcomes_attempted =json_decode($course->outcomes_attempted, true);
338
-                for($i=1; $i<=count($assessment_overview['outcomes_attempted']); $i++)
339
-                {
340
-                  $assessment_overview['outcomes_achieved'][$i]+=$course_outcomes_achieved[$i];
341
-                  $assessment_overview['outcomes_attempted'][$i]+=$course_outcomes_attempted[$i];
342
-                }
343
-                $assessment_overview['assessed_courses_count']+=1;
344
-            }
345
-        }
346
-
347
-        /**
348
-         * List of grouped courses (grouped sections)
349
-         */
350
-
351
-        $assessment_overview['grouped_courses'] = Course::
352
-            select(DB::raw('name, code, number, max(outcomes_attempted) as outcomes_attempted, semester_id, program_id'))
353
-            ->with('semester')
354
-            ->with('program')
355
-            ->where('program_id', $this->id)
356
-            ->whereIn('semester_id', Session::get('semesters_ids'))
357
-            ->groupBy(array('code', 'number', 'semester_id'))
358
-            ->orderBy('code')
359
-            ->orderBy('number')
360
-            ->orderBy('semester_id')
361
-            ->get();
362
-
363
-            Log::info(Course::
364
-            select(DB::raw('name, code, number, max(outcomes_attempted) as outcomes_attempted, semester_id, program_id'))
365
-            ->with('semester')
366
-            ->with('program')
367
-            ->where('program_id', $this->id)
368
-            ->whereIn('semester_id', Session::get('semesters_ids'))
369
-            ->groupBy(array('code', 'number', 'semester_id'))
370
-            ->orderBy('code')
371
-            ->orderBy('number')
372
-            ->orderBy('semester_id')
373
-            ->toSql());
374
-
375
-
376
-        return $assessment_overview;
377
-	}
300
+		$outcomeCount = Outcome::all()->count();
301
+
302
+
303
+		$assessment_overview['outcomes_achieved'] = array_fill(1, $outcomeCount, 0);
304
+		$assessment_overview['outcomes_attempted'] = array_fill(1, $outcomeCount, 0);
378
 
305
 
306
+		$assessment_overview['assessed_courses_count'] = 0;
307
+		foreach ($assessment_overview['program_courses'] as $course) {
308
+			if ($course->outcomes_achieved != NULL) {
309
+				$course_outcomes_achieved = json_decode($course->outcomes_achieved, true);
310
+				$course_outcomes_attempted = json_decode($course->outcomes_attempted, true);
311
+				for ($i = 1; $i <= count($assessment_overview['outcomes_attempted']); $i++) {
312
+					$assessment_overview['outcomes_achieved'][$i] += $course_outcomes_achieved[$i];
313
+					$assessment_overview['outcomes_attempted'][$i] += $course_outcomes_attempted[$i];
314
+				}
315
+				$assessment_overview['assessed_courses_count'] += 1;
316
+			}
317
+		}
318
+
319
+		/**
320
+		 * List of grouped courses (grouped sections)
321
+		 */
322
+
323
+		$assessment_overview['grouped_courses'] = Course::select(DB::raw('name, code, number, max(outcomes_attempted) as outcomes_attempted, semester_id, program_id'))
324
+			->with('semester')
325
+			->with('program')
326
+			->where('program_id', $this->id)
327
+			->whereIn('semester_id', Session::get('semesters_ids'))
328
+			->groupBy(array('code', 'number', 'semester_id'))
329
+			->orderBy('code')
330
+			->orderBy('number')
331
+			->orderBy('semester_id')
332
+			->get();
333
+
334
+		Log::info(Course::select(DB::raw('name, code, number, max(outcomes_attempted) as outcomes_attempted, semester_id, program_id'))
335
+			->with('semester')
336
+			->with('program')
337
+			->where('program_id', $this->id)
338
+			->whereIn('semester_id', Session::get('semesters_ids'))
339
+			->groupBy(array('code', 'number', 'semester_id'))
340
+			->orderBy('code')
341
+			->orderBy('number')
342
+			->orderBy('semester_id')
343
+			->toSql());
344
+
345
+
346
+		return $assessment_overview;
347
+	}
379
 }
348
 }

+ 13
- 16
app/models/Rubric.php Целия файл

3
 class Rubric extends Eloquent
3
 class Rubric extends Eloquent
4
 {
4
 {
5
 
5
 
6
-    /**
7
-     * Searchable rules.
8
-     *
9
-     * @var array
10
-     */
11
-    protected $searchable = [
12
-        'columns' => [
13
-            'name' => 10,
14
-        ],
15
-    ];
6
+  /**
7
+   * Searchable rules.
8
+   *
9
+   * @var array
10
+   */
11
+  protected $searchable = [
12
+    'columns' => [
13
+      'name' => 10,
14
+    ],
15
+  ];
16
 
16
 
17
   public function professor()
17
   public function professor()
18
   {
18
   {
21
 
21
 
22
   public function activities()
22
   public function activities()
23
   {
23
   {
24
-    return $this->belongsToMany('Activity', 'new_rubric_activity');
24
+    return $this->belongsToMany('Activity', 'rubric_activity');
25
   }
25
   }
26
 
26
 
27
   public function getCriterion($id, $criterion_id)
27
   public function getCriterion($id, $criterion_id)
30
 
30
 
31
     $rubric_contents = json_decode($rubric->contents);
31
     $rubric_contents = json_decode($rubric->contents);
32
 
32
 
33
-    foreach ($rubric_contents as $key => $criterion)
34
-    {
35
-      if($criterion->id == $criterion_id)
36
-      {
33
+    foreach ($rubric_contents as $key => $criterion) {
34
+      if ($criterion->id == $criterion_id) {
37
         return $criterion;
35
         return $criterion;
38
       }
36
       }
39
     }
37
     }
40
   }
38
   }
41
-
42
 }
39
 }

+ 3
- 3
app/views/local/managers/admins/criteria.blade.php Целия файл

484
 
484
 
485
             function(json) {
485
             function(json) {
486
 
486
 
487
-                optionName = '';
487
+                optionName = '<option value ="0">Nothing Selected</option>';
488
                 for(outcome in varArray.outcomes){
488
                 for(outcome in varArray.outcomes){
489
                     optionName += '<optgroup label="' + varArray.outcomes[outcome][0].name + '">';
489
                     optionName += '<optgroup label="' + varArray.outcomes[outcome][0].name + '">';
490
                     var objectiveForOutcome = varArray.objectives;
490
                     var objectiveForOutcome = varArray.objectives;
551
             },
551
             },
552
             function(varArray) {
552
             function(varArray) {
553
                 counterOutcome =0;
553
                 counterOutcome =0;
554
-                optionName = '';
554
+                optionName = '<option value ="0">Nothing Selected</option>';
555
                 for(outcome in varArray.outcomes){
555
                 for(outcome in varArray.outcomes){
556
                     optionName += '<optgroup label="' + varArray.outcomes[outcome][0].name + '">';
556
                     optionName += '<optgroup label="' + varArray.outcomes[outcome][0].name + '">';
557
                     var objectiveForOutcome = varArray.objectives;
557
                     var objectiveForOutcome = varArray.objectives;
756
 
756
 
757
                 assocOutcomeCounter = 0;
757
                 assocOutcomeCounter = 0;
758
                 var i = 0;
758
                 var i = 0;
759
-                optionName = '';
759
+                optionName = '<option value ="0">Nothing Selected</option>';
760
                 for(outcome in json.outcomes_assoc){
760
                 for(outcome in json.outcomes_assoc){
761
                     optionName += '<optgroup label="' + json.outcomes_assoc[outcome][0].name + '">';
761
                     optionName += '<optgroup label="' + json.outcomes_assoc[outcome][0].name + '">';
762
                     var objectiveForOutcome = json.objectives_assoc;
762
                     var objectiveForOutcome = json.objectives_assoc;

+ 3
- 3
app/views/local/managers/pCoords/criteria.blade.php Целия файл

476
 
476
 
477
             function(json) {
477
             function(json) {
478
 
478
 
479
-                optionName = '';
479
+                optionName = '<option value ="0">Nothing Selected</option>';
480
                 for(outcome in varArray.outcomes){
480
                 for(outcome in varArray.outcomes){
481
                     optionName += '<optgroup label="' + varArray.outcomes[outcome][0].name + '">';
481
                     optionName += '<optgroup label="' + varArray.outcomes[outcome][0].name + '">';
482
                     var objectiveForOutcome = varArray.objectives;
482
                     var objectiveForOutcome = varArray.objectives;
543
             },
543
             },
544
             function(varArray) {
544
             function(varArray) {
545
                 counterOutcome =0;
545
                 counterOutcome =0;
546
-                optionName = '';
546
+                optionName = '<option value ="0">Nothing Selected</option>';
547
                 for(outcome in varArray.outcomes){
547
                 for(outcome in varArray.outcomes){
548
                     optionName += '<optgroup label="' + varArray.outcomes[outcome][0].name + '">';
548
                     optionName += '<optgroup label="' + varArray.outcomes[outcome][0].name + '">';
549
                     var objectiveForOutcome = varArray.objectives;
549
                     var objectiveForOutcome = varArray.objectives;
745
 
745
 
746
                 assocOutcomeCounter = 0;
746
                 assocOutcomeCounter = 0;
747
                 var i = 0;
747
                 var i = 0;
748
-                optionName = '';
748
+                optionName = '<option value ="0">Nothing Selected</option>';
749
                 for(outcome in json.outcomes_assoc){
749
                 for(outcome in json.outcomes_assoc){
750
                     optionName += '<optgroup label="' + json.outcomes_assoc[outcome][0].name + '">';
750
                     optionName += '<optgroup label="' + json.outcomes_assoc[outcome][0].name + '">';
751
                     var objectiveForOutcome = json.objectives_assoc;
751
                     var objectiveForOutcome = json.objectives_assoc;

+ 3
- 3
app/views/local/managers/sCoords/criteria.blade.php Целия файл

482
 
482
 
483
             function(json) {
483
             function(json) {
484
 
484
 
485
-                optionName = '';
485
+                optionName = '<option value ="0">Nothing Selected</option>';
486
                 for(outcome in varArray.outcomes){
486
                 for(outcome in varArray.outcomes){
487
                     optionName += '<optgroup label="' + varArray.outcomes[outcome][0].name + '">';
487
                     optionName += '<optgroup label="' + varArray.outcomes[outcome][0].name + '">';
488
                     var objectiveForOutcome = varArray.objectives;
488
                     var objectiveForOutcome = varArray.objectives;
549
             },
549
             },
550
             function(varArray) {
550
             function(varArray) {
551
                 counterOutcome =0;
551
                 counterOutcome =0;
552
-                optionName = '';
552
+                optionName = '<option value ="0">Nothing Selected</option>';
553
                 for(outcome in varArray.outcomes){
553
                 for(outcome in varArray.outcomes){
554
                     optionName += '<optgroup label="' + varArray.outcomes[outcome][0].name + '"';
554
                     optionName += '<optgroup label="' + varArray.outcomes[outcome][0].name + '"';
555
                     var objectiveForOutcome = varArray.objectives;
555
                     var objectiveForOutcome = varArray.objectives;
753
 
753
 
754
                 assocOutcomeCounter = 0;
754
                 assocOutcomeCounter = 0;
755
                 var i = 0;
755
                 var i = 0;
756
-                optionName = '';
756
+                optionName = '<option value ="0">Nothing Selected</option>';
757
                 for(outcome in json.outcomes_assoc){
757
                 for(outcome in json.outcomes_assoc){
758
                     optionName += '<optgroup label="' + json.outcomes_assoc[outcome][0].name + '">';
758
                     optionName += '<optgroup label="' + json.outcomes_assoc[outcome][0].name + '">';
759
                     var objectiveForOutcome = json.objectives_assoc;
759
                     var objectiveForOutcome = json.objectives_assoc;

+ 7
- 4
app/views/local/managers/shared/rubrics.blade.php Целия файл

659
                 current_criterion = temp_criterion[temp_c]
659
                 current_criterion = temp_criterion[temp_c]
660
                 var subcriteria ='';
660
                 var subcriteria ='';
661
                 if(current_criterion.subcriteria){
661
                 if(current_criterion.subcriteria){
662
-                    var subcriteria_array = current_criterion.subcriteria;
662
+                    var subcriteria_array = JSON.parse(current_criterion.subcriteria);
663
                     subcriteria = '<ul class="subcriteria list-unstyled">';
663
                     subcriteria = '<ul class="subcriteria list-unstyled">';
664
                     subcriteria_array.forEach(function (value) {
664
                     subcriteria_array.forEach(function (value) {
665
                         subcriteria += '<li>'+value+'</li>';
665
                         subcriteria += '<li>'+value+'</li>';
1061
             "{{ URL::to('saveTemplate') }}",
1061
             "{{ URL::to('saveTemplate') }}",
1062
             {
1062
             {
1063
                 name: $('#rubric-name').val(),
1063
                 name: $('#rubric-name').val(),
1064
-                contents: " ",
1064
+                
1065
                 school_id: $('#select-school').find(':selected').data('school-id'),
1065
                 school_id: $('#select-school').find(':selected').data('school-id'),
1066
                 program_id: $('#select-program').find(':selected').data('program-id'),
1066
                 program_id: $('#select-program').find(':selected').data('program-id'),
1067
                 expected_percentage: $('#expected_percentage').find(':selected').val(),
1067
                 expected_percentage: $('#expected_percentage').find(':selected').val(),
1090
             {
1090
             {
1091
                 id: $('#select-template').find(':selected').data('template-id'),
1091
                 id: $('#select-template').find(':selected').data('template-id'),
1092
                 name: $('#rubric-name').val(),
1092
                 name: $('#rubric-name').val(),
1093
-                contents: JSON.stringify(criteriaArray),
1093
+                
1094
                 school_id: $('#select-school').find(':selected').data('school-id'),
1094
                 school_id: $('#select-school').find(':selected').data('school-id'),
1095
                 program_id: $('#select-program').find(':selected').data('program-id'),
1095
                 program_id: $('#select-program').find(':selected').data('program-id'),
1096
                 expected_percentage: $('#expected_percentage').find(':selected').val(),
1096
                 expected_percentage: $('#expected_percentage').find(':selected').val(),
1097
                 expected_points: $('#expected_points').find(':selected').val(),
1097
                 expected_points: $('#expected_points').find(':selected').val(),
1098
-                is_visible: $('input[name=is_visible]:checked').val()
1098
+                is_visible: $('input[name=is_visible]:checked').val(),
1099
+                criteria : criteria,
1100
+                scales: scales,
1101
+                max_score : max
1099
             },
1102
             },
1100
             function(data)
1103
             function(data)
1101
             {
1104
             {

+ 1
- 1
app/views/local/professors/rubrics.blade.php Целия файл

302
                 current_criterion = temp_criterion[temp_c]
302
                 current_criterion = temp_criterion[temp_c]
303
                 var subcriteria ='';
303
                 var subcriteria ='';
304
                 if(current_criterion.subcriteria){
304
                 if(current_criterion.subcriteria){
305
-                    var subcriteria_array = current_criterion.subcriteria;
305
+                    var subcriteria_array = JSON.parse(current_criterion.subcriteria);
306
                     subcriteria = '<ul class="subcriteria list-unstyled">';
306
                     subcriteria = '<ul class="subcriteria list-unstyled">';
307
                     subcriteria_array.forEach(function (value) {
307
                     subcriteria_array.forEach(function (value) {
308
                         subcriteria += '<li>'+value+'</li>';
308
                         subcriteria += '<li>'+value+'</li>';