Commit Graph

91 Commits

Author SHA1 Message Date
Juan Leyva 2c89c7c120 MDL-60144 mod_workshop: Move submission evaluation code to API 2017-10-03 19:28:44 +02:00
Juan Leyva 27fa248236 MDL-59239 mod_workshop: Move submission event trigger
The submission viewed event was being triggered at the beginning of the
script (before doing all the validation/safety checks).
I’ve moved the triggering to a better place so the event it is only
triggered when is verified that the user has permissions to view
the submission.
2017-10-03 19:26:40 +02:00
Juan Leyva b99070b9d8 MDL-59239 mod_workshop: New WS mod_workshop_view_submission 2017-10-03 19:25:32 +02:00
Juan Leyva 86928d2a7c MDL-59248 mod_workshop: New API check_examples_assessed_before_assessment
For consistency I renamed the old check_examples_assessed function to
check_examples_assessed_before_submission.
I also call the new function in the existing
get_workshop_access_information external function.
2017-10-03 08:51:29 +02:00
Juan Leyva e1fcba9973 MDL-59244 mod_workshop: Move event triggering to API
Event triggering when a submission is deleted is now inside the
delete_submission function.
2017-09-06 15:51:54 +02:00
Juan Leyva 4c776cae2d MDL-59243 mod_workshop: Move submission creation to API 2017-09-06 13:57:11 +02:00
David Mudrák 0cc5c64608 MDL-54945 workshop: Improve the portfolio API implementation
* Use a single capability 'mod/workshop:exportsubmissions' to control
  who is able to export a submission and all associated visible
  peer-assessments.
* The export capability is by default granted to teachers and managers
  as well.
* Simplify the integration of the export button into the submission
  page. There is now a single place where the export button appears - at
  the buttom of the submission page.
* Clean up the new strings introduced for this feature.
* Rewrite the portfolio caller class so that it better mimics the
  behaviour of the submission.php page. It must not be possible to get
  access to contents otherwise not available via the UI.
* Fix phpunit tests.
* Improve behat tests so that they can run in headless browser
  (performance).

During the development, some problems were detected in the underlying
portfolio API, especially with LEAP2A format and files collisions
handling. These may be eventually fixed in the future, should there be a
demand for it.
2016-10-12 18:35:02 +02:00
David Mudrák 931bba6054 MDL-54945 workshop: Introduce workshop::check_group_membership() method
This is just a refactored code block present at two different places. We
will need the same logic in the portfolio caller class soit made sense
to implement it as a new method, rather than make another copy&paste.

As a side effect, the logic is now properly unit tested.
2016-10-11 20:23:55 +02:00
Loc Nguyen 5fd75ed889 MDL-54945 workshop: Workshop portfolio API integration
Users can export their own submission
Users can export feedback/assessment received from other users
2016-10-11 12:51:15 +02:00
David Mudrák e46aec4c45 MDL-55957 workshop: Fix the embedded files serving
There was a bug with serving the files from the areas instructauthors,
instructreviewers and conclusion. These three areas should not use the
itemid in the plugininfo URLs. But they did use 0 as the itemid which
broke the file previews when browsing via server files repository.

The first part of the patch fixes all relevant calls to
file_rewrite_pluginfile_urls() so that null is now properly used instead
of zero.

The second part of the fix is that we no longer delete the first $args
element in the workshop_pluginfile() function - the itemid is not
supposed to appear there now.

The last part of the patch is that instead of repeating the same code
block copy&pasted for each file area in workshop_pluginfile(), we now
have a single block covering them all.
2016-09-14 12:14:56 +02:00
David Mudrák 21d49a3f93 MDL-55289 workshop: Include repository/lib.php to use its constants
As a result of MDL-41556 (146893d6), the repository/lib.php was included
in submission.php so that its constant FILE_INTERNAL could be used in
field options. Recent development in MDL-50794 (996f7e8) moved the
options declaration to standalone methods but we forgot to check they
work in exsubmission.php too.

This patch moves the repository/lib.php inclusion to where the
library is actually needed.

Additionally it unifies how options are set for overall feedback content
and overall feedback attachment fields.
2016-07-28 09:51:16 +02:00
Loc Nguyen ddc9cff68b MDL-54934 workshop: indicate current phase
Indicate phase in page titles, current phase in userplan table
so that it's accessible to me through my screen reader
2016-07-01 19:08:53 +07:00
Russell Smith 1fcf0ca8a5 MDL-35628 performance: Remove dirname() where possible.
dirname() is a slow function compared with __DIR__ and using
'/../'.  Moodle has a large number of legacy files that are included
each time a page loads and is not able to use an autoloader as it is
functional code.  This allows those required includes to perform as
best as possible in this situation.
2016-06-10 08:06:49 +10:00
David Mudrák 996f7e8228 MDL-50794 workshop: Improve the file type restricting implementation
This is basically a clean up and what I think improved version of the
original Mahmoud's patch.

