ILIAS  trunk Revision v12.0_alpha-377-g3641b37b9db
ilObjStudyProgrammeSettingsGUI Class Reference

@ilCtrl_Calls ilObjStudyProgrammeSettingsGUI: ilStudyProgrammeCommonSettingsGUI More...

+ Collaboration diagram for ilObjStudyProgrammeSettingsGUI:

Public Member Functions

 __construct (ilGlobalTemplateInterface $tpl, ilCtrl $ilCtrl, ilLanguage $lng, Factory $input_factory, Renderer $renderer, Psr\Http\Message\ServerRequestInterface $request, ILIAS\Refinery\Factory $refinery_factory, ILIAS\Data\Factory $data_factory, ilStudyProgrammeTypeRepository $type_repository, ilStudyProgrammeCommonSettingsGUI $common_settings_gui, ilTabsGUI $tabs, ILIAS\HTTP\Wrapper\RequestWrapper $request_wrapper, LOMServices $lom_services)
 
 setRefId (int $ref_id)
 
 executeCommand ()
 

Data Fields

const PROP_TITLE = "title"
 
const PROP_DESC = "desc"
 
const PROP_DEADLINE = "deadline"
 
const PROP_VALIDITY_OF_QUALIFICATION = "validity_qualification"
 
const OPT_NO_DEADLINE = 'opt_no_deadline'
 
const OPT_DEADLINE_PERIOD = "opt_deadline_period"
 
const OPT_DEADLINE_DATE = "opt_deadline_date"
 
const OPT_NO_VALIDITY_OF_QUALIFICATION = 'opt_no_validity_qualification'
 
const OPT_VALIDITY_OF_QUALIFICATION_PERIOD = "opt_validity_qualification_period"
 
const OPT_VALIDITY_OF_QUALIFICATION_DATE = "opt_validity_qualification_date"
 

Protected Member Functions

 view ()
 
 update ()
 
 buildForm (ilObjStudyProgramme $prg, string $submit_action)
 
 buildFormElements (InputFieldFactory $ff, Translations $trans, array $sp_types, ilStudyProgrammeSettings $settings)
 
 getEditSection (InputFieldFactory $ff, Translations $trans)
 
 getObject ()
 
 txt (string $code)
 

Protected Attributes

ilGlobalTemplateInterface $tpl
 
ilCtrl $ctrl
 
ilLanguage $lng
 
ILIAS UI Component Input Factory $input_factory
 
ILIAS UI Renderer $renderer
 
Psr Http Message ServerRequestInterface $request
 
ILIAS Refinery Factory $refinery_factory
 
ILIAS Data Factory $data_factory
 
ilStudyProgrammeTypeRepository $type_repository
 
ilStudyProgrammeCommonSettingsGUI $common_settings_gui
 
ilTabsGUI $tabs
 
ILIAS HTTP Wrapper RequestWrapper $request_wrapper
 
LOMServices $lom_services
 
ilObjStudyProgramme $object
 
string $tmp_heading
 
int $ref_id
 

Private Attributes

const TAB_SETTINGS = 'settings'
 
const TAB_COMMON_SETTINGS = 'commonSettings'
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilObjStudyProgrammeSettingsGUI::__construct ( ilGlobalTemplateInterface  $tpl,
ilCtrl  $ilCtrl,
ilLanguage  $lng,
Factory  $input_factory,
Renderer  $renderer,
Psr\Http\Message\ServerRequestInterface  $request,
ILIAS\Refinery\Factory  $refinery_factory,
ILIAS\Data\Factory  $data_factory,
ilStudyProgrammeTypeRepository  $type_repository,
ilStudyProgrammeCommonSettingsGUI  $common_settings_gui,
ilTabsGUI  $tabs,
ILIAS\HTTP\Wrapper\RequestWrapper  $request_wrapper,
LOMServices  $lom_services 
)

Definition at line 68 of file class.ilObjStudyProgrammeSettingsGUI.php.

