class AssignmentController: Any
Fields
Name | Description |
---|---|
val assignmentsRootLocation: String
|
|
val LOG: LoggerFactory.getLogger(this.javaClass.name)
|
|
val assignmentRepository: AssignmentRepository
|
|
val assignmentReportRepository: AssignmentReportRepository
|
|
val assignmentTagRepository: AssignmentTagRepository
|
|
val assignmentTestMethodRepository: AssignmentTestMethodRepository
|
|
val assigneeRepository: AssigneeRepository
|
|
val assignmentACLRepository: AssignmentACLRepository
|
|
val submissionRepository: SubmissionRepository
|
|
val gitSubmissionRepository: GitSubmissionRepository
|
|
val gitClient: GitClient
|
|
val assignmentTeacherFiles: AssignmentTeacherFiles
|
|
val submissionService: SubmissionService
|
|
val assignmentService: AssignmentService
|
|
val cacheManager: CacheManager
|
Constructors
<init>
constructor(assignmentRepository: AssignmentRepository, assignmentReportRepository: AssignmentReportRepository, assignmentTagRepository: AssignmentTagRepository, assignmentTestMethodRepository: AssignmentTestMethodRepository, assigneeRepository: AssigneeRepository, assignmentACLRepository: AssignmentACLRepository, submissionRepository: SubmissionRepository, gitSubmissionRepository: GitSubmissionRepository, gitClient: GitClient, assignmentTeacherFiles: AssignmentTeacherFiles, submissionService: SubmissionService, assignmentService: AssignmentService, cacheManager: CacheManager)
AssignmentController contains MVC controller functions that handle requests related with Assignments (for example, assignment creation, edition, etc.)
Parameters
Name | Description |
---|---|
assignmentRepository: AssignmentRepository
|
|
assignmentReportRepository: AssignmentReportRepository
|
|
assignmentTagRepository: AssignmentTagRepository
|
|
assignmentTestMethodRepository: AssignmentTestMethodRepository
|
|
assigneeRepository: AssigneeRepository
|
|
assignmentACLRepository: AssignmentACLRepository
|
|
submissionRepository: SubmissionRepository
|
|
gitSubmissionRepository: GitSubmissionRepository
|
|
gitClient: GitClient
|
|
assignmentTeacherFiles: AssignmentTeacherFiles
|
|
submissionService: SubmissionService
|
|
assignmentService: AssignmentService
|
|
cacheManager: CacheManager
|
Methods
getNewAssignmentForm
fun getNewAssignmentForm(model: ModelMap): String
Controller that handles HTTP GET requests for the Assignment creation form.
Parameters
Name | Description |
---|---|
model: ModelMap
|
is a ModelMap that will be populated with information to use in a View |
ReturnValue
Name | Description |
---|---|
String
|
A String with the name of the relevant View |
createOrEditAssignment
fun createOrEditAssignment(assignmentForm: AssignmentForm, bindingResult: BindingResult, redirectAttributes: RedirectAttributes, principal: Principal): String
Controller that handles HTTP POST requests for the Assignment creation form.
Parameters
Name | Description |
---|---|
assignmentForm: AssignmentForm
|
is an AssignmentForm |
bindingResult: BindingResult
|
is a BindingResult |
redirectAttributes: RedirectAttributes
|
is a RedirectAttributes |
principal: Principal
|
is a Principal representing the user making the request |
ReturnValue
Name | Description |
---|---|
String
|
is a String with the name of the relevant View |
getAssignmentDetail
fun getAssignmentDetail(assignmentId: String, model: ModelMap, principal: Principal): String
Handles requests for for an Assignment's "Info" page.
Parameters
ReturnValue
Name | Description |
---|---|
String
|
a String with the name of the relevant View |
getEditAssignmentForm
fun getEditAssignmentForm(assignmentId: String, model: ModelMap, principal: Principal): String
Controller that handles HTTP GET requests for the Assignment edition form.
Parameters
ReturnValue
Name | Description |
---|---|
String
|
a String with the name of the relevant View |
refreshAssignmentGitRepository
fun refreshAssignmentGitRepository(assignmentId: String, principal: Principal): ResponseEntity
Controller that handles requests for the refreshing of the Assignment's configuration from its Git repository.
Parameters
Name | Description |
---|---|
assignmentId: String
|
is a String, identifying the relevant assignment |
principal: Principal
|
is a Principal representing the user making the request |
ReturnValue
Name | Description |
---|---|
ResponseEntity
|
a ResponseEntity |
setupAssignmentToGitRepository
fun setupAssignmentToGitRepository(assignmentId: String, model: ModelMap, principal: Principal): String
Controller that handles requests for the creation of the connection between the Assignment and the Git repository that contains its configuration.
Parameters
ReturnValue
Name | Description |
---|---|
String
|
a String with the name of the relevant View |
connectAssignmentToGitRepository
fun connectAssignmentToGitRepository(assignmentId: String, redirectAttributes: RedirectAttributes, model: ModelMap, principal: Principal): String
Controller to handle requests related with connecting an Assigment with a git repository. This is needed to obtain the information that is defined by code (instructions, unit tests, etc).
Parameters
Name | Description |
---|---|
assignmentId: String
|
is a String representing the relevant Assignment |
redirectAttributes: RedirectAttributes
|
is a RedirectAttributes |
model: ModelMap
|
is a ModelMap that will be populated with information to use in a View |
principal: Principal
|
is a Principal representing the user making the request |
ReturnValue
Name | Description |
---|---|
String
|
A String with the name of the relevant View |
listMyAssignments
fun listMyAssignments(tags: String?, model: ModelMap, principal: Principal): String
Controller to handle the page that lists the Assignments to which the logged-in user has access.
Parameters
Name | Description |
---|---|
tags: String?
|
is a String containing the names of multiple tags. Each tag name is separated by a comma. Only the assignments that have all the tags will be placed in the model. |
model: ModelMap
|
is a ModelMap that will be populated with information to use in a View |
principal: Principal
|
is a Principal representing the user making the request |
ReturnValue
Name | Description |
---|---|
String
|
A String with the name of the relevant View |
listMyArchivedAssignments
fun listMyArchivedAssignments(tags: String?, model: ModelMap, principal: Principal): String
Controller to handle the page that lists the archived assignments to which the logged-in teacher has access.
Parameters
Name | Description |
---|---|
tags: String?
|
is a String containing the names of multiple tags. Each tag name is separated by a comma. Only the assignments that have all the tags will be placed in the model. |
model: ModelMap
|
is a ModelMap that will be populated with information to use in a View |
principal: Principal
|
is a Principal representing the user making the request |
ReturnValue
Name | Description |
---|---|
String
|
A String with the name of the relevant View |
deleteAssignment
fun deleteAssignment(assignmentId: String, redirectAttributes: RedirectAttributes, principal: Principal): String
Controller to handle the deletion of an Assignment.
Parameters
Name | Description |
---|---|
assignmentId: String
|
is a String representing the relevant Assignment |
redirectAttributes: RedirectAttributes
|
is a RedirectAttributes |
principal: Principal
|
is a Principal representing the user making the request |
ReturnValue
Name | Description |
---|---|
String
|
A String with the name of the relevant View |
toggleAssignmentStatus
fun toggleAssignmentStatus(assignmentId: String, redirectAttributes: RedirectAttributes, principal: Principal): String
Controller that allows toggling the status of an Assignment between "active" and "inactive".
Parameters
Name | Description |
---|---|
assignmentId: String
|
is a String representing the relevant Assignment |
redirectAttributes: RedirectAttributes
|
is a RedirectAttributes |
principal: Principal
|
is a Principal representing the user making the request |
ReturnValue
Name | Description |
---|---|
String
|
A String with the name of the relevant View |
archiveAssignment
fun archiveAssignment(assignmentId: String, redirectAttributes: RedirectAttributes, principal: Principal): String
Controller that allows the archiving of an Assignment.
Parameters
Name | Description |
---|---|
assignmentId: String
|
is a String representing the relevant Assignment |
redirectAttributes: RedirectAttributes
|
is a RedirectAttributes |
principal: Principal
|
is a Principal representing the user making the request |
ReturnValue
Name | Description |
---|---|
String
|
A String with the name of the relevant View |
markAllSubmissionsAsFinal
fun markAllSubmissionsAsFinal(assignmentId: String, redirectAttributes: RedirectAttributes, principal: Principal): String
Controller that allows marking the latest submission of each group as final. Note that the latest submission might not be the best one.
Parameters
Name | Description |
---|---|
assignmentId: String
|
is a String representing the relevant Assignment |
redirectAttributes: RedirectAttributes
|
is a RedirectAttributes |
principal: Principal
|
is a Principal representing the user making the request |
ReturnValue
Name | Description |
---|---|
String
|
A String with the name of the relevant View |
AssignmentController contains MVC controller functions that handle requests related with Assignments (for example, assignment creation, edition, etc.)