20 require_once
'Services/Object/classes/class.ilObjectGUI.php';
21 require_once
'Modules/IndividualAssessment/classes/class.ilIndividualAssessmentLP.php';
22 require_once
'Services/Tracking/classes/class.ilObjUserTracking.php';
34 public function __construct($a_data, $a_id = 0, $a_call_by_reference =
true, $a_prepare_output =
true)
39 $this->tpl = $DIC[
'tpl'];
40 $this->ctrl = $DIC[
'ilCtrl'];
41 $this->usr = $DIC[
'ilUser'];
42 $this->
ilias = $DIC[
'ilias'];
43 $this->lng = $DIC[
'lng'];
45 $this->lng->loadLanguageModule(
'iass');
46 $this->tpl->getStandardTemplate();
47 $this->locator = $DIC[
'ilLocator'];
49 parent::__construct($a_data, $a_id, $a_call_by_reference, $a_prepare_output);
54 if (is_object($this->
object)) {
55 $this->locator->addItem($this->
object->getTitle(), $this->ctrl->getLinkTarget($this,
"view"),
"", $this->
object->getRefId());
61 $next_class = $this->ctrl->getNextClass($this);
62 $cmd = $this->ctrl->getCmd();
66 switch ($next_class) {
67 case 'ilpermissiongui':
68 $this->tabs_gui->setTabActive(self::TAB_PERMISSION);
69 require_once
'Services/AccessControl/classes/class.ilPermissionGUI.php';
71 $this->ctrl->forwardCommand($ilPermissionGUI);
73 case 'ilindividualassessmentsettingsgui':
74 $this->tabs_gui->setTabActive(self::TAB_SETTINGS);
75 require_once
'Modules/IndividualAssessment/classes/class.ilIndividualAssessmentSettingsGUI.php';
77 $this->ctrl->forwardCommand($gui);
79 case 'ilindividualassessmentmembersgui':
82 case 'ilinfoscreengui':
83 $this->tabs_gui->setTabActive(self::TAB_INFO);
84 require_once
'Services/InfoScreen/classes/class.ilInfoScreenGUI.php';
86 $this->ctrl->forwardCommand(
$info);
88 case 'illearningprogressgui':
89 if (!$this->
object->accessHandler()->mayViewObject()) {
92 require_once
'Services/Tracking/classes/class.ilLearningProgressGUI.php';
93 $this->tabs_gui->setTabActive(self::TAB_LP);
99 $this->ctrl->forwardCommand($learning_progress);
101 case "ilcommonactiondispatchergui":
102 include_once(
"Services/Object/classes/class.ilCommonActionDispatcherGUI.php");
104 $this->ctrl->forwardCommand($gui);
107 include_once(
"./Services/Export/classes/class.ilExportGUI.php");
108 $this->tabs_gui->setTabActive(self::TAB_EXPORT);
110 $exp_gui->addFormat(
"xml");
111 $ret = $this->ctrl->forwardCommand($exp_gui);
116 if ($this->
object->accessHandler()->mayEditMembers()) {
117 $this->ctrl->setCmdClass(
'ilIndividualassessmentmembersgui');
134 $this->tabs_gui->setTabActive(self::TAB_INFO);
135 require_once
'Services/InfoScreen/classes/class.ilInfoScreenGUI.php';
136 $this->ctrl->setCmd(
'showSummary');
137 $this->ctrl->setCmdClass(
'ilinfoscreengui');
139 $this->ctrl->forwardCommand(
$info);
144 $this->tabs_gui->setTabActive(self::TAB_MEMBERS);
145 require_once
'Modules/IndividualAssessment/classes/class.ilIndividualAssessmentMembersGUI.php';
147 $this->ctrl->forwardCommand($gui);
155 if ($this->
object->loadMembers()->userAllreadyMember($this->usr)) {
165 $member = $this->
object->membersStorage()->loadMember($this->
object, $this->usr);
166 $info->
addSection($this->lng->txt(
'grading_info'));
167 if ($member->finalized()) {
170 if ($member->notify() && $member->finalized()) {
171 $info->
addProperty($this->lng->txt(
'grading_record'), nl2br($member->record()));
172 if (($member->viewFile() || $view_self) && $member->fileName() && $member->fileName() !=
"") {
173 $tpl =
new ilTemplate(
"tpl.iass_user_file_download.html",
true,
true,
"Modules/IndividualAssessment");
174 $tpl->setVariable(
"FILE_NAME", $member->fileName());
175 $tpl->setVariable(
"HREF", $this->ctrl->getLinkTarget($this,
"downloadFile"));
185 $member = $this->
object->membersStorage()->loadMember($this->
object, $this->usr);
186 $file_storage = $this->
object->getFileStorage();
187 $file_storage->setUserId($this->usr->getId());
193 $content = $this->
object->getSettings()->content();
194 if ($content !== null && $content !==
'') {
195 $info->
addSection($this->lng->txt(
'general'));
196 $info->
addProperty($this->lng->txt(
'content'), $content);
203 $info_settings = $this->
object->getInfoSettings();
205 $info->
addSection($this->lng->txt(
'iass_contact_info'));
206 $info->
addProperty($this->lng->txt(
'iass_contact'), $info_settings->contact());
207 $info->
addProperty($this->lng->txt(
'iass_responsibility'), $info_settings->responsibility());
208 $info->
addProperty($this->lng->txt(
'iass_phone'), $info_settings->phone());
209 $info->
addProperty($this->lng->txt(
'iass_mails'), $info_settings->mails());
210 $info->
addProperty($this->lng->txt(
'iass_consultation_hours'), $info_settings->consultationHours());
217 $val = $info_settings->
contact();
218 if ($val !== null && $val !==
'') {
222 if ($val !== null && $val !==
'') {
225 $val = $info_settings->
phone();
226 if ($val !== null && $val !==
'') {
229 $val = $info_settings->
mails();
230 if ($val !== null && $val !==
'') {
234 if ($val !== null && $val !==
'') {
242 if ($this->
object->accessHandler()->mayViewObject()) {
243 $this->tabs_gui->addTab(
245 $this->lng->txt(
'info_short'),
249 if ($this->
object->accessHandler()->mayEditObject()) {
250 $this->tabs_gui->addTab(
252 $this->lng->txt(
'settings'),
256 if ($this->
object->accessHandler()->mayEditMembers()
257 || $this->
object->accessHandler()->mayGradeUser()
258 || $this->
object->accessHandler()->mayAmendGradeUser()
259 || $this->
object->accessHandler()->mayViewUser()) {
260 $this->tabs_gui->addTab(
262 $this->lng->txt(
'il_iass_members'),
266 if (($this->
object->accessHandler()->mayViewUser()
267 || $this->
object->accessHandler()->mayGradeUser()
268 || ($this->
object->loadMembers()->userAllreadyMember($this->usr)
269 && $this->
object->isActiveLP()))
271 $this->tabs_gui->addTab(
273 $this->lng->txt(
'learning_progress'),
274 $this->ctrl->getLinkTargetByClass(
'illearningprogressgui')
278 if ($this->
object->accessHandler()->mayEditObject()) {
279 $this->tabs_gui->addTarget(
281 $this->ctrl->getLinkTargetByClass(
'ilexportgui',
''),
287 if ($this->
object->accessHandler()->mayEditPermissions()) {
288 $this->tabs_gui->addTarget(
289 self::TAB_PERMISSION,
290 $this->ctrl->getLinkTargetByClass(
'ilpermissiongui',
'perm'),
300 if ($a_cmd ==
'settings') {
301 return $this->ctrl->getLinkTargetByClass(
'ilindividualassessmentsettingsgui',
'edit');
303 if ($a_cmd ==
'info') {
304 return $this->ctrl->getLinkTarget($this,
'view');
306 if ($a_cmd ==
'members') {
307 return $this->ctrl->getLinkTargetByClass(
'ilindividualassessmentmembersgui',
'view');
309 return $this->ctrl->getLinkTarget($this, $a_cmd);
320 $DIC[
'ilias']->raiseError($DIC[
'lng']->txt(
"msg_no_perm_read"), $DIC[
'ilias']->error_obj->WARNING);
323 public static function _goto($a_target, $a_add =
'')
326 if ($DIC[
'ilAccess']->checkAccess(
'read',
'', $a_target)) {
335 return $this->lng->txt(
'iass_status_pending');
338 return $this->lng->txt(
'iass_status_completed');
341 return $this->lng->txt(
'iass_status_failed');
349 $this->ctrl->setParameter($this,
"ref_id", $a_new_object->
getRefId());
350 ilUtil::redirect($this->ctrl->getLinkTargetByClass(
'ilIndividualassessmentsettingsgui',
'edit',
'',
false,
false));
356 if ($this->
object->accessHandler()->mayViewObject()) {
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
A simple carrier for iass info-settings.
__construct($a_data, $a_id=0, $a_call_by_reference=true, $a_prepare_output=true)
For the purpose of streamlining the grading and learning-process status definition outside of tests...
shouldShowContactInfo(ilIndividualAssessmentInfoSettings $info_settings)
addSection($a_title)
add a new section
addMemberDataToInfo(ilInfoScreenGUI $info)
getEntryForStatus($a_status)
Export User Interface Class.
prepareOutput($a_show_subobjects=true)
prepare output
static _enabledLearningProgress()
check wether learing progress is enabled or not
addItem( $a_ref_id, $a_link, $a_type, $a_title="", $a_sub_obj_id="", $a_goto_link="")
Add an item to the stack.
addContactDataToInfo(ilInfoScreenGUI $info)
addGeneralDataToInfo(ilInfoScreenGUI $info)
static _gotoRepositoryNode($a_ref_id, $a_cmd="frameset")
Goto repository root.
Class ilObjectGUI Basic methods of all Output classes.
special template class to simplify handling of ITX/PEAR
redirection script todo: (a better solution should control the processing via a xml file) ...
initEditForm()
Init object edit form.
Navigation History of Repository Items.
Create styles array
The data for the language used.
Create new PHPExcel object
obj_idprivate
addProperty($a_name, $a_value, $a_link="")
add a property to current section
const LP_CONTEXT_REPOSITORY
getCreationMode()
get creation mode
getRefId()
get reference id public
New PermissionGUI (extends from old ilPermission2GUI) RBAC related output.
For the purpose of streamlining the grading and learning-process status definition outside of tests...
static redirect($a_script)
Class ilObjUserTrackingGUI.
static _getLink($a_ref_id, $a_type='', $a_params=array(), $append="")
static getInstanceFromAjaxCall()
(Re-)Build instance from ajax call
static deliverFile( $a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
static _goto($a_target, $a_add='')
afterSave(ilObject $a_new_object)