82 {
83 $this->tpl = $tpl;
84 $this->ctrl = $ilCtrl;
85 $this->lng = $lng;
86 $this->input_factory = $input_factory;
87 $this->renderer = $renderer;
88 $this->request = $request;
89 $this->refinery_factory = $refinery_factory;
90 $this->data_factory = $data_factory;
91 $this->type_repository = $type_repository;
92 $this->common_settings_gui = $common_settings_gui;
93 $this->tabs = $tabs;
94 $this->request_wrapper = $request_wrapper;
95 $this->lom_services = $lom_services;
96
97 $this->object = null;
98
99 $lng->loadLanguageModule("prg");
100 }
renderer()
loadLanguageModule(string $a_module)
Load language module.
ILIAS HTTP Wrapper RequestWrapper $request_wrapper
ilStudyProgrammeCommonSettingsGUI $common_settings_gui
ILIAS UI Component Input Factory $input_factory
Psr Http Message ServerRequestInterface $request

References $common_settings_gui, $data_factory, $input_factory, $lng, $lom_services, $refinery_factory, $renderer, $request, $request_wrapper, $tabs, $tpl, $type_repository, ILIAS\Repository\ctrl(), ILIAS\Repository\lng(), ilLanguage\loadLanguageModule(), renderer(), and ILIAS\Repository\tabs().

+ Here is the call graph for this function:

Member Function Documentation

◆ buildForm()

ilObjStudyProgrammeSettingsGUI::buildForm ( ilObjStudyProgramme  $prg,
string  $submit_action 
)
protected

Definition at line 166 of file class.ilObjStudyProgrammeSettingsGUI.php.

170 $trans = $prg->getObjectTranslation();
171 $ff = $this->input_factory->field();
172 $sp_types = $this->type_repository->getAllTypesArray();
173 $settings = $prg->getSettings();
174
175 return $this->input_factory->container()->form()->standard(
176 $submit_action,
177 $this->buildFormElements(
178 $ff,
179 $trans,
180 $sp_types,
181 $settings
182 )
183 )->withAdditionalTransformation(
184 $this->refinery_factory->custom()->transformation(
185 function ($values) use ($prg) {
186 $object_data = $values[0];
187 $prg->setTitle($object_data[self::PROP_TITLE]);
188 $prg->setDescription($object_data[self::PROP_DESC]);
189
190 $settings = $prg->getSettings()
191 ->withAssessmentSettings($values['prg_assessment'])
192 ->withDeadlineSettings($values['prg_deadline'])
193 ->withValidityOfQualificationSettings($values['prg_validity_of_qualification'])
194 ->withAutoMailSettings($values['automail_settings'])
195 ->withTypeSettings($values['prg_type']);
196
197 $prg->updateSettings($settings);
198 $prg->updateCustomIcon();
199 return $prg;
200 }
201 )
202 );
203 }
buildFormElements(InputFieldFactory $ff, Translations $trans, array $sp_types, ilStudyProgrammeSettings $settings)
updateSettings(ilStudyProgrammeSettings $settings)
setTitle(string $title)
setDescription(string $description)
This describes commonalities between all forms.
Definition: Form.php:34

References ilObjStudyProgramme\getSettings(), ilObject\setDescription(), ilObject\setTitle(), ilObjStudyProgramme\updateCustomIcon(), and ilObjStudyProgramme\updateSettings().

Referenced by view().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ buildFormElements()

ilObjStudyProgrammeSettingsGUI::buildFormElements ( InputFieldFactory  $ff,
Translations  $trans,
array  $sp_types,
ilStudyProgrammeSettings  $settings 
)
protected

Definition at line 205 of file class.ilObjStudyProgrammeSettingsGUI.php.

210 : array {
211 $return = [
212 $this->getEditSection($ff, $trans),
213 "prg_type" => $settings
215 ->toFormInput($ff, $this->lng, $this->refinery_factory, $sp_types)
216 ,
217 "prg_assessment" => $settings
219 ->toFormInput($ff, $this->lng, $this->refinery_factory)
220 ,
221 "prg_deadline" => $settings
223 ->toFormInput($ff, $this->lng, $this->refinery_factory, $this->data_factory)
224 ,
225 "prg_validity_of_qualification" => $settings
227 ->toFormInput($ff, $this->lng, $this->refinery_factory, $this->data_factory)
228 ,
229 "automail_settings" => $settings
231 ->toFormInput($ff, $this->lng, $this->refinery_factory)
232 ];
233
234 return $return;
235 }
getEditSection(InputFieldFactory $ff, Translations $trans)

