11 require_once
'Services/Object/classes/class.ilObject.php';
12 require_once
'Modules/IndividualAssessment/classes/Settings/class.ilIndividualAssessmentSettings.php';
13 require_once
'Modules/IndividualAssessment/classes/Settings/class.ilIndividualAssessmentSettingsStorageDB.php';
14 require_once
'Modules/IndividualAssessment/classes/Members/class.ilIndividualAssessmentMembersStorageDB.php';
15 require_once
'Modules/IndividualAssessment/classes/AccessControl/class.ilIndividualAssessmentAccessHandler.php';
16 require_once
'Modules/IndividualAssessment/classes/FileStorage/class.ilIndividualAssessmentFileStorage.php';
21 public function __construct($a_id = 0, $a_call_by_reference =
true)
25 $this->il_access_handler = $DIC[
"ilAccess"];
26 parent::__construct($a_id, $a_call_by_reference);
45 $this->settings_storage->createSettings($this->
settings);
56 $this->
settings = $settings_storage->loadSettings($this);
57 $this->info_settings = $settings_storage->loadInfoSettings($this);
66 $this->
settings = $this->settings_storage->loadSettings($this);
68 return $this->settings;
81 if (!$this->info_settings) {
82 $this->info_settings = $this->settings_storage->loadInfoSettings($this);
84 return $this->info_settings;
92 $this->info_settings =
$info;
102 return $this->members_storage->loadMembers($this);
112 return $this->members_storage->loadMembersAsSingleObjects($this, $filter, $sort);
122 return $this->members_storage->loadMembers($this)
123 ->withAccessHandling($this->il_access_handler);
139 public function delete()
141 $this->settings_storage->deleteSettings($this);
142 $this->members_storage->deleteMembers($this);
152 $this->settings_storage->updateSettings($this->
settings);
157 $this->settings_storage->updateInfoSettings($this->info_settings);
167 return $this->members_storage;
175 $this->access_handler->initDefaultRolesForObject($this);
185 return $this->access_handler;
191 public function cloneObject($a_target_id, $a_copy_id = 0, $a_omit_tree =
false)
193 $new_obj = parent::cloneObject($a_target_id, $a_copy_id, $a_omit_tree);
198 $settings->content(),
199 $settings->recordTemplate()
201 $new_obj->settings = $new_settings;
205 $info_settings->contact(),
206 $info_settings->responsibility(),
207 $info_settings->phone(),
208 $info_settings->mails(),
209 $info_settings->consultationHours()
211 $new_obj->settings = $new_settings;
212 $new_obj->info_settings = $new_info_settings;
213 $new_obj->settings_storage->updateSettings($new_settings);
214 $new_obj->settings_storage->updateInfoSettings($new_info_settings);
217 if (count($fstorage->readDir()) > 0) {
218 $n_fstorage = $new_obj->getFileStorage();
219 $n_fstorage->create();
220 $fstorage->_copyDirectory($fstorage->getAbsolutePath(), $n_fstorage->getAbsolutePath());
232 if ($this->file_storage === null) {
235 return $this->file_storage;
245 if ($this->lp_active === null) {
246 require_once
'Modules/IndividualAssessment/classes/LearningProgress/class.ilIndividualAssessmentLPInterface.php';
267 $tree = $DIC[
'tree'];
268 $node =
$tree->getParentNodeData(
$id);
270 while ($node[
'type'] !==
"root") {
271 if (in_array($node[
'type'], $types)) {
272 return $node[
'ref_id'];
274 $node =
$tree->getParentNodeData($node[
'ref_id']);
Deal with ilias rbac-system
For the purpose of streamlining the grading and learning-process status definition outside of tests...
A settings storage handler to write iass settings to db.
An object carrying settings of an Individual Assessment obj beyond the standart information.
membersStorage()
Get the member storage object used by this.
A simple carrier for iass info-settings.
setInfoSettings(ilIndividualAssessmentInfoSettings $info)
Set info settings.
loadVisibleMembers()
Get the members object associated with this and visible by the current user.
getFileStorage()
Get the file storage system.
isActiveLP()
Check wether the LP is activated for current object.
getId()
get object id public
setSettings(ilIndividualAssessmentSettings $settings)
Set the settings.
__construct($a_id=0, $a_call_by_reference=true)
loadMembersAsSingleObjects(string $filter=null, string $sort=null)
Get the members as single object associated with this.
update($pash, $contents, Config $config)
loadMembers()
Get the members object associated with this.
updateStorageAndRBAC(ilIndividualAssessmentMembersStorage $storage, IndividualAssessmentAccessHandler $access_handler)
Store the data to a persistent medium.
accessHandler()
Get the access handler of this.
getParentContainerIdByType($id, array $types)
Bubbles up the tree.
static getInstance($a_container_id=0)
updateMembers(ilIndividualAssessmentMembers $members)
Update the members object associated with this.
Member administration related logic, add and remove members, get the list of all members, etc.
static isActiveLP($a_object_id)
cloneObject($a_target_id, $a_copy_id=0, $a_omit_tree=false)