|
|
|
@ -21,12 +21,26 @@ class Category implements GradebookItem |
|
|
|
|
private $skills = array(); |
|
|
|
|
private $grade_model_id; |
|
|
|
|
private $generateCertificates; |
|
|
|
|
private $isRequirement; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Consctructor |
|
|
|
|
*/ |
|
|
|
|
public function __construct() |
|
|
|
|
{ |
|
|
|
|
$this->id = 0; |
|
|
|
|
$this->name = null; |
|
|
|
|
$this->description = null; |
|
|
|
|
$this->user_id = 0; |
|
|
|
|
$this->course_code = null; |
|
|
|
|
$this->parent = 0; |
|
|
|
|
$this->weight = 0; |
|
|
|
|
$this->visible = false; |
|
|
|
|
$this->certificate_min_score = 0; |
|
|
|
|
$this->session_id = 0; |
|
|
|
|
$this->grade_model_id = 0; |
|
|
|
|
$this->generateCertificates = false; |
|
|
|
|
$this->isRequirement = false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
@ -113,6 +127,15 @@ class Category implements GradebookItem |
|
|
|
|
return $this->visible; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Get $isRequirement |
|
|
|
|
* @return int |
|
|
|
|
*/ |
|
|
|
|
public function getIsRequirement() |
|
|
|
|
{ |
|
|
|
|
return $this->isRequirement; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @param int $id |
|
|
|
|
*/ |
|
|
|
@ -210,6 +233,15 @@ class Category implements GradebookItem |
|
|
|
|
$this->locked = $locked; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* Set $isRequirement |
|
|
|
|
* @param int $isRequirement |
|
|
|
|
*/ |
|
|
|
|
public function setIsRequirement($isRequirement) |
|
|
|
|
{ |
|
|
|
|
$this->isRequirement = $isRequirement; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* @return int |
|
|
|
|
*/ |
|
|
|
@ -440,6 +472,7 @@ class Category implements GradebookItem |
|
|
|
|
$cat->set_weight(0); |
|
|
|
|
$cat->set_visible(1); |
|
|
|
|
$cat->setGenerateCertificates(0); |
|
|
|
|
$cat->setIsRequirement(false); |
|
|
|
|
|
|
|
|
|
return $cat; |
|
|
|
|
} |
|
|
|
@ -467,6 +500,7 @@ class Category implements GradebookItem |
|
|
|
|
$cat->set_grade_model_id($data['grade_model_id']); |
|
|
|
|
$cat->set_locked($data['locked']); |
|
|
|
|
$cat->setGenerateCertificates($data['generate_certificates']); |
|
|
|
|
$cat->setIsRequirement($data['is_requirement']); |
|
|
|
|
$categories[] = $cat; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
@ -483,70 +517,26 @@ class Category implements GradebookItem |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (isset($this->name) && isset($this->user_id)) { |
|
|
|
|
$tbl_grade_categories = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_CATEGORY); |
|
|
|
|
$sql = 'INSERT INTO '.$tbl_grade_categories.' (name,user_id,weight,visible'; |
|
|
|
|
if (isset($this->description)) { |
|
|
|
|
$sql .= ',description'; |
|
|
|
|
} |
|
|
|
|
if (isset($this->course_code)) { |
|
|
|
|
$sql .= ',course_code'; |
|
|
|
|
} |
|
|
|
|
if (isset($this->parent)) { |
|
|
|
|
$sql .= ',parent_id'; |
|
|
|
|
} |
|
|
|
|
if (!empty($this->session_id)) { |
|
|
|
|
$sql .= ', session_id'; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (isset($this->grade_model_id)) { |
|
|
|
|
$sql .= ', grade_model_id '; |
|
|
|
|
} |
|
|
|
|
if (isset($this->certificate_min_score) && !empty($this->certificate_min_score)) { |
|
|
|
|
$sql .= ', certif_min_score '; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (isset($this->generateCertificates)) { |
|
|
|
|
$sql .= ', generate_certificates '; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* |
|
|
|
|
$setting = api_get_setting('tool_visible_by_default_at_creation'); |
|
|
|
|
$visible = 1; |
|
|
|
|
if (isset($setting['gradebook'])) { |
|
|
|
|
if ($setting['gradebook'] == 'false') { |
|
|
|
|
$visible = 0; |
|
|
|
|
} |
|
|
|
|
}*/ |
|
|
|
|
|
|
|
|
|
$visible = intval($this->is_visible()); |
|
|
|
|
$em = Database::getManager(); |
|
|
|
|
|
|
|
|
|
$foo = new \Chamilo\CoreBundle\Entity\GradebookCategory(); |
|
|
|
|
$foo->setName($this->name); |
|
|
|
|
$foo->setDescription($this->description); |
|
|
|
|
$foo->setUserId($this->user_id); |
|
|
|
|
$foo->setCourseCode($this->course_code); |
|
|
|
|
$foo->setParentId($this->parent); |
|
|
|
|
$foo->setWeight($this->weight); |
|
|
|
|
$foo->setVisible($this->visible); |
|
|
|
|
$foo->setCertifMinScore($this->certificate_min_score); |
|
|
|
|
$foo->setSessionId($this->session_id); |
|
|
|
|
$foo->setGenerateCertificates($this->generateCertificates); |
|
|
|
|
$foo->setGradeModelId($this->grade_model_id); |
|
|
|
|
$foo->setIsRequirement($this->isRequirement); |
|
|
|
|
$foo->setLocked(false); |
|
|
|
|
|
|
|
|
|
$em->persist($foo); |
|
|
|
|
$em->flush(); |
|
|
|
|
|
|
|
|
|
$sql .= ") VALUES ('".Database::escape_string($this->get_name())."'" |
|
|
|
|
.','.intval($this->get_user_id()) |
|
|
|
|
.','.Database::escape_string($this->get_weight()) |
|
|
|
|
.','.$visible; |
|
|
|
|
if (isset($this->description)) { |
|
|
|
|
$sql .= ",'".Database::escape_string($this->get_description())."'"; |
|
|
|
|
} |
|
|
|
|
if (isset($this->course_code)) { |
|
|
|
|
$sql .= ",'".Database::escape_string($this->get_course_code())."'"; |
|
|
|
|
} |
|
|
|
|
if (isset($this->parent)) { |
|
|
|
|
$sql .= ','.intval($this->get_parent_id()); |
|
|
|
|
} |
|
|
|
|
if (!empty($this->session_id)) { |
|
|
|
|
$sql .= ', '.intval($this->get_session_id()); |
|
|
|
|
} |
|
|
|
|
if (isset($this->grade_model_id)) { |
|
|
|
|
$sql .= ', '.intval($this->get_grade_model_id()); |
|
|
|
|
} |
|
|
|
|
if (isset($this->certificate_min_score) && !empty($this->certificate_min_score)) { |
|
|
|
|
$sql .= ', '.intval($this->get_certificate_min_score()); |
|
|
|
|
} |
|
|
|
|
if (isset($this->generateCertificates)) { |
|
|
|
|
$sql .= ', ' . intval($this->generateCertificates); |
|
|
|
|
} |
|
|
|
|
$sql .= ')'; |
|
|
|
|
Database::query($sql); |
|
|
|
|
$id = Database::insert_id(); |
|
|
|
|
$this->set_id($id); |
|
|
|
|
|
|
|
|
@ -595,44 +585,32 @@ class Category implements GradebookItem |
|
|
|
|
*/ |
|
|
|
|
public function save() |
|
|
|
|
{ |
|
|
|
|
$tbl_grade_categories = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_CATEGORY); |
|
|
|
|
$em = Database::getManager(); |
|
|
|
|
|
|
|
|
|
$sql = 'UPDATE '.$tbl_grade_categories." SET |
|
|
|
|
name = '".Database::escape_string($this->get_name())."'".', |
|
|
|
|
description = '; |
|
|
|
|
if (isset($this->description)) { |
|
|
|
|
$sql .= "'".Database::escape_string($this->get_description())."'"; |
|
|
|
|
} else { |
|
|
|
|
$sql .= 'null'; |
|
|
|
|
} |
|
|
|
|
$sql .= ', user_id = '.intval($this->get_user_id()) |
|
|
|
|
.', course_code = '; |
|
|
|
|
if (isset($this->course_code)) { |
|
|
|
|
$sql .= "'".Database::escape_string($this->get_course_code())."'"; |
|
|
|
|
} else { |
|
|
|
|
$sql .= 'null'; |
|
|
|
|
} |
|
|
|
|
$sql .= ', parent_id = '; |
|
|
|
|
if (isset($this->parent)) { |
|
|
|
|
$sql .= intval($this->get_parent_id()); |
|
|
|
|
} else { |
|
|
|
|
$sql .= 'null'; |
|
|
|
|
} |
|
|
|
|
$sql .= ', certif_min_score = '; |
|
|
|
|
if (isset($this->certificate_min_score) && !empty($this->certificate_min_score)) { |
|
|
|
|
$sql .= intval($this->get_certificate_min_score()); |
|
|
|
|
} else { |
|
|
|
|
$sql .= 'null'; |
|
|
|
|
} |
|
|
|
|
if (isset($this->grade_model_id)) { |
|
|
|
|
$sql .= ', grade_model_id = '.intval($this->get_grade_model_id()); |
|
|
|
|
$gradebookCategory = $em |
|
|
|
|
->getRepository('ChamiloCoreBundle:GradebookCategory') |
|
|
|
|
->find($this->id); |
|
|
|
|
|
|
|
|
|
if (empty($gradebookCategory)) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
$sql .= ', weight = "'.Database::escape_string($this->get_weight()) |
|
|
|
|
.'", visible = '.intval($this->is_visible()) |
|
|
|
|
. ', generate_certificates = ' . intval($this->generateCertificates) |
|
|
|
|
.' WHERE id = '.intval($this->id); |
|
|
|
|
|
|
|
|
|
Database::query($sql); |
|
|
|
|
$gradebookCategory->setName($this->name); |
|
|
|
|
$gradebookCategory->setDescription($this->description); |
|
|
|
|
$gradebookCategory->setUserId($this->user_id); |
|
|
|
|
$gradebookCategory->setCourseCode($this->course_code); |
|
|
|
|
$gradebookCategory->setParentId($this->parent); |
|
|
|
|
$gradebookCategory->setWeight($this->weight); |
|
|
|
|
$gradebookCategory->setVisible($this->visible); |
|
|
|
|
$gradebookCategory->setCertifMinScore($this->certificate_min_score); |
|
|
|
|
$gradebookCategory->setGenerateCertificates( |
|
|
|
|
$this->generateCertificates |
|
|
|
|
); |
|
|
|
|
$gradebookCategory->setGradeModelId($this->grade_model_id); |
|
|
|
|
$gradebookCategory->setIsRequirement($this->isRequirement); |
|
|
|
|
|
|
|
|
|
$em->persist($gradebookCategory); |
|
|
|
|
$em->flush(); |
|
|
|
|
|
|
|
|
|
if (!empty($this->id)) { |
|
|
|
|
$parent_id = $this->get_parent_id(); |
|
|
|
@ -746,7 +724,7 @@ class Category implements GradebookItem |
|
|
|
|
return null; |
|
|
|
|
} else { |
|
|
|
|
$tbl_category = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_CATEGORY); |
|
|
|
|
$sql = 'SELECT name,description,user_id,course_code,parent_id,weight,visible,certif_min_score,session_id, generate_certificates |
|
|
|
|
$sql = 'SELECT name,description,user_id,course_code,parent_id,weight,visible,certif_min_score,session_id, generate_certificates, is_requirement |
|
|
|
|
FROM '.$tbl_category.' c |
|
|
|
|
WHERE c.id='.intval($selectcat); |
|
|
|
|
$result = Database::query($sql); |
|
|
|
|