◆ executeCommand()

ilObjStudyProgrammeSettingsGUI::executeCommand ( )

Definition at line 107 of file class.ilObjStudyProgrammeSettingsGUI.php.

107 : void
108 {
109 $next_class = $this->ctrl->getNextClass();
110 switch ($next_class) {
111 case 'ilstudyprogrammecommonsettingsgui':
112 $this->tabs->activateSubTab(self::TAB_COMMON_SETTINGS);
113 $this->common_settings_gui->setObject($this->getObject());
114 $content = $this->ctrl->forwardCommand($this->common_settings_gui);
115 break;
116 default:
117 $cmd = $this->ctrl->getCmd();
118 if ($cmd === "" || $cmd === null) {
119 $cmd = "view";
120 }
121 switch ($cmd) {
122 case "view":
123 $content = $this->view();
124 break;
125 case "update":
126 $content = $this->$cmd();
127 break;
128 default:
129 throw new ilException(
130 "ilObjStudyProgrammeSettingsGUI: Command not supported: $cmd"
131 );
132 }
133 }
134
135 $this->tpl->setContent($content);
136 }
Base class for ILIAS Exception handling.

References ILIAS\Repository\ctrl(), getObject(), ILIAS\Repository\tabs(), and view().

+ Here is the call graph for this function:

◆ getEditSection()

ilObjStudyProgrammeSettingsGUI::getEditSection ( InputFieldFactory  $ff,
Translations  $trans 
)
protected

Definition at line 237 of file class.ilObjStudyProgrammeSettingsGUI.php.

241 $lang = '?';
242 foreach ($this->lom_services->dataHelper()->getAllLanguages() as $language) {
243 if ($language->value() === $trans->getDefaultLanguage()) {
244 $lang = $language->presentableLabel();
245 }
246 }
247 return $ff->section(
248 [
249 self::PROP_TITLE =>
250 $ff->text($this->txt("title"))
251 ->withValue($trans->getDefaultTitle())
252 ->withRequired(true),
253 self::PROP_DESC =>
254 $ff->textarea($this->txt("description"))
255 ->withValue($trans->getDefaultDescription() ?? "")
256 ],
257 $this->txt("prg_edit"),
258 $this->txt("language") . ": " . $lang .
259 ' <a href="' . $this->ctrl->getLinkTargetByClass(TranslationGUI::class, "") .
260 '">&raquo; ' . $this->txt("obj_more_translations") . '</a>'
261 );
262 }
This describes section inputs.
Definition: Section.php:29

References ILIAS\ILIASObject\Properties\Translations\Translations\getDefaultLanguage().

+ Here is the call graph for this function:

◆ getObject()

ilObjStudyProgrammeSettingsGUI::getObject ( )
protected

Definition at line 264 of file class.ilObjStudyProgrammeSettingsGUI.php.

265 {
266 if ($this->object === null) {
267 $this->object = ilObjStudyProgramme::getInstanceByRefId($this->ref_id);
268 }
269 return $this->object;
270 }

References ilObjStudyProgramme\getInstanceByRefId().

Referenced by executeCommand(), update(), and view().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setRefId()

ilObjStudyProgrammeSettingsGUI::setRefId ( int  $ref_id)

Definition at line 102 of file class.ilObjStudyProgrammeSettingsGUI.php.

102 : void
103 {
104 $this->ref_id = $ref_id;
105 }

References $ref_id.

◆ txt()

ilObjStudyProgrammeSettingsGUI::txt ( string  $code)
protected

Definition at line 272 of file class.ilObjStudyProgrammeSettingsGUI.php.

272 : string
273 {
274 return $this->lng->txt($code);
275 }

References ILIAS\Repository\lng().

