Commit 956625b9 authored by Robert Lyon's avatar Robert Lyon

Bug 1409546: Adding a 'framework_choices' table to db

So we can record the framework specific marking choices

Also made annotation block title field read only when in SE as it
get's overwritten anyway.

Changed the feedback list on the matrix annotation modal sort order be
latest first

Change-Id: I8a0256ecc48a19653878f24c5bcf4944f238f851
Signed-off-by: Robert Lyon's avatarRobert Lyon <robertl@catalyst.net.nz>
parent 32f76d8e
......@@ -415,19 +415,25 @@ class PluginBlocktypeAnnotation extends MaharaCoreBlocktype {
public static function get_instance_config_javascript(BlockInstance $instance) {
return <<<EOF
jQuery(function($) {
$("#instconf_smartevidence").select2();
function show_se_desc(id) {
$("#instconf_smartevidencedesc_container div:not(.description)").addClass('hidden');
$("#option_" + id).removeClass('hidden');
}
show_se_desc($("#instconf_smartevidence").val());
$("#instconf_smartevidence").on('change', function() {
show_se_desc($(this).val());
});
});
jQuery(function($) {
if ($("#instconf_smartevidence").length) {
// block title will be overwritten with framework choice so make it disabled
$("#instconf_title").attr('disabled', true);
// Set up evidence choices and show/hide related descriptions
$("#instconf_smartevidence").select2();
function show_se_desc(id) {
$("#instconf_smartevidencedesc_container div:not(.description)").addClass('hidden');
$("#option_" + id).removeClass('hidden');
}
show_se_desc($("#instconf_smartevidence").val());
$("#instconf_smartevidence").on('change', function() {
show_se_desc($(this).val());
});
}
});
EOF;
}
}
......@@ -948,6 +948,7 @@ class ArtefactTypeAnnotationfeedback extends ArtefactType {
$options->annotation = $annotationartefact->get('id');
$options->block = $blockid;
$options->export = 1;
$options->sort = 'latest';
$annotationfeedback = ArtefactTypeAnnotationfeedback::get_annotation_feedback($options);
$annotationfeedbackcount = isset($annotationfeedback->count) ? $annotationfeedback->count : 0;
......
......@@ -68,8 +68,8 @@ foreach ($data->data as $value) {
if (!empty($views)) {
$value->views = $views['views'];
}
if ($collection->get('framework')) {
safe_require('module', 'framework');
safe_require('module', 'framework');
if (PluginModuleFramework::is_active() && $collection->get('framework')) {
$framework = new Framework($collection->get('framework'));
$value->frameworkname = $framework->get('name');
}
......
......@@ -96,8 +96,8 @@ foreach ($data->data as $value) {
if (!empty($views)) {
$value->views = $views['views'];
}
if ($collection->get('framework')) {
safe_require('module', 'framework');
safe_require('module', 'framework');
if (PluginModuleFramework::is_active() && $collection->get('framework')) {
$framework = new Framework($collection->get('framework'));
$value->frameworkname = $framework->get('name');
}
......
......@@ -72,5 +72,17 @@
<KEY NAME="namepluginuk" TYPE="unique" FIELDS="framework, element, view" />
</KEYS>
</TABLE>
<TABLE NAME="framework_choices">
<FIELDS>
<FIELD NAME="id" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="true" />
<FIELD NAME="framework" TYPE="int" LENGTH="10" NOTNULL="true" />
<FIELD NAME="choice" TYPE="char" LENGTH="255" NOTNULL="true" />
<FIELD NAME="type" TYPE="int" LENGTH="1" NOTNULL="true" />
</FIELDS>
<KEYS>
<KEY NAME="primary" TYPE="primary" FIELDS="id" />
<KEY NAME="frameworkfk" TYPE="foreign" FIELDS="framework" REFTABLE="framework" REFFIELDS="id" />
</KEYS>
</TABLE>
</TABLES>
</XMLDB>
\ No newline at end of file
......@@ -21,5 +21,20 @@ function xmldb_module_framework_upgrade($oldversion=0) {
add_field($table, $field);
}
if ($oldversion < 2016082200) {
log_debug('Adding "framework_choices" table');
$table = new XMLDBTable('framework_choices');
$table->addFieldInfo('id', XMLDB_TYPE_INTEGER, 10, null, XMLDB_NOTNULL, XMLDB_SEQUENCE);
$table->addFieldInfo('framework', XMLDB_TYPE_INTEGER, 10, null, XMLDB_NOTNULL);
$table->addFieldInfo('choice', XMLDB_TYPE_CHAR, 255, null, XMLDB_NOTNULL);
$table->addFieldInfo('type', XMLDB_TYPE_INTEGER, 1, null, XMLDB_NOTNULL);
$table->addKeyInfo('primary', XMLDB_KEY_PRIMARY, array('id'));
create_table($table);
$key = new XMLDBKey('frameworkfk');
$key->setAttributes(XMLDB_KEY_FOREIGN, array('framework'), 'framework', array('id'));
add_key($table, $key);
}
return true;
}
......@@ -12,7 +12,7 @@
defined('INTERNAL') || die();
$string['Framework'] = 'SmartEvidence framework';
$string['Frameworks'] = 'SmartEvidence frameworks';
$string['frameworknav'] = 'SmartEvidence';
$string['frameworks'] = 'Installed frameworks';
$string['frameworkdesc'] = 'Choose the competency framework that you want to associate with your portfolio.';
$string['frameworksdesc'] = 'List of frameworks that are installed in the system. Inactive frameworks are not able to be chosen for collections unless the collection is already associated with the framework when it was active.';
......
......@@ -160,7 +160,7 @@ class PluginModuleFramework extends PluginModule {
'configextensions/frameworks' => array(
'path' => 'configextensions/frameworks',
'url' => 'module/framework/frameworks.php',
'title' => get_string('Frameworks', 'module.framework'),
'title' => get_string('frameworknav', 'module.framework'),
'weight' => 50,
),
);
......@@ -184,6 +184,7 @@ class Framework {
private $description;
private $selfassess;
private $active = 1; // active by default
private $choices;
private $standards;
const EVIDENCE_BEGUN = 0;
......@@ -237,6 +238,10 @@ class Framework {
if ($field == 'collections') {
return $this->collections();
}
if ($field == 'choices') {
$this->choices = Self::get_choices($this->id);
return $this->choices;
}
return $this->{$field};
}
......@@ -257,6 +262,7 @@ class Framework {
db_begin();
delete_records('framework_evidence', 'framework', $this->id);
delete_records('framework_choices', 'framework', $this->id);
delete_records_sql('DELETE FROM {framework_standard_element} WHERE standard IN (' . join(',', array_map('intval', $standards)) . ')');
delete_records('framework_standard', 'framework', $this->id);
delete_records('framework', 'id', $this->id);
......@@ -289,6 +295,43 @@ class Framework {
$this->set('id', $id);
}
}
// update choices
if (isset($this->choices) && is_array($this->choices)) {
foreach ($this->choices as $k => $choice) {
$keystr = key((array) $choice);
switch ($keystr) {
case 'begun':
case '0':
$key = Self::EVIDENCE_BEGUN;
break;
case 'incomplete':
case '1':
$key = Self::EVIDENCE_INCOMPLETE;
break;
case 'partialcomplete':
case '2':
$key = Self::EVIDENCE_PARTIALCOMPLETE;
break;
case 'completed':
case '3':
$key = Self::EVIDENCE_COMPLETED;
break;
default:
$key = $k;
}
$cfordb = new StdClass;
$cfordb->framework = $this->id;
$cfordb->choice = isset($choice->{$keystr}) ? $choice->{$keystr} : '';
$cfordb->type = $key;
if ($choiceid = get_field('framework_choices', 'id', 'framework', $this->id, 'type', $key)) {
$cfordb->id = $choiceid;
update_record('framework_choices', $cfordb, 'id');
}
else {
insert_record('framework_choices', $cfordb, 'id', true);
}
}
}
// update standards
$standardsvars = array('shortname','name','description','priority');
if (isset($this->standards) && is_array($this->standards)) {
......@@ -669,7 +712,7 @@ class Framework {
$options = self::allow_assessment($view->get('owner'), true, $evidence->framework);
if (!$options) {
$choices = Self::get_choices();
$choices = Self::get_choices($collection->get('framework'));
$assessment = array(
'type' => 'html',
'title' => get_string('assessment', 'module.framework'),
......@@ -791,25 +834,29 @@ class Framework {
$isadminofowner = $selfcomplete = false;
if ($USER->get('admin') || $USER->get('staff')) {
$isadminofowner = true;
if ($USER->get('id') != $owner->get('id')) {
$isadminofowner = true;
}
}
else if ($institution != 'mahara' && ($USER->is_institutional_admin($institution) || $USER->is_institutional_staff($institution))) {
$isadminofowner = true;
if ($USER->get('id') != $owner->get('id')) {
$isadminofowner = true;
}
}
require_once(get_config('libroot') . 'institution.php');
$institution = new Institution($institution);
// Check that smart evidence self assessment is enabled for the framework
if ($framework) {
$framework = new Framework($framework);
if ($framework->selfassess) {
$fmk = new Framework($framework);
if ($fmk->selfassess) {
$selfcomplete = true;
}
}
if ($isowner || $isadminofowner) {
if ($options) {
$reply = Self::get_choices();
$reply = Self::get_choices($framework);
if (($isowner && $selfcomplete === false) ||
($isadminofowner && $selfcomplete === true)) {
unset($reply[1]);
......@@ -825,13 +872,27 @@ class Framework {
return false;
}
public static function get_choices() {
return array(
Self::EVIDENCE_BEGUN => get_string('begun','module.framework'),
Self::EVIDENCE_INCOMPLETE => get_string('incomplete','module.framework'),
Self::EVIDENCE_PARTIALCOMPLETE => get_string('partialcomplete','module.framework'),
Self::EVIDENCE_COMPLETED => get_string('completed','module.framework'),
);
public static function get_choices($id) {
if ($records = get_records_array('framework_choices', 'framework', $id)) {
$map = array();
foreach ($records as $record) {
$map[$record->type] = $record->choice;
}
return array(
Self::EVIDENCE_BEGUN => $map[Self::EVIDENCE_BEGUN],
Self::EVIDENCE_INCOMPLETE => $map[Self::EVIDENCE_INCOMPLETE],
Self::EVIDENCE_PARTIALCOMPLETE => $map[Self::EVIDENCE_PARTIALCOMPLETE],
Self::EVIDENCE_COMPLETED => $map[Self::EVIDENCE_COMPLETED],
);
}
else {
return array(
Self::EVIDENCE_BEGUN => get_string('begun','module.framework'),
Self::EVIDENCE_INCOMPLETE => get_string('incomplete','module.framework'),
Self::EVIDENCE_PARTIALCOMPLETE => get_string('partialcomplete','module.framework'),
Self::EVIDENCE_COMPLETED => get_string('completed','module.framework'),
);
}
}
public static function list_frameworks() {
......
......@@ -3,6 +3,13 @@
"name":"Career Readiness",
"description":"NACE (National Association of Colleges and Employers) in the U.S.A. identified seven competencies associated with career readiness. Source: http://www.naceweb.org/knowledge/career-readiness-competencies.aspx",
"selfassess":false,
"choices":
[
{"begun":"Ready for assessment"},
{"incomplete":"Doesn't meet the criterium"},
{"partialcomplete":"Partially meets the criterium"},
{"completed":"Meets the criterium"}
],
"standards":
[
{
......
......@@ -3,6 +3,13 @@
"name":"Practising Teacher Criteria",
"description":"<p>The Practising Teacher Criteria describe the criteria for quality teaching that are to be met by all fully certificated teachers in Aotearoa New Zealand.</p><p>The Practising Teacher Criteria recognise that teaching is a highly complex activity, drawing on repertoires of knowledge, practices, professional attributes and values to facilitate academic, social and cultural learning for diverse education settings. The criteria and indicators should be viewed as interdependent and overlapping. <i>Source: http://educationcouncil.org.nz/content/registered-teacher-criteria-1</i></p>",
"selfassess":false,
"choices":
[
{"begun":"Ready for assessment"},
{"incomplete":"Doesn't meet the criterium"},
{"partialcomplete":"Partially meets the criterium"},
{"completed":"Meets the criterium"}
],
"standards":
[
{
......@@ -14,7 +21,7 @@
[
{
"shortname":"1",
"name":"Establish and maintain effective professional relationships focused on the learning and well-being of ākonga",
"name":"1. Establish and maintain effective professional relationships focused on the learning and well-being of ākonga",
"description":"<ol type=\"i\"><li>engage in ethical, respectful, positive and collaborative professional relationships with: <ul><li>ākonga</li><li>teaching colleagues, support staff and other professionals</li><li>whānau and other carers of ākonga</li><li>agencies, groups and individuals in the community</li></ul></li></ol>
",
"priority":1,
......@@ -22,28 +29,28 @@
},
{
"shortname":"2",
"name":"Demonstrate commitment to promoting the well-being of all ākonga",
"name":"2. Demonstrate commitment to promoting the well-being of all ākonga",
"description":"<ol type=\"i\"><li>take all reasonable steps to provide and maintain a teaching and learning environment that is physically, socially, culturally and emotionally safe</li><li>acknowledge and respect the languages, heritages and cultures of all ākonga</li><li>comply with relevant regulatory and statutory requirements</li></ol>",
"priority":2,
"parent":false
},
{
"shortname":"3",
"name":"Demonstrate commitment to bicultural partnership in Aotearoa New Zealand",
"name":"3. Demonstrate commitment to bicultural partnership in Aotearoa New Zealand",
"description":"<ol type=\"i\"><li>demonstrate respect for the heritages, languages and cultures of both partners to the Treaty of Waitangi</li></ol>",
"priority":3,
"parent":true
},
{
"shortname":"4",
"name":"Demonstrate commitment to ongoing professional learning and development of personal professional practice",
"name":"4. Demonstrate commitment to ongoing professional learning and development of personal professional practice",
"description":"<ol type=\"i\"><li>identify professional learning goals in consultation with colleagues</li><li>participate responsively in professional learning opportunities within the learning community</li><li>initiate learning opportunities to advance personal professional knowledge and skills</li></ol>",
"priority":4,
"parent":false
},
{
"shortname":"5",
"name":"Show leadership that contributes to effective teaching and learning",
"name":"5. Show leadership that contributes to effective teaching and learning",
"description":"<ol type=\"i\"><li>actively contribute to the professional learning community</li><li>undertake areas of responsibility effectively</li></ol>",
"priority":5,
"parent":false
......@@ -59,49 +66,49 @@
[
{
"shortname":"6",
"name":"Conceptualise, plan and implement an appropriate learning programme",
"name":"6. Conceptualise, plan and implement an appropriate learning programme",
"description":"<ol type=\"i\"><li>articulate clearly the aims of their teaching, give sound professional reasons for adopting these aims, and implement them in their practice</li><li>through their planning and teaching, demonstrate their knowledge and understanding of relevant content, disciplines and curriculum documents</li></ol>",
"priority":1,
"parent":false
},
{
"shortname":"7",
"name":"Promote a collaborative, inclusive and supportive learning environment",
"name":"7. Promote a collaborative, inclusive and supportive learning environment",
"description":"<ol type=\"i\"><li>demonstrate effective management of the learning setting which incorporates successful strategies to engage and motivate ākonga</li><li>foster trust, respect and cooperation with and among ākonga</li></ol>",
"priority":2,
"parent":false
},
{
"shortname":"8",
"name":"Demonstrate in practice their knowledge and understanding of how ākonga learn",
"name":"8. Demonstrate in practice their knowledge and understanding of how ākonga learn",
"description":"<ol type=\"i\"><li>enable ākonga to make connections between their prior experiences and learning and their current learning activities</li><li>provide opportunities and support for ākonga to engage with, practise and apply new learning to different contexts</li><li>encourage ākonga to take responsibility for their own learning and behaviour</li><li>assist ākonga to think critically about information and ideas and to reflect on their learning</li></ol>",
"priority":3,
"parent":false
},
{
"shortname":"9",
"name":"Respond effectively to the diverse language and cultural experiences, and the varied strengths, interests and needs of individuals and groups of ākonga",
"name":"9. Respond effectively to the diverse language and cultural experiences, and the varied strengths, interests and needs of individuals and groups of ākonga",
"description":"<ol type=\"i\"><li>demonstrate knowledge and understanding of social and cultural influences on learning, by working effectively in the bicultural and multicultural contexts of learning in Aotearoa New Zealand</li><li>select teaching approaches, resources, technologies and learning and assessment activities that are inclusive and effective for diverse ākonga</li><li>modify teaching approaches to address the needs of individuals and groups of ākonga</li></ol>",
"priority":4,
"parent":false
},
{
"shortname":"10",
"name":"Work effectively within the bicultural context of Aotearoa New Zealand",
"name":"10. Work effectively within the bicultural context of Aotearoa New Zealand",
"description":"<ol type=\"i\"><li>practise and develop the relevant use of te reo Māori me ngā tikanga-a-iwi in context</li><li>specifically and effectively address the educational aspirations of ākonga Māori, displaying high expectations for their learning</li></ol>",
"priority":5,
"parent":false
},
{
"shortname":"11",
"name":"Analyse and appropriately use assessment information, which has been gathered formally and informally",
"name":"11. Analyse and appropriately use assessment information, which has been gathered formally and informally",
"description":"<ol type=\"i\"><li>analyse assessment information to identify progress and ongoing learning needs of ākonga</li><li>use assessment information to give regular and ongoing feedback to guide and support further learning</li><li>analyse assessment information to reflect on and evaluate the effectiveness of the teaching</li><li>communicate assessment and achievement information to relevant members of the learning community</li><li>foster involvement of whānau in the collection and use of information about the learning of ākonga</li></ol>",
"priority":6,
"parent":false
},
{
"shortname":"12",
"name":"Use critical inquiry and problem-solving effectively in their professional practice",
"name":"12. Use critical inquiry and problem-solving effectively in their professional practice",
"description":"<ol type=\"i\"><li>systematically and critically engage with evidence and professional literature to reflect on and refine practice</li><li>respond professionally to feedback from members of their learning community</li><li>critically examine their own beliefs, including cultural beliefs, and how they impact on their professional practice and the achievement of ākonga</li></ol>",
"priority":7,
"parent":false
......
......@@ -226,6 +226,9 @@ jQuery(function($) {
}
// Only allow the point selected to be active in the 'Standard' dropdown
$("#instconf_smartevidence option:not(:selected)").prop('disabled', true);
// block title will be overwritten with framework choice so make it disabled
$("#instconf_title").attr('disabled', true);
// Set up evidence choices and show/hide related descriptions
$("#instconf_smartevidence").select2();
function show_se_desc(id) {
......@@ -313,6 +316,7 @@ jQuery(function($) {
if (results.data.class) {
$('#tablematrix tr:eq(' + celly + ') td:eq(' + cellx + ') span')
.attr('class', results.data.class)
.attr('title', results.data.title)
.data('option', results.data.option)
.data('view', results.data.view).empty();
var completed = parseInt($('#tablematrix tr:eq(' + celly + ') td.completedcount').text(), 10);
......
......@@ -33,7 +33,10 @@ $evidence = get_record('framework_evidence', 'framework', $framework, 'element',
if ($action == 'update') {
// When we click a dot on the matrix and add an annotation
require_once(get_config('docroot') . 'blocktype/lib.php');
$title = param_variable('title', 'Annotation');
$shortname = get_field_sql("SELECT fse.shortname FROM {framework_standard_element} fse
JOIN {framework_standard} fs ON fs.id = fse.standard
WHERE fs.framework = ? and fse.id = ?", array($framework, $option));
$title = get_string('Annotation', 'artefact.annotation') . ': ' . $shortname;
$text = param_variable('text', '');
$allowfeedback = param_boolean('allowfeedback');
$retractable = param_integer('retractable', 0);
......@@ -68,11 +71,13 @@ if ($action == 'update') {
}
$class = 'icon icon-circle-o begun';
$choices = Framework::get_choices($framework);
$data = (object) array('id' => $id,
'class' => $class,
'view' => $view,
'completed' => 0,
'option' => $option
'option' => $option,
'title' => $choices[0]
);
json_reply(false, array('message' => $message, 'data' => $data));
}
......@@ -85,7 +90,8 @@ else if ($action == 'evidence') {
$oldstate = $evidence->state;
$reviewer = null;
$assessment = param_alphanum('assessment', 0);
if (Framework::EVIDENCE_COMPLETED === (int) $assessment) {
$assessment = (int) $assessment;
if (Framework::EVIDENCE_COMPLETED === $assessment) {
$reviewer = $USER->get('id');
}
......@@ -94,29 +100,30 @@ else if ($action == 'evidence') {
$completed = 0;
// If we are changing from completed to not completed
if ((Framework::EVIDENCE_COMPLETED === (int) $oldstate) && (Framework::EVIDENCE_COMPLETED !== (int) $assessment)) {
if ((Framework::EVIDENCE_COMPLETED === (int) $oldstate) && (Framework::EVIDENCE_COMPLETED !== $assessment)) {
$completed = -1;
}
if (Framework::EVIDENCE_COMPLETED === (int) $assessment) {
if (Framework::EVIDENCE_COMPLETED === $assessment) {
$class = 'icon icon-circle completed';
$completed = 1;
}
else if (Framework::EVIDENCE_PARTIALCOMPLETE === (int) $assessment) {
else if (Framework::EVIDENCE_PARTIALCOMPLETE === $assessment) {
$class = 'icon icon-adjust partial';
}
else if (Framework::EVIDENCE_INCOMPLETE === (int) $assessment) {
else if (Framework::EVIDENCE_INCOMPLETE === $assessment) {
$class = 'icon icon-circle-o incomplete';
}
else {
$class = 'icon icon-circle-o begun';
}
$choices = Framework::get_choices($framework);
$data = (object) array('id' => $id,
'class' => $class,
'view' => $view,
'completed' => $completed,
'option' => $option
'option' => $option,
'title' => $choices[$assessment]
);
json_reply(false, array('message' => $message, 'data' => $data));
}
......
......@@ -12,6 +12,6 @@
defined('INTERNAL') || die();
$config = new StdClass;
$config->version = 2016081900;
$config->release = '1.0.1';
$config->version = 2016082200;
$config->release = '1.0.2';
......@@ -14,7 +14,7 @@
<div class="detail">
<span class="lead text-small">{str tag=Views section=view}:</span>
{if $collection->views}
{if $collection->framework}
{if $collection->frameworkname}
<a href="{$collection->fullurl}">{$collection->frameworkname}</a>,
{/if}
{foreach from=$collection->views item=view name=cviews}
......
......@@ -7,7 +7,11 @@ So I can benefit from the recording/marking of SmartEvidence in a
Mahara institution
Background:
Given the following "pages" exist:
Given the following "users" exist:
| username | password | email | firstname | lastname | institution | authname | role |
| userA | Kupuhipa1 | test01@example.com | Pete | Mc | mahara | internal | admin |
And the following "pages" exist:
| title | description| ownertype | ownername |
| PageA | This is page A | user | admin |
| PageB | This is page B | user | admin |
......@@ -18,10 +22,13 @@ Given the following "pages" exist:
| PageG | This is page G | user | admin |
| PageH | This is page H | user | admin |
And the following "collections" exist:
And the following "collections" exist:
| title | description| ownertype | ownername | pages |
| CollA | This is collection A | user | admin | PageA, PageB, PageC, PageD, PageE, PageF, PageG, PageH |
And the following "permissions" exist:
| title | accesstype |
| CollA | public |
Scenario: Installing framework module and activating for an institution
Given I log in as "admin" with password "Kupuhipa1"
......@@ -40,7 +47,7 @@ Scenario: Installing framework module and activating for an institution
Then I should see "Settings saved"
# Check that we have new framework
And I choose "SmartEvidence frameworks" in "Extensions"
And I choose "SmartEvidence" in "Extensions"
Then I should see "SmartEvidence example"
# Activate smartevidence in an institution
......@@ -54,7 +61,7 @@ Scenario: Installing framework module and activating for an institution
And I follow "Return to site"
And I choose "Collections" in "Portfolio"
And I follow "Edit title and description"
And I select "SmartEvidence" from "SmartEvidence framework"
And I select "SmartEvidence example" from "SmartEvidence framework"
And I press "Save"
Then I should see "Collection saved successfully."
......@@ -79,12 +86,12 @@ Scenario: Installing framework module and activating for an institution
# Add another compentency annotation block
And I follow "Edit"
And I expand "General" node
And I wait "2" seconds
And I wait "1" seconds
And I follow "Annotation"
And I press "Add"
And I set the following fields to these values:
| Annotation | My three cents |
And I set the select2 value "1.1 one point one" for "instconf_smartevidence"
And I set the select2 value "one point one" for "instconf_smartevidence"
And I press "Save"
# Re-click a matrix point to add some feedback
......@@ -98,3 +105,14 @@ Scenario: Installing framework module and activating for an institution
# And change assessment status
And I should not see the field "Assessment"
And I press "Save"
And I log out
# Try as another admin
Given I log in as "userA" with password "Kupuhipa1"
And I wait "1" seconds
And I follow "CollA"
And I click on the matrix point "3,5"
And I wait "1" seconds
And I select "Partially meets the standard" from "Assessment"
And I press "Save"
Then I should see "SmartEvidence updated"
\ No newline at end of file
......@@ -2,7 +2,7 @@
{"institution":"all",
"name":"SmartEvidence example",
"description":"This is the example SmartEvidence matrix",
"selfassess":true,
"selfassess": false,
"standards":
[
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment