Skills: Refactor skill rel item BT#13334

pull/4060/head
Julio 4 years ago
parent 136067906e
commit 239f1c2119
  1. 4
      main/attendance/attendance_add.php
  2. 3
      main/attendance/attendance_edit.php
  3. 3
      main/exercise/exercise.class.php
  4. 4
      main/forum/editthread.php
  5. 3
      main/inc/lib/link.lib.php
  6. 58
      main/inc/lib/skill.lib.php
  7. 3
      main/lp/lp_edit.php
  8. 4
      main/survey/create_new_survey.php
  9. 3
      main/work/work.lib.php

@ -67,9 +67,7 @@ if ((api_get_session_id() != 0 && Gradebook::is_active()) || api_get_session_id(
);
$form->applyFilter('attendance_weight', 'html_filter');
$form->addElement('html', '</div>');
$skillList = Skill::addSkillsToForm($form, ITEM_TYPE_ATTENDANCE, 0);
Skill::addSkillsToForm($form, ITEM_TYPE_ATTENDANCE, 0);
$form->addElement('html', '</div>');
}
$form->addButtonCreate(get_lang('Save'));

@ -82,7 +82,7 @@ if (Gradebook::is_active()) {
);
$form->applyFilter('attendance_weight', 'html_filter');
$form->addElement('html', '</div>');
$skillList = Skill::addSkillsToForm($form, ITEM_TYPE_ATTENDANCE, $attendance_id);
Skill::addSkillsToForm($form, ITEM_TYPE_ATTENDANCE, $attendance_id);
$form->addElement('html', '</div>');
}
$form->addButtonUpdate(get_lang('Save'));
@ -92,7 +92,6 @@ $default['title'] = Security::remove_XSS($title);
$default['description'] = Security::remove_XSS($description, STUDENT);
$default['attendance_qualify_title'] = $attendance_qualify_title;
$default['attendance_weight'] = $attendance_weight;
$default['skills'] = array_keys($skillList);
$linkInfo = GradebookUtils::isResourceInCourseGradebook(
api_get_course_id(),

@ -2492,7 +2492,7 @@ class Exercise
}
}
$skillList = Skill::addSkillsToForm($form, ITEM_TYPE_EXERCISE, $this->iid);
Skill::addSkillsToForm($form, ITEM_TYPE_EXERCISE, $this->iid);
$extraField = new ExtraField('exercise');
$extraField->addElements(
@ -2634,7 +2634,6 @@ class Exercise
} else {
$defaults['enabletimercontroltotalminutes'] = 0;
}
$defaults['skills'] = array_keys($skillList);
$defaults['notifications'] = $this->getNotifications();
} else {
$defaults['exerciseType'] = 2;

@ -215,7 +215,7 @@ if (api_is_allowed_to_edit(null, true)) {
$form->addElement('html', '</div>');
$skillList = Skill::addSkillsToForm($form, ITEM_TYPE_FORUM_THREAD, $threadId);
Skill::addSkillsToForm($form, ITEM_TYPE_FORUM_THREAD, $threadId);
if (!empty($threadData)) {
$defaults['thread_qualify_gradebook'] = $gradeThisThread;
@ -233,8 +233,6 @@ if (!empty($threadData)) {
$defaults['thread_peer_qualify'] = 0;
}
$defaults['skills'] = array_keys($skillList);
$form->addButtonUpdate(get_lang('ModifyThread'), 'SubmitPost');
if ($form->validate()) {

@ -1681,10 +1681,9 @@ class Link extends Model
}
}
$skillList = Skill::addSkillsToForm($form, ITEM_TYPE_LINK, $linkId);
Skill::addSkillsToForm($form, ITEM_TYPE_LINK, $linkId);
$form->addHidden('lp_id', $lpId);
$form->addButtonSave(get_lang('SaveLink'), 'submitLink');
$defaults['skills'] = array_keys($skillList);
$form->setDefaults($defaults);
return $form;

@ -2607,24 +2607,11 @@ class Skill extends Model
);
/** @var SkillRelItem $skillRelItem */
foreach ($items as $skillRelItem) {
$skillList[$skillRelItem->getSkill()->getId()] = $skillRelItem->getSkill()->getName();
$skillList[] = $skillRelItem->getSkill()->getId();
}
}
$courseId = api_get_course_int_id();
$sessionId = api_get_session_id();
$url = api_get_path(WEB_AJAX_PATH).
'skill.ajax.php?a=search_skills_in_course&course_id='.$courseId.'&session_id='.$sessionId;
$form->addSelectAjax(
'skills',
get_lang('Skills'),
$skillList,
[
'url' => $url,
'multiple' => 'multiple',
]
);
self::skillsToCheckbox($form, $skillList);
return $skillList;
}
@ -2836,13 +2823,15 @@ class Skill extends Model
// Add new one
if (!empty($skills)) {
$skills = array_keys($skills);
$skillRepo = $em->getRepository('ChamiloCoreBundle:Skill');
foreach ($skills as $skillId) {
/** @var SkillEntity $skill */
$skill = $em->getRepository('ChamiloCoreBundle:Skill')->find($skillId);
if ($skill) {
$skill = $skillRepo->find($skillId);
if (null !== $skill) {
if (!$skill->hasItem($typeId, $itemId)) {
$skillRelItem = new SkillRelItem();
$skillRelItem
$skillRelItem = (new SkillRelItem())
->setItemType($typeId)
->setItemId($itemId)
->setCourseId($courseId)
@ -2874,25 +2863,36 @@ class Skill extends Model
$em = Database::getManager();
$skillRelCourseRepo = $em->getRepository('ChamiloSkillBundle:SkillRelCourse');
$items = $skillRelCourseRepo->findBy(['course' => $courseId, 'session' => $sessionId]);
$skills = $em->getRepository('ChamiloCoreBundle:Skill')->findAll();
$skillList = [];
/** @var \Chamilo\CoreBundle\Entity\Skill $skill */
foreach ($skills as $skill) {
$skillList[$skill->getId()] = $skill->getName();
}
$selectedSkills = [];
$skillCountList = [];
/** @var \Chamilo\SkillBundle\Entity\SkillRelCourse $skillRelCourse */
foreach ($items as $skillRelCourse) {
$skillId = $skillRelCourse->getSkill()->getId();
$selectedSkills[] = $skillId;
}
self::skillsToCheckbox($form, $selectedSkills);
return $selectedSkills;
}
public static function skillsToCheckbox(FormValidator $form, $selectedSkills = [])
{
$em = Database::getManager();
$skillRelCourseRepo = $em->getRepository('ChamiloSkillBundle:SkillRelCourse');
$skills = $em->getRepository('ChamiloCoreBundle:Skill')->findAll();
foreach ($selectedSkills as $skillId) {
$skillCountList[$skillId] = $skillRelCourseRepo->count(['skill' => $skillId]);
}
$skillList = [];
/** @var \Chamilo\CoreBundle\Entity\Skill $skill */
foreach ($skills as $skill) {
$skillList[$skill->getId()] = $skill->getName();
}
if (!empty($skillList)) {
asort($skillList);
}
@ -2917,8 +2917,6 @@ class Skill extends Model
$elements[] = $element;
}
$form->addGroup($elements, '', get_lang('Skills'));
return $selectedSkills;
}
/**

@ -285,7 +285,7 @@ if ($form->hasElement('extra_authors')) {
$author->setOptions($options);
}
$skillList = Skill::addSkillsToForm($form, ITEM_TYPE_LEARNPATH, $lpId);
Skill::addSkillsToForm($form, ITEM_TYPE_LEARNPATH, $lpId);
// Submit button
$form->addButtonSave(get_lang('SaveLPSettings'));
@ -309,7 +309,6 @@ $defaults['expired_on'] = (!empty($expired_on))
? api_get_local_time($expired_on)
: date('Y-m-d 12:00:00', time() + 84600);
$defaults['subscribe_users'] = $learnPath->getSubscribeUsers();
$defaults['skills'] = array_keys($skillList);
$form->setDefaults($defaults);
Display::display_header(get_lang('CourseSettings'), 'Path');

@ -326,7 +326,7 @@ if ($action === 'edit' && !empty($survey_id)) {
}
}
$skillList = Skill::addSkillsToForm($form, ITEM_TYPE_SURVEY, $survey_id);
Skill::addSkillsToForm($form, ITEM_TYPE_SURVEY, $survey_id);
$form->addElement('html', '</div><br />');
@ -351,8 +351,6 @@ $form->addRule(
'lte'
);
$defaults['skills'] = array_keys($skillList);
// Setting the default values
$form->setDefaults($defaults);

@ -5626,10 +5626,9 @@ function getFormWork($form, $defaults = [], $workId = 0)
$form->addHtml('</div>');
$skillList = Skill::addSkillsToForm($form, ITEM_TYPE_STUDENT_PUBLICATION, $workId);
Skill::addSkillsToForm($form, ITEM_TYPE_STUDENT_PUBLICATION, $workId);
if (!empty($defaults)) {
$defaults['skills'] = array_keys($skillList);
$form->setDefaults($defaults);
}

Loading…
Cancel
Save