@extends('layouts.master')

@section('navigation')
        @include('local.managers.admins._navigation')
@stop

@section('main')
    <div class="row">
        <div class="col-md-12">

            <p>This report contains performance information for all Schools and Programs with assessed courses during the following semester(s):</p>
            <ul>
                @foreach (Session::get('semesters_info') as $semester_info)
                    <li>{{ $semester_info }}</li>
                @endforeach
            </ul>

            <p class="hidden-print">Unlinked programs did not assess this outcome.</p>


            <!-- <h3>Table of Contents</h3> -->
            <!-- <ol id="table-of-contents" class="upper-roman">

            </ol> -->


            <h3 id="{{ $outcome->id }}" class="outcome">{{ $outcome->name }}</h3>
            <table class="table table-condensed table-bordered datatable">
                <thead>
                    <tr class="center-text">
                        <th>School or College</th>
                        <th>Academic Program</th>
                        <th>Assesses Outcome</th>
                        <th>Findings</th>
                    </tr>
                </thead>
                <tfoot>
                    <tr class="column-search">
                        <th><select class="column-search-select form-control"><option value=""></option></select></th>
                        <th><select class="column-search-select form-control"><option value=""></option></select></th>
                        <th><select class="column-search-select form-control"><option value=""></option></select></th>
                        <th><input class="column-search-bar form-control" type="text" placeholder="Buscar"/></th>
                    </tr>
                </tfoot>
                <tbody>
                    @foreach ($schools as $school)
                        @foreach ($school->programs as $program)
                            @if($program->assessesOutcome($outcome->id))
                                <tr>
                                    <td>{{ $school->name }}</td>
                                    <td>{{ $program->name }}</td>
                                    <td>Yes</td>
                                    <td>

                                    <!-- For each grouped course -->
                                    @foreach($program->courses as $course_index => $course)
                                        <!-- If grouped course has activities that evaluate the outcome -->

                                        <?php

                                           /* $sections_evaluating_outcome = Course::has('activities')
//                                             ->whereNotNull('outcomes_attempted')
//                                             ->whereRaw('outcomes_attempted not like \'%"'.$outcome->id.'":0%\'')
                                            ->with(array('activities'=>function($query) use(&$outcome){
//                                                 $query->whereNotNull('outcomes_attempted');
//                                                 $query->whereRaw('outcomes_attempted not like \'%"'.$outcome->id.'":0%\'');} ))
//                                                 $query->whereRaw('outcomes_attempted not like \'%"'.$outcome->id.'":0%\'');
                                                } ))
                                            ->where('code', $course->code)->where('number',$course->number)
                                            ->whereIn('semester_id', Session::get('semesters_ids'))
                                            ->get();*/

                                            $sections_evaluating_outcome = Course::has('activities')
                            
                          ->with(array('activities'=>function($query) use(&$outcome, &$course){
                                $activities = DB::table('activities')
                                ->join('activity_criterion', 'activity_criterion.activity_id', '=', 'activities.id')
                                ->join('assessments', 'assessments.activity_criterion_id', '=','activity_criterion.id')
                                ->join('criterion_objective_outcome', 'activity_criterion.criterion_id', '=', 'criterion_objective_outcome.criterion_id')
                                ->join('courses','courses.id','=','activities.course_id')
                                ->where('courses.code', $course->code)
                                ->where('courses.number',$course->number)
                                ->where('criterion_objective_outcome.outcome_id', $outcome->id)
                                ->select('activity_id')
                                ->lists('activity_id');

                               $query->whereIn('id', $activities);
                        } ))
                                

                            ->where('code', $course->code)->where('number',$course->number)
                            ->whereIn('semester_id', Session::get('semesters_ids'))
                            ->get();

                                            
                                        ?>

                                        @if(count($sections_evaluating_outcome))
                                            <h4>{{ $course->code}}-{{ $course->number }}</h4>

                                            <!-- For each section -->
                                            @foreach($sections_evaluating_outcome as $section_index => $section)
                                                <h5><u>Instance {{ $section_index + 1}}</u></h5>

                                                <!-- For each activity in the section -->
                                                @foreach($section->activities as $activity_index => $activity)
                                                        <?php

Log::info($activity->o_att_array);
Log::info(array_key_exists($outcome->id, $activity->o_att_array));
Log::info($activity->o_att_array[$outcome->id] >=1);
Log::info(isset($section)); 
Log::info($activity->rubric[0]);

?>
                                                    <!-- If activity has a rubric and the rubric has the outcome being evaluated -->
                                                    @if($activity->draft == 0 &&$activity->diagnostic==0 && array_key_exists($outcome->id, $activity->o_att_array) && $activity->o_att_array[$outcome->id] >=1 && isset($section)&& isset($activity->rubric[0]))
                                                        <h5>Measure {{ $activity_index + 1 }}</h5>
                                                        <?php
                                                        /*
                                                        var_dump($section->code);
                                                        var_dump($section->number);
                                                        var_dump($section->name);
                                                        var_dump($outcome->name);
                                                        var_dump(date('M Y', strtotime($activity->date)));
                                                        var_dump($activity->name);
                                                        var_dump(count($section->students));
                                                        print"<br>";
                                                        print "A rubric was used in the $section->code-$section->number ($section->name) course (". date('M Y', strtotime($activity->date)).") to assess students’ <u>". strtolower($outcome->name) ."</u> in the activity: '<strong>$activity->name </strong>'. N= ". count($section->students);
                                                        exit();
                                                        */
                                                        ?>


                                                        <p>A rubric was used in the {{ $section->code }}-{{ $section->number }} ({{ $section->name }}) course ({{ date('M Y', strtotime($activity->date))}}) to assess students’ <u>{{ strtolower($outcome->name) }}</u> in the activity: "<strong>{{ $activity->name }}</strong>". N= {{ count($section->students) }}. </p>
                                                        
                                                        <p>The expected performance level was that <strong>{{ $activity->rubric[0]->expected_percentage }}%</strong> of students participating in the activity would score <strong>{{ $activity->rubric[0]->expected_points }} points</strong> or more in the 1-{{$activity->rubric[0]->max_score}} point scale used.</p>
                                                        
                                                        <p>The results for each criterion were as follows:</p>

                                                        <?php

                                                            //$rubric_contents = json_decode($activity->rubric->contents);
                                                        ?>

                                                        <table class="table table-condensed table-bordered">
                                                            <tbody>
                                                                @foreach((array)$activity->cap_array as $criterion_id => $criterion)
                                                                @if(in_array($outcome->id, json_decode($criterion->outcome_id))  /*== $outcome->id*/ && $criterion->score_percentage >= $activity->rubric[0]->expected_percentage )
                                                                    <tr>
                                                                        <td>{{ $criterion->name }}</td>
                                                                        <td class="col-md-1 success">{{ $criterion->score_percentage }}%</td>
                                                                    </tr>
                                                                @elseif(in_array($outcome->id, json_decode($criterion->outcome_id)) && $criterion->score_percentage < $activity->rubric[0]->expected_percentage )
                                                                    <tr>
                                                                        <td>{{ $criterion->name }}</td>
                                                                        <td class="col-md-1 danger">{{ $criterion->score_percentage }}%</td>
                                                                    </tr>
                                                                @endif  
                                                            @endforeach
                                                            </tbody>
                                                        </table>

                                                        <p>
                                                            <?php
                                                                  $o_att_array = $activity->o_att_array;
                                                            $o_ach_array = $activity->o_ach_array;
                                                            $percentage = ($o_ach_array[$outcome->id]/$o_att_array[$outcome->id])*100;
                                                        ?>
                                                            @if($percentage >= 100)
                                                                The expected goal was reached in <strong>all</strong> (100%) of the criteria assessed. Therefore, the goal for this outcome ({{ $outcome->expected_outcome }}%) was <strong>met</strong>.
                                                            @elseif ($percentage < 1)
                                                                The expected goal was reached in <strong>none</strong> (0%) of the criteria assessed. Therefore, the goal for this outcome ({{ $outcome->expected_outcome }}%) was <strong>not met</strong>.
                                                            @elseif ($percentage >= $outcome->expected_outcome)
                                                                The expected goal was reached in <strong>{{ $o_ach_array[$outcome->id] }}</strong> out of the <strong>{{ $o_att_array[$outcome->id] }}</strong> ({{ round($percentage, 2) }}%) criteria assessed. Therefore, the goal for this outcome ({{ $outcome->expected_outcome }}%) was <strong>met</strong>.
                                                            @elseif ($percentage < $outcome->expected_outcome)
                                                                The expected goal was reached in <strong>{{ $o_ach_array[$outcome->id] }}</strong> out of the <strong>{{ $o_att_array[$outcome->id] }}</strong> ({{ round($percentage, 2) }}%) criteria assessed. Therefore, the goal for this outcome ({{ $outcome->expected_outcome }}%) was <strong> not met</strong>.
                                                            @endif
                                                        </p>

                                                        <h5><strong>Transformative Actions</strong></h5>
                                                        @if($activity->transforming_actions)
                                                            {{ $activity->transforming_actions }}
                                                        @else
                                                            None
                                                        @endif
                                                        <br><br>

                                                    @else
                                                        <h5>Measure {{ $activity_index + 1 }}</h5>
                                                        <em>Outcome not measured.</em>
                                                    @endif
                                                @endforeach
                                            @endforeach
                                        <hr>
                                        @endif
                                    @endforeach
                                    </td>
                                </tr>
                            @else
                                <tr>
                                    <td>{{ $school->name }}</td>
                                    <td>{{ $program->name }}</td>
                                    <td>No</td>
                                    <td>
                                        This program did not assess {{ $outcome->name }}.
                                    </td>
                                </tr>
                            @endif
                        @endforeach
                    @endforeach
                </tbody>
            </table>
        </div>
    </div>
    <span class="js-vars"
        data-pdf-url="{{ URL::action('OutcomesController@assessmentReport') }}"
    ></span>
@stop

@section('included-js')
    @include('global._datatables_js')
@stop


@section('javascript')

// Build table of contents
var outcome = $('.outcome');
var str ='';
str+='<li><a href="#'+outcome.attr('id')+'">'+outcome.text()+'</a><ol class="schools upper-alpha">';

/*$('[id^='+outcome.attr('id')+'-].school:visible').each(function(e){
    var school = $(this);
    str+='<li><a href="#'+school.attr('id')+'">'+school.text()+'</a><ol class="programs">';

    $('[id^='+school.attr('id')+'-].program:visible').each(function(e){

        var program = $(this);
        if(!program.hasClass('no-courses'))
            str+='<li><a href="#'+program.attr('id')+'">'+program.text()+'</a></li>';
        else
            str+='<li>'+program.text()+'</li>';

    });

    str+='</ol></li>';
});*/

str+='</ol></li>';

//$('#table-of-contents').append(str);


// ----------------------------------------------------------------------------
// Events
//

$('.to-top').on('click', function(e) {
    e.preventDefault();

     $(this).scrollTop(0);
    $('html').animate({scrollTop:0}, 1);
    $('body').animate({scrollTop:0}, 1);
})

@stop