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->loadMembers($this)
113 ->withAccessHandling($this->il_access_handler);
129 public function delete()
131 $this->settings_storage->deleteSettings($this);
132 $this->members_storage->deleteMembers($this);
142 $this->settings_storage->updateSettings($this->
settings);
147 $this->settings_storage->updateInfoSettings($this->info_settings);
157 return $this->members_storage;
165 $this->access_handler->initDefaultRolesForObject($this);
175 return $this->access_handler;
181 public function cloneObject($a_target_id, $a_copy_id = 0, $a_omit_tree =
false)
183 $new_obj = parent::cloneObject($a_target_id, $a_copy_id, $a_omit_tree);
188 $settings->content(),
189 $settings->recordTemplate()
191 $new_obj->settings = $new_settings;
195 $info_settings->contact(),
196 $info_settings->responsibility(),
197 $info_settings->phone(),
198 $info_settings->mails(),
199 $info_settings->consultationHours()
201 $new_obj->settings = $new_settings;
202 $new_obj->info_settings = $new_info_settings;
203 $new_obj->settings_storage->updateSettings($new_settings);
204 $new_obj->settings_storage->updateInfoSettings($new_info_settings);
207 if (count($fstorage->readDir()) > 0) {
208 $n_fstorage = $new_obj->getFileStorage();
209 $n_fstorage->create();
210 $fstorage->_copyDirectory($fstorage->getAbsolutePath(), $n_fstorage->getAbsolutePath());
222 if ($this->file_storage === null) {
225 return $this->file_storage;
235 if ($this->lp_active === null) {
236 require_once
'Modules/IndividualAssessment/classes/LearningProgress/class.ilIndividualAssessmentLPInterface.php';
257 $tree = $DIC[
'tree'];
258 $node =
$tree->getParentNodeData(
$id);
260 while ($node[
'type'] !==
"root") {
261 if (in_array($node[
'type'], $types)) {
262 return $node[
'ref_id'];
264 $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)
Create styles array
The data for the language used.
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)