+ Here is the call graph for this function:

◆ update()

ilObjStudyProgrammeSettingsGUI::update ( )
protected
Returns
string|void

Definition at line 148 of file class.ilObjStudyProgrammeSettingsGUI.php.

149 {
150 $form = $this
151 ->buildForm($this->getObject(), $this->ctrl->getFormAction($this, "update"))
152 ->withRequest($this->request);
153
154 $result = $form->getInputGroup()->getContent();
155
156 if ($result->isOK()) {
157 $result->value()->update();
158 $this->tpl->setOnScreenMessage("success", $this->lng->txt("msg_obj_modified"), true);
159 $this->ctrl->redirect($this);
160 } else {
161 $this->tpl->setOnScreenMessage("failure", $this->lng->txt("msg_form_save_error"));
162 return $this->renderer->render($form);
163 }
164 }

References ILIAS\Repository\ctrl(), getObject(), ILIAS\Repository\lng(), and renderer().

+ Here is the call graph for this function:

◆ view()

ilObjStudyProgrammeSettingsGUI::view ( )
protected

Definition at line 138 of file class.ilObjStudyProgrammeSettingsGUI.php.

138 : string
139 {
140 $this->tmp_heading = "<div class=''>" . $this->lng->txt('prg_async_settings') . "</div>";
141 $form = $this->buildForm($this->getObject(), $this->ctrl->getFormAction($this, "update"));
142 return $this->renderer->render($form);
143 }
buildForm(ilObjStudyProgramme $prg, string $submit_action)

References buildForm(), ILIAS\Repository\ctrl(), getObject(), ILIAS\Repository\lng(), and renderer().

Referenced by executeCommand().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $common_settings_gui

ilStudyProgrammeCommonSettingsGUI ilObjStudyProgrammeSettingsGUI::$common_settings_gui
protected

Definition at line 59 of file class.ilObjStudyProgrammeSettingsGUI.php.

Referenced by __construct().

◆ $ctrl

ilCtrl ilObjStudyProgrammeSettingsGUI::$ctrl
protected

Definition at line 51 of file class.ilObjStudyProgrammeSettingsGUI.php.

◆ $data_factory

ILIAS Data Factory ilObjStudyProgrammeSettingsGUI::$data_factory
protected

Definition at line 57 of file class.ilObjStudyProgrammeSettingsGUI.php.

Referenced by __construct().

◆ $input_factory

ILIAS UI Component Input Factory ilObjStudyProgrammeSettingsGUI::$input_factory
protected

Definition at line 53 of file class.ilObjStudyProgrammeSettingsGUI.php.

Referenced by __construct().

◆ $lng

ilLanguage ilObjStudyProgrammeSettingsGUI::$lng
protected

Definition at line 52 of file class.ilObjStudyProgrammeSettingsGUI.php.

Referenced by __construct().

◆ $lom_services

LOMServices ilObjStudyProgrammeSettingsGUI::$lom_services
protected

Definition at line 62 of file class.ilObjStudyProgrammeSettingsGUI.php.

Referenced by __construct().

◆ $object

ilObjStudyProgramme ilObjStudyProgrammeSettingsGUI::$object
protected

Definition at line 64 of file class.ilObjStudyProgrammeSettingsGUI.php.

◆ $ref_id

int ilObjStudyProgrammeSettingsGUI::$ref_id
protected

Definition at line 66 of file class.ilObjStudyProgrammeSettingsGUI.php.

Referenced by setRefId().

◆ $refinery_factory

ILIAS Refinery Factory ilObjStudyProgrammeSettingsGUI::$refinery_factory
protected

Definition at line 56 of file class.ilObjStudyProgrammeSettingsGUI.php.

Referenced by __construct().

◆ $renderer

ILIAS UI Renderer ilObjStudyProgrammeSettingsGUI::$renderer
protected

Definition at line 54 of file class.ilObjStudyProgrammeSettingsGUI.php.

Referenced by __construct().

◆ $request

Psr Http Message ServerRequestInterface ilObjStudyProgrammeSettingsGUI::$request
protected

