Can't use portfolio completion in template plans in groups

Bug #1902972 reported by Kristina Hoeppner
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Mahara
Confirmed
Wishlist
Unassigned

Bug Description

When you create a plan template that has a portfolio as assignment, which has the portfolio completion functionality, then you run into an error message trying to copy that plan into a group because the portfolio completion functionality is not available on the group level.

It would be good if you could use the portfolio completion also in groups for group portfolios and copying of those collections as part of the plan infrastructure.

To test:

1. Turn on 'Portfolio completion' for your institution.
2. Create a portfolio that contains at least 2 pages with the sign-off block.
3. Add the 'Portfolio completion' to the collection.
4. Create a template plan with assignment activities turned on.
5. Create a task that has the portfolio with the portfolio completion as 'Assignment portfolio'.
6. Create a group.
7. Only allow non-ordinary members to create and edit content.
8. Create a plan from the template above.
Expected result: You can create the plan without any error messages and view the entire portfolio, incl. portfolio completion page.
Actual result: Error message is displayed.

[WAR] dd (lib/errors.php:853) Failed to get a recordset: postgres8 error: [-1: ERROR: null value in column "progresscompletion" violates not-null constraint
DETAIL: Failing row contains (66, null, 2020-11-05 14:54:50, 2020-11-05 14:54:50, Plan tasks: Completion, Pages containing details of the tasks for the plan "Completion", 1, null, null, null, 0, 1, null, null, null, null).] in EXECUTE("UPDATE "collection" SET "name" = ?, "description" = ?, "owner" = ?, "group" = ?, "institution" = ?, "mtime" = ?, "ctime" = ?, "navigation" = ?, "submittedgroup" = ?, "submittedhost" = ?, "submittedtime" = ?, "submittedstatus" = ?, "framework" = ?, "coverimage" = ?, "progresscompletion" = ? WHERE "id" = ?")Command was: UPDATE "collection" SET "name" = ?, "description" = ?, "owner" = ?, "group" = ?, "institution" = ?, "mtime" = ?, "ctime" = ?, "navigation" = ?, "submittedgroup" = ?, "submittedhost" = ?, "submittedtime" = ?, "submittedstatus" = ?, "framework" = ?, "coverimage" = ?, "progresscompletion" = ? WHERE "id" = ? and values was (0:Plantasks:Completion,1:Pagescontainingdetailsofthetasksfortheplan"Completion",2:,3:1,4:,5:2020-11-0514:54:50,6:2020-11-0514:54:50,7:1,8:,9:,10:,11:0,12:,13:,14:,15:66)
Call stack (most recent first):

    log_message("Failed to get a recordset: postgres8 error: [-1: E...", 8, true, true) at /home/kristina/code/2010stable/htdocs/lib/errors.php:89
    log_warn("Failed to get a recordset: postgres8 error: [-1: E...") at /home/kristina/code/2010stable/htdocs/lib/errors.php:853
    SQLException->__construct("Failed to get a recordset: postgres8 error: [-1: E...") at /home/kristina/code/2010stable/htdocs/lib/dml.php:1528
    update_record("collection", object(stdClass), array(size 1)) at /home/kristina/code/2010stable/htdocs/lib/collection.php:200
    Collection->commit() at /home/kristina/code/2010stable/htdocs/lib/collection.php:1146
    Collection->add_views(array(size 1)) at /home/kristina/code/2010stable/htdocs/artefact/plans/tools/PlansTools.php:167
    artefact\plans\tools\PlansTools::createGroupTaskFromUserTaskTemplate(object(ArtefactTypeTask), object(ArtefactTypePlan), object(stdClass), object(Collection)) at /home/kristina/code/2010stable/htdocs/artefact/plans/tools/PlansTools.php:261
    artefact\plans\tools\PlansTools::createGroupPlanTasksFromUserPlanTemplate(object(ArtefactTypePlan), "4939") at /home/kristina/code/2010stable/htdocs/artefact/plans/lib.php:594
    ArtefactTypePlan::submit(object(Pieform), array(size 14)) at /home/kristina/code/2010stable/htdocs/lib/pieforms/pieform.php:568
    Pieform->__construct(array(size 6)) at /home/kristina/code/2010stable/htdocs/lib/pieforms/pieform.php:168
    Pieform::process(array(size 6)) at /home/kristina/code/2010stable/htdocs/lib/mahara.php:5507
    pieform(array(size 6)) at /home/kristina/code/2010stable/htdocs/artefact/plans/lib.php:667
    ArtefactTypePlan::get_form(object(stdClass)) at /home/kristina/code/2010stable/htdocs/artefact/plans/plan/new.php:65

summary: - Cant' use portfolio completion in template plans in groups
+ Can't use portfolio completion in template plans in groups
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.