From a8b7d44bf0dbe27bc0a4d068e1da5f48b79b5410 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?David=20Mudr=C3=A1k?= <david@moodle.com>
Date: Wed, 9 May 2018 10:00:19 +0200
Subject: [PATCH] Export assessments of my submission even when not graded

Also fixes a typo in the phpdoc.
---
 mod/workshop/classes/privacy/provider.php    |  7 +------
 mod/workshop/tests/privacy_provider_test.php | 13 +++++++++++--
 2 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/mod/workshop/classes/privacy/provider.php b/mod/workshop/classes/privacy/provider.php
index e2f3e6a7dc..3a073abf87 100644
--- a/mod/workshop/classes/privacy/provider.php
+++ b/mod/workshop/classes/privacy/provider.php
@@ -119,7 +119,7 @@ class provider implements
      *
      * - the user has submitted in the workshop
      * - the user has overridden a submission grade
-     * - the user has been assigned as a review of a submission
+     * - the user has been assigned as a reviewer of a submission
      * - the user has overridden a grading grade
      * - the user has a grading grade (existing or to be calculated)
      *
@@ -364,11 +364,6 @@ class provider implements
                     'id, reviewerid, weight, timecreated, timemodified, grade, feedbackauthor, feedbackauthorformat');
 
                 foreach ($assessments as $assessment) {
-                    // Skip unfinished allocated assessments as they do not affect user's grade.
-                    if ($assessment->grade === null) {
-                        continue;
-                    }
-
                     $assid = $assessment->id;
                     $assessment->selfassessment = transform::yesno($assessment->reviewerid == $user->id);
                     $assessment->timecreated = transform::datetime($assessment->timecreated);
diff --git a/mod/workshop/tests/privacy_provider_test.php b/mod/workshop/tests/privacy_provider_test.php
index 6c6b0ecaca..5c6951617e 100644
--- a/mod/workshop/tests/privacy_provider_test.php
+++ b/mod/workshop/tests/privacy_provider_test.php
@@ -226,12 +226,13 @@ class mod_workshop_privacy_provider_testcase extends advanced_testcase {
             get_string('mysubmission', 'mod_workshop'),
         ]);
 
-        $mysubmissionassessmentwithoutgrade = $writer->get_data([
+        $mysubmissionselfassessmentwithoutgrade = $writer->get_data([
             get_string('mysubmission', 'mod_workshop'),
             get_string('assessments', 'mod_workshop'),
             $this->assessment1111,
         ]);
-        $this->assertEmpty($mysubmissionassessmentwithoutgrade);
+        $this->assertNull($mysubmissionselfassessmentwithoutgrade->grade);
+        $this->assertEquals(get_string('yes'), $mysubmissionselfassessmentwithoutgrade->selfassessment);
 
         $mysubmissionassessmentwithgrade = $writer->get_data([
             get_string('mysubmission', 'mod_workshop'),
@@ -241,6 +242,14 @@ class mod_workshop_privacy_provider_testcase extends advanced_testcase {
         $this->assertEquals(92, $mysubmissionassessmentwithgrade->grade);
         $this->assertEquals(get_string('no'), $mysubmissionassessmentwithgrade->selfassessment);
 
+        $mysubmissionassessmentwithoutgrade = $writer->get_data([
+            get_string('mysubmission', 'mod_workshop'),
+            get_string('assessments', 'mod_workshop'),
+            $this->assessment1113,
+        ]);
+        $this->assertEquals(null, $mysubmissionassessmentwithoutgrade->grade);
+        $this->assertEquals(get_string('no'), $mysubmissionassessmentwithoutgrade->selfassessment);
+
         $myassessments = $writer->get_data([
             get_string('myassessments', 'mod_workshop'),
         ]);
-- 
2.16.1

