ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
class.GUIService.php
Go to the documentation of this file.
1 <?php
2 
19 declare(strict_types=1);
20 
22 
27 
29 {
33 
34 
35  public function __construct(
36  InternalDomainService $domain_service,
37  InternalGUIService $gui_service
38  ) {
39  $this->domain_service = $domain_service;
40  $this->gui_service = $gui_service;
41  $this->irss_wrapper_gui = new CollectionWrapperGUI();
42  }
43 
44  public function itemBuilder(
45  \ilObjExercise $exc,
46  MandatoryAssignmentsManager $mandatory_manager
47  ): ItemBuilderUI {
48  return new ItemBuilderUI(
49  $this->propertyAndActionBuilder($exc, $mandatory_manager),
50  $this->gui_service->ui()->factory(),
51  $this->gui_service->ctrl()
52  );
53  }
54 
55  public function panelBuilder(
56  \ilObjExercise $exc,
57  MandatoryAssignmentsManager $mandatory_manager
58  ): PanelBuilderUI {
59  return new PanelBuilderUI(
60  $this->propertyAndActionBuilder($exc, $mandatory_manager),
61  $this->gui_service->ui()->factory(),
62  $this->gui_service->ui()->renderer(),
63  $this->gui_service->ctrl(),
64  $this->domain_service->lng()
65  );
66  }
67 
68  public function propertyAndActionBuilder(
69  \ilObjExercise $exc,
70  MandatoryAssignmentsManager $mandatory_manager
72  return new PropertyAndActionBuilderUI(
73  $exc,
74  $mandatory_manager,
75  $this->domain_service,
76  $this->gui_service
77  );
78  }
79 
81  {
82  return new \ilAssignmentPresentationGUI(
83  $exc,
84  $this->domain_service,
85  $this->gui_service
86  );
87  }
88 
89  public function types(): \ilExAssignmentTypesGUI
90  {
91  return new \ilExAssignmentTypesGUI();
92  }
93 
95  {
96  if ($exc === null) {
97  $exc = $this->gui_service->request()->getExercise();
98  }
99  return new \ilExcRandomAssignmentGUI(
100  $this->gui_service->ui(),
101  $this->gui_service->toolbar(),
102  $this->domain_service->lng(),
103  $this->gui_service->ctrl(),
104  $this->domain_service->assignment()->randomAssignments($exc)
105  );
106  }
107 
109  int $ref_id,
110  int $ass_id
112  $irss = $this->domain_service->assignment()->instructionFiles($ass_id);
113  $lng = $this->domain_service->lng();
114  $lng->loadLanguageModule("exc");
115 
116  $write = $this->domain_service->access()->checkAccess('write', '', $ref_id);
117 
118  return $this->irss_wrapper_gui->getResourceCollectionGUI(
119  $irss->getStakeholder(),
120  $irss->getCollectionIdString(),
121  $lng->txt('exc_instruction_files'),
122  $write
123  );
124  }
125 
127  int $ref_id,
128  int $ass_id,
129  int $participant_id
131  $feedback_file_manager = $this->domain_service->assignment()->tutorFeedbackFile($ass_id);
132  $lng = $this->domain_service->lng();
133  $lng->loadLanguageModule("exc");
134 
135  $write = $this->domain_service->access()->checkAccess('edit_submissions_grades', '', $ref_id);
136 
137  return $this->irss_wrapper_gui->getResourceCollectionGUI(
138  $feedback_file_manager->getStakeholder(),
139  $feedback_file_manager->getCollectionIdString($participant_id),
140  $feedback_file_manager->getFeedbackTitle($participant_id),
141  $write
142  );
143  }
144 
145 }
Exercise UI frontend presentation service class.
getTutorFeedbackFileResourceCollectionGUI(int $ref_id, int $ass_id, int $participant_id)
panelBuilder(\ilObjExercise $exc, MandatoryAssignmentsManager $mandatory_manager)
Class ilObjExercise.
$ref_id
Definition: ltiauth.php:67
propertyAndActionBuilder(\ilObjExercise $exc, MandatoryAssignmentsManager $mandatory_manager)
$lng
UI for random assignment (ui)
ilAssignmentPresentationGUI: ilExSubmissionGUI
__construct(InternalDomainService $domain_service, InternalGUIService $gui_service)
getRandomAssignmentGUI(\ilObjExercise $exc=null)
assignmentPresentationGUI(\ilObjExercise $exc)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
Definition: Assignment.php:21
getInstructionFileResourceCollectionGUI(int $ref_id, int $ass_id)
itemBuilder(\ilObjExercise $exc, MandatoryAssignmentsManager $mandatory_manager)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...