No Description

print_school.blade.php 19KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596
  1. @extends('layouts.print')
  2. @section('header')
  3. <p class="header-text">
  4. @foreach (Session::get('semesters_info') as $index => $semester_info)
  5. {{ $semester_info }}
  6. @if($index+1 != count(Session::get('semesters_info')))
  7. <strong>&#183;</strong>
  8. @endif
  9. @endforeach
  10. </p>
  11. <p class="header-text">Assessment Results</p>
  12. <h1 class="header-text">School of {{{ $school->name}}}</h1>
  13. @stop
  14. @section('main')
  15. <h3>Programs</h3>
  16. <table class="tabletable-condensed">
  17. <tr>
  18. <th>Name</th>
  19. <th>Participation</th>
  20. </tr>
  21. @foreach ($school->programs as $program)
  22. <tr>
  23. <td>{{ $program->name }}</td>
  24. <td class="text-center">
  25. @if(in_array($program->id, $participating_programs))
  26. <span class="glyphicon glyphicon-ok"></span>
  27. @else
  28. -
  29. @endif
  30. </td>
  31. </tr>
  32. @endforeach
  33. </table>
  34. <br>
  35. <br>
  36. <br>
  37. <div class="row">
  38. <div class="col-md-12" id="graph-undergrad"></div>
  39. </div>
  40. <h3>Assessment Results by Learning Outcomes in Academic Undergraduate Programs</h3>
  41. <table>
  42. <thead>
  43. <th>Learning Outcome</th>
  44. <th>Programs Achieved</th>
  45. <th>Programs doing Assessment</th>
  46. <th>Success Rate</th>
  47. </thead>
  48. <tbody>
  49. @foreach($outcomes_undergrad as $outcome)
  50. <tr>
  51. <td class="col-md-6">{{ $outcome->name }}</td>
  52. <td class="col-md-2">{{{ count($attemptedUndergradProgramsPerOutcome[$outcome->id]) }}}</td>
  53. <td class="col-md-2">{{{ count($achievedUndergradProgramsPerOutcome[$outcome->id]) }}}</td>
  54. <td class="col-md-2">
  55. @if(count($attemptedUndergradProgramsPerOutcome[$outcome->id])!=0)
  56. {{{ round( count($achievedUndergradProgramsPerOutcome[$outcome->id]) / count($attemptedUndergradProgramsPerOutcome[$outcome->id])*100, 2) }}}%
  57. @else
  58. N/M
  59. @endif
  60. </td>
  61. </tr>
  62. @endforeach
  63. </tbody>
  64. <tfoot></tfoot>
  65. <caption>N/M: Not Measured</caption>
  66. </table>
  67. <h3>Courses</h3>
  68. @if($undergrad_school_sections_count>0)
  69. <table>
  70. <thead>
  71. <tr>
  72. <th>Identifier</th>
  73. <th>Name</th>
  74. <th>Program</th>
  75. <th>Assessed and Published</th>
  76. </tr>
  77. </thead>
  78. <tbody>
  79. @foreach($undergrad_grouped_courses as $grouped_course)
  80. <tr>
  81. <td class="col-md-2">{{ $grouped_course->code.$grouped_course->number.' ('.$grouped_course->semester->code.')' }}</td>
  82. <td class="col-md-4">{{{ $grouped_course->name}}}</td>
  83. <td class="col-md-2">{{{ $grouped_course->program->name }}}</td>
  84. <td class="col-md-1">
  85. @if($grouped_course->outcomes_attempted!=NULL)
  86. Yes
  87. @else
  88. No
  89. @endif
  90. </td>
  91. </tr>
  92. @endforeach
  93. </tbody>
  94. </table>
  95. @else
  96. <p class="lead"> No courses assigned.</p>
  97. @endif
  98. <h3>Sections</h3>
  99. @if($undergrad_school_sections_count>0)
  100. <p class="lead"> {{{ $undergrad_assessed_sections_count }}} out of {{{ $undergrad_school_sections_count }}} section(s) doing Assessment ({{{ round($undergrad_assessed_sections_count/$undergrad_school_sections_count*100, 2) }}}%)</p>
  101. <table>
  102. <thead>
  103. <tr>
  104. <th>Identifier</th>
  105. <th>Name</th>
  106. <th>Program</th>
  107. <th>Professor</th>
  108. <th>Assessed Activities</th>
  109. <th>Assessed Results</th>
  110. </tr>
  111. </thead>
  112. <tbody>
  113. @foreach($school->programs as $program)
  114. @if(!$program->is_graduate)
  115. @foreach($program->courses as $course)
  116. <tr>
  117. <td class="col-md-2">{{ $course->code.$course->number.'-'.$course->section.' ('.$course->semester->code.')' }}</td>
  118. <td class="col-md-4">{{{ $course->name}}}</td>
  119. <td class="col-md-2">{{{ $course->program->name }}}</td>
  120. <td class="col-md-3">{{{ $course->user->surnames }}}, {{{ $course->user->first_name }}}</td>
  121. <td class="col-md-1">
  122. @if(count($course->assessedActivities))
  123. Yes
  124. @else
  125. No
  126. @endif
  127. </td>
  128. <td class="col-md-1">
  129. @if(count($course->publishedActivities))
  130. Yes
  131. @else
  132. No
  133. @endif
  134. </td>
  135. </tr>
  136. @endforeach
  137. @endif
  138. @endforeach
  139. </tbody>
  140. </table>
  141. @else
  142. <p class="lead"> No sections assigned.</p>
  143. @endif
  144. <br>
  145. <br>
  146. <br>
  147. <div class="row">
  148. <div class="col-md-12" id="graph-grad"></div>
  149. </div>
  150. <h3>Assessment Results by Learning Outcomes in Academic Graduate Programs</h3>
  151. <table>
  152. <thead>
  153. <th>Learning Outcome</th>
  154. <th>Programs Achieved</th>
  155. <th>Programs doing Assessment</th>
  156. <th>Success Rate</th>
  157. </thead>
  158. <tbody>
  159. @foreach($outcomes_grad as $outcome)
  160. <tr>
  161. <td class="col-md-6">{{ link_to_action('OutcomesController@show', $outcome->name, array($outcome->id), $attributes = array()) }}</td>
  162. <td class="col-md-2">{{{ count($attemptedGradProgramsPerOutcome[$outcome->id]) }}}</td>
  163. <td class="col-md-2">{{{ count($achievedGradProgramsPerOutcome[$outcome->id]) }}}</td>
  164. <td class="col-md-2">
  165. @if(count($attemptedGradProgramsPerOutcome[$outcome->id])!=0)
  166. {{{ round(count($achievedGradProgramsPerOutcome[$outcome->id]) / count($attemptedGradProgramsPerOutcome[$outcome->id])*100, 2) }}}%
  167. @else
  168. N/M
  169. @endif
  170. </td>
  171. </tr>
  172. @endforeach
  173. </tbody>
  174. <tfoot></tfoot>
  175. <caption>N/M: Not Measured</caption>
  176. </table>
  177. <h3>Courses</h3>
  178. @if($grad_school_sections_count>0)
  179. <table>
  180. <thead>
  181. <tr>
  182. <th>Identifier</th>
  183. <th>Name</th>
  184. <th>Program</th>
  185. <th>Assessed and Published</th>
  186. </tr>
  187. </thead>
  188. <tbody>
  189. @foreach($grad_grouped_courses as $grouped_course)
  190. <tr>
  191. <td class="col-md-2">{{ $grouped_course->code.$grouped_course->number.' ('.$grouped_course->semester->code.')' }}</td>
  192. <td class="col-md-4">{{{ $grouped_course->name}}}</td>
  193. <td class="col-md-2">{{{ $grouped_course->program->name }}}</td>
  194. <td class="col-md-1">
  195. @if($grouped_course->outcomes_attempted!=NULL)
  196. Yes
  197. @else
  198. No
  199. @endif
  200. </td>
  201. </tr>
  202. @endforeach
  203. </tbody>
  204. </table>
  205. @else
  206. <p class="lead"> No courses assigned.</p>
  207. @endif
  208. <h3>Sections</h3>
  209. @if($grad_school_sections_count>0)
  210. <p class="lead"> {{{ $grad_assessed_sections_count }}} out of {{{ $grad_school_sections_count }}} section(s) doing Assessment ({{{ round($grad_assessed_sections_count/$grad_school_sections_count*100, 2) }}}%)</p>
  211. <table>
  212. <thead>
  213. <tr>
  214. <th>Identifier</th>
  215. <th>Name</th>
  216. <th>Program</th>
  217. <th>Professor</th>
  218. <th>Assessed Activities</th>
  219. <th>Assessed Results</th>
  220. </tr>
  221. </thead>
  222. <tbody>
  223. @foreach($school->programs as $program)
  224. @if($program->is_graduate)
  225. @foreach($program->courses as $course)
  226. <tr>
  227. <td class="col-md-2">{{ $course->code.$course->number.'-'.$course->section.' ('.$course->semester->code.')' }}</td>
  228. <td class="col-md-4">{{{ $course->name}}}</td>
  229. <td class="col-md-2">{{{ $course->program->name }}}</td>
  230. <td class="col-md-3">{{{ $course->user->surnames }}}, {{{ $course->user->first_name }}}</td>
  231. <td class="col-md-1">
  232. @if(count($course->assessedActivities))
  233. Yes
  234. @else
  235. No
  236. @endif
  237. </td>
  238. <td class="col-md-1">
  239. @if(count($course->publishedActivities))
  240. Yes
  241. @else
  242. No
  243. @endif
  244. </td>
  245. </tr>
  246. @endforeach
  247. @endif
  248. @endforeach
  249. </tbody>
  250. </table>
  251. @else
  252. <p class="lead"> No sections assigned.</p>
  253. @endif
  254. @stop
  255. @section('included-js')
  256. <!-- HighCharts -->
  257. <script src="{{ asset('vendor/highcharts/highcharts.js') }}"></script>
  258. <!--script src="http://code.highcharts.com/modules/exporting.js"></script -->
  259. @stop
  260. @section('javascript')
  261. $(function () {
  262. $('#schoolTabs a').click(function (e) {
  263. e.preventDefault()
  264. $(this).tab('show');
  265. });
  266. $('#graph-grad').highcharts({
  267. chart: {
  268. type: 'bar'
  269. },
  270. title: {
  271. text: 'Graduate Performance by {{ $school->name }} Students by Learning Outcome Criteria'
  272. },
  273. legend: {
  274. reversed: true,
  275. },
  276. xAxis: {
  277. categories: [
  278. @foreach($outcomes_grad as $outcome)
  279. "{{{ $outcome->name }}} <br> (N = {{$grad_outcomes_attempted[$outcome->id]}} , {{$grad_outcomes_achieved[$outcome->id]}})",
  280. @endforeach
  281. ],
  282. labels: {
  283. style: {
  284. fontSize:'11px'
  285. },
  286. step:1,
  287. useHTML:true,
  288. formatter: function() {
  289. return '<div style="width:200px; word-break:break; text-overflow:ellipsis; overflow:hidden;">'+this.value+'</div>';
  290. },
  291. }
  292. },
  293. yAxis: {
  294. min: 0,
  295. max: 100,
  296. title: {
  297. text: 'Percentage'
  298. },
  299. @if(isset($default_grad))
  300. plotLines:[{
  301. value:66.67,
  302. color: '#000',
  303. width:3,
  304. zIndex:4,
  305. label:{
  306. text: 'Goal (70%)',
  307. style: {
  308. color: '#000',
  309. fontSize: '14px',
  310. }
  311. }
  312. }]
  313. @else
  314. plotLines:[{
  315. value:{{$linea_grad->expected_target}},
  316. color: '#000',
  317. width:3,
  318. zIndex:4,
  319. label:{
  320. text: 'Goal ({{$linea_grad->expected_target}}%)',
  321. style: {
  322. color: '#000',
  323. fontSize: '14px',
  324. }
  325. }
  326. }]
  327. @endif
  328. },
  329. tooltip: {
  330. headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
  331. pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
  332. '<td style="padding:0"><b>{point.y:.2f}</b></td></tr>',
  333. footerFormat: '</table>',
  334. shared: true,
  335. useHTML: true
  336. },
  337. plotOptions: {
  338. bar: {
  339. //grouping: false,
  340. shadow: false,
  341. borderWidth: 0,
  342. },
  343. series: {
  344. pointPadding: 0,
  345. groupPadding: 0.075
  346. },
  347. },
  348. series: [/*{
  349. name: 'Expected Value',
  350. color: '#555555',
  351. dataLabels: {
  352. enabled: true,
  353. fontSize: 8,
  354. color: '#fff',
  355. align: 'right',
  356. format: '{y:.1f}%',
  357. style: {
  358. //fontWeight: 'bold'
  359. },
  360. y:-1
  361. },
  362. data: [
  363. @foreach($outcomes_grad as $index => $outcome)
  364. @if(
  365. is_array($grad_outcomes_attempted)
  366. && array_key_exists($outcome->id, $grad_outcomes_attempted)
  367. && $grad_outcomes_attempted[$outcome->id]!=0)
  368. {{{ $outcome->expected_outcome }}},
  369. @else
  370. 0,
  371. @endif
  372. @endforeach
  373. ],
  374. pointPadding: 0,
  375. }, */{
  376. name: 'Obtained Value',
  377. color: '#e70033',
  378. dataLabels: {
  379. enabled: true,
  380. fontSize: 8,
  381. color: '#fff',
  382. align: 'right',
  383. format: '{y:.1f}%',
  384. style: {
  385. //fontWeight: 'bold'
  386. },
  387. y:-1
  388. },
  389. data:[
  390. @foreach($outcomes_grad as $index => $outcome)
  391. @if(
  392. is_array($grad_outcomes_attempted)
  393. && array_key_exists($outcome->id, $grad_outcomes_attempted)
  394. && $grad_outcomes_attempted[$outcome->id]!=0)
  395. <?php
  396. if (isset($grad_outcomes_achieved[$outcome->id]))
  397. $achieved = $grad_outcomes_achieved[$outcome->id];
  398. else {
  399. $achieved =0;
  400. }
  401. ?>
  402. {{{ ($achieved/$grad_outcomes_attempted[$outcome->id])*100 }}},
  403. @else
  404. 0,
  405. @endif
  406. @endforeach
  407. ],
  408. pointPadding: 0,
  409. }]
  410. });
  411. });
  412. $('#graph-undergrad').highcharts({
  413. chart: {
  414. type: 'bar'
  415. },
  416. title: {
  417. text: 'Undergraduate Performance of {{ $school->name }} Students by Learning Outcome'
  418. },
  419. legend: {
  420. reversed: true,
  421. },
  422. xAxis: {
  423. categories: [
  424. @foreach($outcomes_undergrad as $outcome)
  425. "{{{ $outcome->name }}}, <br> (N = {{$undergrad_outcomes_attempted[$outcome->id]}} ,{{$undergrad_outcomes_achieved[$outcome->id]}})",
  426. @endforeach
  427. ],
  428. labels: {
  429. style: {
  430. fontSize:'11px'
  431. },
  432. step:1,
  433. useHTML:true,
  434. formatter: function() {
  435. return '<div style="width:200px; word-break:break; text-overflow:ellipsis; overflow:hidden;">'+this.value+'</div>';
  436. },
  437. }
  438. },
  439. yAxis: {
  440. min: 0,
  441. max: 100,
  442. title: {
  443. text: 'Percentage'
  444. },
  445. @if(isset($default_undergrad))
  446. plotLines:[{
  447. value:66.67,
  448. color: '#000',
  449. width:3,
  450. zIndex:4,
  451. label:{
  452. text: 'Goal (70%)',
  453. style: {
  454. color: '#000',
  455. fontSize: '14px',
  456. }
  457. }
  458. }]
  459. @else
  460. plotLines:[{
  461. value:{{$linea_undergrad->expected_target}},
  462. color: '#000',
  463. width:3,
  464. zIndex:4,
  465. label:{
  466. text: 'Goal ({{$linea_undergrad->expected_target}}%)',
  467. style: {
  468. color: '#000',
  469. fontSize: '14px',
  470. }
  471. }
  472. }]
  473. @endif
  474. },
  475. tooltip: {
  476. headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
  477. pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
  478. '<td style="padding:0"><b>{point.y:.2f}</b></td></tr>',
  479. footerFormat: '</table>',
  480. shared: true,
  481. useHTML: true
  482. },
  483. plotOptions: {
  484. bar: {
  485. //grouping: false,
  486. shadow: false,
  487. borderWidth: 0,
  488. },
  489. series: {
  490. pointPadding: 0,
  491. groupPadding: 0.075
  492. },
  493. },
  494. series: [/*{
  495. name: 'Expected Value',
  496. color: '#555555',
  497. dataLabels: {
  498. enabled: true,
  499. fontSize: 8,
  500. color: '#fff',
  501. align: 'right',
  502. format: '{y:.1f}%',
  503. style: {
  504. //fontWeight: 'bold'
  505. },
  506. y:-1
  507. },
  508. data: [
  509. @foreach($outcomes_undergrad as $index => $outcome)
  510. @if(
  511. is_array($undergrad_outcomes_attempted)
  512. && array_key_exists($outcome->id, $undergrad_outcomes_attempted)
  513. && $undergrad_outcomes_attempted[$outcome->id]!=0)
  514. {{{ $outcome->expected_outcome }}},
  515. @else
  516. 0,
  517. @endif
  518. @endforeach
  519. ],
  520. pointPadding: 0,
  521. },*/ {
  522. name: 'Obtained Value',
  523. color: '#e70033',
  524. dataLabels: {
  525. enabled: true,
  526. fontSize: 8,
  527. color: '#fff',
  528. align: 'right',
  529. format: '{y:.1f}%',
  530. style: {
  531. //fontWeight: 'bold'
  532. },
  533. y:-1
  534. },
  535. data:[
  536. @foreach($outcomes_undergrad as $index => $outcome)
  537. @if(
  538. is_array($undergrad_outcomes_attempted)
  539. && array_key_exists($outcome->id, $undergrad_outcomes_attempted)
  540. && $undergrad_outcomes_attempted[$outcome->id]!=0)
  541. <?php
  542. if (isset($undergrad_outcomes_achieved[$outcome->id]))
  543. $achieved = $undergrad_outcomes_achieved[$outcome->id];
  544. else {
  545. $achieved =0;
  546. }
  547. ?>
  548. {{{ ($achieved/$undergrad_outcomes_attempted[$outcome->id])*100 }}},
  549. @else
  550. 0,
  551. @endif
  552. @endforeach
  553. ],
  554. pointPadding: 0,
  555. }]
  556. });
  557. // Include dummy graph for outcomes
  558. @include('global.dummy-outcomes')
  559. @stop