The actual checking for allowed file extensions has been re-implemented
and is now covered by unit tests. The list of allowed extensions is now
also assed to the filemanager element's accepted_types option to prevent
picking other files (we still need the in-place validation though). The
form validation is simplified a bit. The custom validation of file size
introduced in the previous patch has been removed as not related to this
issue (also I believe it should not be done at this level).
2016-02-25 18:03:18 +01:00
M Kassaei 1a282212c1 MDL-50794 workshop: Allow restricting submitted file types
It was reported at the Open University that there have been some
problems with the formats of files submitted by students. Not all
students completed their outlines as a Word .doc (despite this being the
format of the template provided). Some formats (e.g. .pages) couldn’t be
translated by some of the reviewing students. Therefore, they were
unable to provide a review and the submitting students not receiving any
comments.

This patch allows the teacher to define list of allowed file types that
can be attached to submitted work and/or overall feedback in the
workshop.
2016-02-25 18:03:18 +01:00
David Mudrák 58489e11f1 MDL-42190 workshop: Improve the confirmation of submission removal
I noticed we do not need to list the names of potentially affected
reviewers. If the user (teacher) has the capability to see other
assessments (which they do in 99%), the list of assessments is displayed
at the confirmation page anyway. If for some reason they do not have the
capability, we should not list the names.

The second fix is that the action buttons (such as Delete or Edit) are
not displayed on the removal confirmation page.

And finally, as the output->confirm() wraps the message with implicit
<p>, it is not valid to pass HTML with any block elements. So instead of
concatenating the two messages, we simply define a new string for this
situation.
2016-01-25 15:17:45 +01:00
David Mudrák 3fa22899b6 MDL-42190 workshop: Fix the coding style of the patch 2016-01-25 15:17:44 +01:00
Paul Nicholls 30c52da9be MDL-42190 workshop: Add "sumbission_deleted" event
Add (and trigger) an event for deletion of submissions, so that deletions
are logged.
2016-01-25 15:17:44 +01:00
Paul Nicholls deabe48bc5 MDL-42190 workshop: Add the ability to delete submissions
A new capability is introduced to control this, granted to teacher/admin
roles by default: mod/workshop:deletesubmissions.  Additionally, students
can delete their own submissions if they are currently able to edit them.
2016-01-25 15:17:44 +01:00
Rajesh Taneja fef8ee9114 MDL-44945 mod_workshop: fixed event snapshot 2014-04-04 10:09:08 +08:00
Marina Glancy cd5be9a504 MDL-44321 events: make sure the full object is passed to add_record_snapshot() 2014-02-28 16:37:36 +08:00
Sam Hemelryk 5cdcfcb988 MDL-44183 mod_workshop: unified @package use 2014-02-21 08:33:40 +13:00
Adrian Greeve 1f0132716e MDL-40921 mod_workshop: New events to replace add_to_log function calls. 2014-02-07 13:21:23 +08:00
Adrian Greeve 146893d62f MDL-41556 - workshop: undefined constant FILE_INTERNAL message fixed. 2013-09-03 11:44:30 +08:00
Damyon Wiese 74df2951d1 Revert "MDL-39876 Change get_record('course') calls to get_course"
This reverts commit ab7632b74c.
2013-08-21 13:42:30 +08:00
sam marshall ab7632b74c MDL-39876 Change get_record('course') calls to get_course 2013-08-15 11:31:20 +01:00
Frederic Massart 29b8b7c7ad MDL-39954 event: Fixed errors raised while triggering event 2013-08-14 15:29:12 +08:00
Frederic Massart cbf4b0e6f6 MDL-39954 mod_workshop: Log method can return array of parameters 2013-08-12 17:35:29 +08:00
Kanika Goyal 67ba9007b7 MDL-32227: Plagiarism API - add support for plagiarism api to workshop module 2012-07-24 01:52:54 +05:30
Marina Glancy c469b3963b MDL-33446 Editor form field can filter return types
- Added possibility for editor form field to specify return_types (default FILE_INTERNAL | FILE_EXTERNAL | FILE_REFERENCE)
- For assignment, workshop, quiz essay submissions and form posts do not allow FILE_REFERENCE
- Fixed mod_resource return_types, reset them to default, because filemanager does not know how to work with FILE_EXTERNAL links
2012-06-12 11:03:43 +08:00
Dongsheng Cai 6723372514 MDL-28666 Extends repository to support references
1. Allow repository to create references to external contents
2. Extends files API to handle file references
3. Generic file caching
4. Backup/restore file references
5. Download external contents if repository uninstalled
6. Allow filepicker to display iframe
7. PHPUnit test suits
2012-05-21 11:57:51 +08:00
David Mudrak f65bc55fcd MDL-27508 workshop checks separate groups membership when displaying a submission 2012-04-27 14:41:58 +02:00
Rajesh Taneja e9de1cf49c MDL-27896 context - Fixed editor context to observe filter status 2011-08-12 11:33:21 +08:00
David Mudrak 2c75324ee6 MDL-27550 workshop: rendering links to the submission and the assessment page
This usability improvement helps to provide feedback quickly during the
grading evaluation phase.
2011-08-02 23:33:33 +02:00
David Mudrak 3779dcae98 MDL-27550 workshop: students do not see peer-assessment that are not graded yet 2011-08-02 23:33:32 +02:00
David Mudrak f68648e982 MDL-27550 workshop: display the feedback for the submission reviewer when the workshop is closed 2011-08-02 23:33:32 +02:00
David Mudrak 38504a4490 MDL-27550 workshop: assessments are now displayed via proper rendering subsystem
AMOS BEGIN
 MOV [assessmentbyknown,mod_workshop],[assessmentbyfullname,mod_workshop]
AMOS END
2011-08-02 23:33:32 +02:00
David Mudrak 0dfb4bad56 MDL-27550 workshop: display the feedback for the submission author when the workshop is closed
The method user_picture::fields() was not available when these SQL
statements were originally written. Now instead of hard-coding the list
of returned fields, the user_picture is asked for the list.

Together with this change, methods workshop::get_submission_by_id()
and workshop::get_submission_by_author() now return the information
about the user who provided the feedback and overwrote the grade.
2011-08-02 23:33:32 +02:00
David Mudrak 9ddff589df MDL-26147 workshop - added capability to ignore time restrictions 2011-06-10 19:01:27 +02:00
David Mudrak d67c20b873 MDL-26535 workshop: fixed availability of published and assessed submissions
While working on the new capability to view authors of published
submissions, I realized that published submissions are correctly listed
(implemented in 00bc77ee) but they can't be viewed by submission.php.
This patch fixes submission.php so that it allows to view published
submissions.

Also, I noticed that when the workshop is closed, the submissions that
were assessed by the user are not listed (as they were in the previous
phases) but submission.php provides access to them correctly. So I added
a code that lists assessed submissions in the closed phase.
2011-03-06 23:49:49 +01:00
Sam Hemelryk 367a75fae4 themes lib MDL-24895 Multiple fixes to better handle overflow.
Major tasks undertaken in this patch:
* New format_text argument, overflowdiv.
* New page layout Report.
* Review of all format_text calls.
* Added support for the report layout to all themes.
* Changed forum post display from tables to divs.
2010-11-05 02:53:47 +00:00
David Mudrak 5450f7b6c5 MDL-24765 workshop logging features reviewed 2010-10-20 13:13:45 +00:00
David Mudrak 81b2288716 MDL-22507 workshop rendering fixed for submissions and example submissions 2010-10-20 13:12:31 +00:00
David Mudrak 65601f04a3 MDL-21249 workshop and its subplugins: fixing phpdocs @package and @subpackage 2010-09-30 14:44:33 +00:00
David Mudrak 2e7bd6c286 MDL-23709 Added more checks to prevent multiply submissions per user 2010-08-17 13:31:53 +00:00
David Mudrak 884482fba1 MDL-19211 workshop uses editors_get_preferred_format() instead of hard coded default formats 2010-07-27 22:30:34 +00:00
David Mudrak 7a5f4be030 NOMDL workshop: support for activity reporting
Also contains several small fixes and improvements done during the
development.
2010-07-26 21:28:42 +00:00
David Mudrak 2f289d366e MDL-23459 workshop: fixed support for late submissions 2010-07-23 16:15:30 +00:00
David Mudrak 60719642bd NOMDL workshop: added error messages explanation, php notice fixed and additional access control 2010-07-20 14:17:41 +00:00
David Mudrak e0142f7e8a MDL-23408 workshop: show instructions at the submission/assessment page, too 2010-07-20 14:17:14 +00:00