11require_once
'Services/Object/classes/class.ilObject.php';
12require_once
'Modules/IndividualAssessment/classes/Settings/class.ilIndividualAssessmentSettings.php';
13require_once
'Modules/IndividualAssessment/classes/Settings/class.ilIndividualAssessmentSettingsStorageDB.php';
14require_once
'Modules/IndividualAssessment/classes/Members/class.ilIndividualAssessmentMembersStorageDB.php';
15require_once
'Modules/IndividualAssessment/classes/AccessControl/class.ilIndividualAssessmentAccessHandler.php';
16require_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';
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']);
An exception for terminatinating execution or to throw for unit testing.
Deal with ilias rbac-system
static getInstance($a_container_id=0)
A simple carrier for iass info-settings.
static isActiveLP($a_object_id)
Member administration related logic, add and remove members, get the list of all members,...
updateStorageAndRBAC(ilIndividualAssessmentMembersStorage $storage, IndividualAssessmentAccessHandler $access_handler)
Store the data to a persistent medium.
A settings storage handler to write iass settings to db.
An object carrying settings of an Individual Assessment obj beyond the standart information.
For the purpose of streamlining the grading and learning-process status definition outside of tests,...
setInfoSettings(ilIndividualAssessmentInfoSettings $info)
Set info settings.
cloneObject($a_target_id, $a_copy_id=0, $a_omit_tree=false)
loadVisibleMembers()
Get the members object associated with this and visible by the current user.
initDefaultRoles()
init default roles settings Purpose of this function is to create a local role folder and local roles...
isActiveLP()
Check wether the LP is activated for current object.
accessHandler()
Get the access handler of this.
read()
read object data from db into object
updateMembers(ilIndividualAssessmentMembers $members)
Update the members object associated with this.
create()
createnote: title, description and type should be set when this function is called@access public inte...
getParentContainerIdByType($id, array $types)
Bubbles up the tree.
membersStorage()
Get the member storage object used by this.
update()
update object in db@access public boolean true on success
__construct($a_id=0, $a_call_by_reference=true)
Constructor @access public.
setSettings(ilIndividualAssessmentSettings $settings)
Set the settings.
loadMembers()
Get the members object associated with this.
getFileStorage()
Get the file storage system.
Class ilObject Basic functions for all objects.
getId()
get object id @access public
update($pash, $contents, Config $config)