attendance_edit.php 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106
  1. <?php
  2. /* For licensing terms, see /license.txt */
  3. /**
  4. * View (MVC patter) for editing an attendance
  5. * @author Christian Fasanando <christian1827@gmail.com>
  6. * @package chamilo.attendance
  7. */
  8. // protect a course script
  9. api_protect_course_script(true);
  10. // error messages
  11. if (isset($error)) {
  12. echo Display::return_message(get_lang('FormHasErrorsPleaseComplete'), 'error', false);
  13. }
  14. if (!isset($error)) {
  15. $token = Security::get_token();
  16. }
  17. $attendance_weight = api_float_val($attendance_weight);
  18. // display form
  19. $form = new FormValidator(
  20. 'attendance_edit',
  21. 'POST',
  22. 'index.php?action=attendance_edit&'.api_get_cidreq().'&attendance_id='.$attendance_id
  23. );
  24. $form->addElement('header', '', get_lang('Edit'));
  25. $form->addElement('hidden', 'sec_token', $token);
  26. $form->addElement('hidden', 'attendance_id', $attendance_id);
  27. $form->addText('title', get_lang('Title'), true);
  28. $form->applyFilter('title', 'html_filter');
  29. $form->addHtmlEditor(
  30. 'description',
  31. get_lang('Description'),
  32. false,
  33. false,
  34. [
  35. 'ToolbarSet' => 'TrainingDescription',
  36. 'Width' => '100%',
  37. 'Height' => '200',
  38. ]
  39. );
  40. // Advanced Parameters
  41. $skillList = [];
  42. if (Gradebook::is_active()) {
  43. if (!empty($attendance_qualify_title) || !empty($attendance_weight)) {
  44. $form->addButtonAdvancedSettings('id_qualify');
  45. $form->addElement('html', '<div id="id_qualify_options" style="display:block">');
  46. $form->addElement(
  47. 'checkbox',
  48. 'attendance_qualify_gradebook',
  49. '',
  50. get_lang('QualifyAttendanceGradebook'),
  51. ['checked'=>'true', 'onclick'=>'javascript: if(this.checked){document.getElementById(\'options_field\').style.display = \'block\';}else{document.getElementById(\'options_field\').style.display = \'none\';}']
  52. );
  53. $form->addElement('html', '<div id="options_field" style="display:block">');
  54. } else {
  55. $form->addButtonAdvancedSettings('id_qualify');
  56. $form->addElement('html', '<div id="id_qualify_options" style="display:none">');
  57. $form->addElement(
  58. 'checkbox',
  59. 'attendance_qualify_gradebook',
  60. '',
  61. get_lang('QualifyAttendanceGradebook'),
  62. 'onclick="javascript: if(this.checked){document.getElementById(\'options_field\').style.display = \'block\';}else{document.getElementById(\'options_field\').style.display = \'none\';}"'
  63. );
  64. $form->addElement('html', '<div id="options_field" style="display:none">');
  65. }
  66. GradebookUtils::load_gradebook_select_in_tool($form);
  67. $form->addElement('text', 'attendance_qualify_title', get_lang('TitleColumnGradebook'));
  68. $form->applyFilter('attendance_qualify_title', 'html_filter');
  69. $form->addElement(
  70. 'text',
  71. 'attendance_weight',
  72. get_lang('QualifyWeight'),
  73. 'value="0.00" Style="width:40px" onfocus="javascript: this.select();"'
  74. );
  75. $form->applyFilter('attendance_weight', 'html_filter');
  76. $form->addElement('html', '</div>');
  77. $skillList = Skill::addSkillsToForm($form, ITEM_TYPE_ATTENDANCE, $attendance_id);
  78. $form->addElement('html', '</div>');
  79. }
  80. $form->addButtonUpdate(get_lang('Save'));
  81. // set default values
  82. $default['title'] = Security::remove_XSS($title);
  83. $default['description'] = Security::remove_XSS($description, STUDENT);
  84. $default['attendance_qualify_title'] = $attendance_qualify_title;
  85. $default['attendance_weight'] = $attendance_weight;
  86. $default['skills'] = array_keys($skillList);
  87. $link_info = GradebookUtils::isResourceInCourseGradebook(
  88. api_get_course_id(),
  89. 7,
  90. $attendance_id,
  91. api_get_session_id()
  92. );
  93. $default['category_id'] = $link_info['category_id'];
  94. $form->setDefaults($default);
  95. $form->display();