Definition at line 55 of file class.ilObjStudyProgrammeSettingsGUI.php.

Referenced by __construct().

◆ $request_wrapper

ILIAS HTTP Wrapper RequestWrapper ilObjStudyProgrammeSettingsGUI::$request_wrapper
protected

Definition at line 61 of file class.ilObjStudyProgrammeSettingsGUI.php.

Referenced by __construct().

◆ $tabs

ilTabsGUI ilObjStudyProgrammeSettingsGUI::$tabs
protected

Definition at line 60 of file class.ilObjStudyProgrammeSettingsGUI.php.

Referenced by __construct().

◆ $tmp_heading

string ilObjStudyProgrammeSettingsGUI::$tmp_heading
protected

Definition at line 65 of file class.ilObjStudyProgrammeSettingsGUI.php.

◆ $tpl

ilGlobalTemplateInterface ilObjStudyProgrammeSettingsGUI::$tpl
protected

Definition at line 50 of file class.ilObjStudyProgrammeSettingsGUI.php.

Referenced by __construct().

◆ $type_repository

ilStudyProgrammeTypeRepository ilObjStudyProgrammeSettingsGUI::$type_repository
protected

Definition at line 58 of file class.ilObjStudyProgrammeSettingsGUI.php.

Referenced by __construct().

◆ OPT_DEADLINE_DATE

const ilObjStudyProgrammeSettingsGUI::OPT_DEADLINE_DATE = "opt_deadline_date"

◆ OPT_DEADLINE_PERIOD

const ilObjStudyProgrammeSettingsGUI::OPT_DEADLINE_PERIOD = "opt_deadline_period"

Definition at line 43 of file class.ilObjStudyProgrammeSettingsGUI.php.

◆ OPT_NO_DEADLINE

const ilObjStudyProgrammeSettingsGUI::OPT_NO_DEADLINE = 'opt_no_deadline'

◆ OPT_NO_VALIDITY_OF_QUALIFICATION

const ilObjStudyProgrammeSettingsGUI::OPT_NO_VALIDITY_OF_QUALIFICATION = 'opt_no_validity_qualification'

◆ OPT_VALIDITY_OF_QUALIFICATION_DATE

const ilObjStudyProgrammeSettingsGUI::OPT_VALIDITY_OF_QUALIFICATION_DATE = "opt_validity_qualification_date"

◆ OPT_VALIDITY_OF_QUALIFICATION_PERIOD

const ilObjStudyProgrammeSettingsGUI::OPT_VALIDITY_OF_QUALIFICATION_PERIOD = "opt_validity_qualification_period"

Definition at line 47 of file class.ilObjStudyProgrammeSettingsGUI.php.

◆ PROP_DEADLINE

const ilObjStudyProgrammeSettingsGUI::PROP_DEADLINE = "deadline"

Definition at line 39 of file class.ilObjStudyProgrammeSettingsGUI.php.

◆ PROP_DESC

const ilObjStudyProgrammeSettingsGUI::PROP_DESC = "desc"

Definition at line 38 of file class.ilObjStudyProgrammeSettingsGUI.php.

◆ PROP_TITLE

const ilObjStudyProgrammeSettingsGUI::PROP_TITLE = "title"

Definition at line 37 of file class.ilObjStudyProgrammeSettingsGUI.php.

◆ PROP_VALIDITY_OF_QUALIFICATION

const ilObjStudyProgrammeSettingsGUI::PROP_VALIDITY_OF_QUALIFICATION = "validity_qualification"

Definition at line 40 of file class.ilObjStudyProgrammeSettingsGUI.php.

◆ TAB_COMMON_SETTINGS

const ilObjStudyProgrammeSettingsGUI::TAB_COMMON_SETTINGS = 'commonSettings'
private

Definition at line 35 of file class.ilObjStudyProgrammeSettingsGUI.php.

◆ TAB_SETTINGS

const ilObjStudyProgrammeSettingsGUI::TAB_SETTINGS = 'settings'
private

Definition at line 34 of file class.ilObjStudyProgrammeSettingsGUI.php.


The documentation for this class was generated from the following file: