← Back to team overview

mahara-contributors team mailing list archive

[Bug 1959613] Re: Problem with annotation feedback and draft feedback

 

Making the following adjustments will stop the error

/htdocs/artefact/annotation/lib.php
@@ -226,6 +226,7 @@ class ArtefactTypeAnnotation extends ArtefactType {
     protected $artefact;          // artefactid of the artefact this annotation is linked to.
     protected $view;              // viewid of the view this annotation is linked to.
     protected $lastcontentupdate; // last updated as a datetime.
+    protected $onartefact;
 
/htdocs/view/view.php
@@ -560,7 +560,9 @@ $smarty = smarty(
 $commentonartefact = param_integer('artefact', null);
 // doublecheck it's a comment on  artefact in case is old email
 if ($showcomment) {
-    $tmpcomment = new ArtefactTypeComment($showcomment);
+    $artefacttype = get_field('artefact', 'artefacttype', 'id', $showcomment);
+    $classname = generate_artefact_class_name($artefacttype);
+    $tmpcomment = new $classname($showcomment);
     if ($tmpcomment->get('onartefact') && !$commentonartefact) {
         redirect(get_config('wwwroot') . 'view/view.php?id=' . $viewid . '&showcomment=' . $showcomment . '&modal=1&artefact=' . $tmpcomment->get('onartefact'));
     }

But there is still the issue that because the page is shared to the
person as a peer they cannot see the annotation block and therefore are
not able to make the private annotation feedback public

-- 
You received this bug notification because you are a member of Mahara
Contributors, which is subscribed to Mahara.
Matching subscriptions: mahara-contributors
https://bugs.launchpad.net/bugs/1959613

Title:
  Problem with annotation feedback and draft feedback

Status in Mahara:
  Confirmed

Bug description:
  Problem:

  Person A creates a Smart evidence collection and has an annotation block on a page
  Person B adds a draft comment to it
  Person A requests the comment to be made public
  Person B gets an email and follows the link

  -- gets error
  [WAR] e2 (artefact/lib.php:353) Artefact type mismatch. You are trying to use this annotation as a comment.
  Call stack (most recent first):

      ArtefactType->__construct() at /../htdocs/artefact/comment/lib.php:193
      ArtefactTypeComment->__construct() at /../htdocs/view/view.php:563

  To test:
   
  1 Set up new site
  2 Go to Plugin Extensions page and activate annotation
  3 Edit 'No institution' and turn on Annotations
  4 Upload some users to the site (via CSV is easiest)
  5 Log in as Person A and create a page
  6 Create a collection with a smart evidence option chosen and add page to it
  7 Share the collection to Person B with special role Peer
  8 Go to the collection's smart evidence page and add annotation to one of the dots
  9 Log in as Person B and go to the collection smart evidence page and click on the circle dot
  10 Leave some feedback and turn 'Mark public' to No - the feedback should have "This feedback is private."
  11 Log in as Person A and go to the page itself in the collection and click on Feedback (1) link in annotation block
  12 In the modal click the 'Make public' button - you should see "A message has been sent to Person B to request that the feedback be made public."
  13 Log in as Person B and go to the page itself in the collection - you see "You cannot see the content on this page because it does not require a peer assessment."
  14 Go to your inbox and see "Request to change private feedback to public"
  15 Click the 'Annotation' link in the email and get the error.

To manage notifications about this bug go to:
https://bugs.launchpad.net/mahara/+bug/1959613/+subscriptions



References