diff --git a/badges/competency.php b/badges/alignment.php
similarity index 83%
rename from badges/competency.php
rename to badges/alignment.php
index 1eae429f2d250..f67a3045b92bf 100644
--- a/badges/competency.php
+++ b/badges/alignment.php
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see .
/**
- * List competencies, skills, or standards are targeted by a BadgeClass.
+ * List alignments, skills, or standards are targeted by a BadgeClass.
*
* @package core
* @subpackage badges
@@ -24,7 +24,7 @@
*/
require_once(__DIR__ . '/../config.php');
require_once($CFG->libdir . '/badgeslib.php');
-require_once($CFG->dirroot . '/badges/competency_form.php');
+require_once($CFG->dirroot . '/badges/alignment_form.php');
$badgeid = required_param('id', PARAM_INT);
$alignmentid = optional_param('alignmentid', 0, PARAM_INT);
@@ -53,7 +53,7 @@
navigation_node::override_active_url($navurl, true);
}
-$currenturl = new moodle_url('/badges/competency.php', array('id' => $badge->id));
+$currenturl = new moodle_url('/badges/alignment.php', array('id' => $badge->id));
$PAGE->set_context($context);
$PAGE->set_url($currenturl);
$PAGE->set_heading($badge->name);
@@ -63,8 +63,8 @@
$output = $PAGE->get_renderer('core', 'badges');
$msg = optional_param('msg', '', PARAM_TEXT);
$emsg = optional_param('emsg', '', PARAM_TEXT);
-$url = new moodle_url('/badges/competency.php', array('id' => $badge->id, 'action' => $action, 'alignmentid' => $alignmentid));
-$mform = new competency_alignment_form($url, array('badge' => $badge, 'action' => $action, 'alignmentid' => $alignmentid));
+$url = new moodle_url('/badges/alignment.php', array('id' => $badge->id, 'action' => $action, 'alignmentid' => $alignmentid));
+$mform = new alignment_form($url, array('badge' => $badge, 'action' => $action, 'alignmentid' => $alignmentid));
if ($mform->is_cancelled()) {
redirect($currenturl);
} else if ($mform->is_submitted() && $mform->is_validated() && ($data = $mform->get_data())) {
@@ -94,12 +94,12 @@
$mform->display();
} else if (empty($action)) {
if (!$badge->is_active() && !$badge->is_locked()) {
- $urlbutton = new moodle_url('/badges/competency.php', array('id' => $badge->id, 'action' => 'add'));
+ $urlbutton = new moodle_url('/badges/alignment.php', array('id' => $badge->id, 'action' => 'add'));
echo $OUTPUT->box($OUTPUT->single_button($urlbutton, get_string('addalignment', 'badges')), 'clearfix mdl-align');
}
- $alignment = $badge->get_alignment();
- if (count($alignment) > 0) {
- $renderrelated = new badge_competencies_alignment($alignment, $badgeid);
+ $alignments = $badge->get_alignments();
+ if (count($alignments) > 0) {
+ $renderrelated = new badge_alignments($alignments, $badgeid);
echo $output->render($renderrelated);
} else {
echo $output->notification(get_string('noalignment', 'badges'));
diff --git a/badges/competency_action.php b/badges/alignment_action.php
similarity index 90%
rename from badges/competency_action.php
rename to badges/alignment_action.php
index f56da92fbe57a..a3815469f3ddd 100644
--- a/badges/competency_action.php
+++ b/badges/alignment_action.php
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see .
/**
- * Processing actions with competencies alignment.
+ * Processing actions with alignments.
*
* @package core
* @subpackage badges
@@ -30,7 +30,7 @@
$action = optional_param('action', 'remove', PARAM_TEXT); // Remove.
require_login();
-$return = new moodle_url('/badges/competency.php', array('id' => $badgeid));
+$return = new moodle_url('/badges/alignment.php', array('id' => $badgeid));
$badge = new badge($badgeid);
$context = $badge->get_context();
require_capability('moodle/badges:configuredetails', $context);
@@ -38,4 +38,4 @@
if ($action == 'remove') {
$badge->delete_alignment($alignmentid);
}
-redirect($return);
\ No newline at end of file
+redirect($return);
diff --git a/badges/competency_form.php b/badges/alignment_form.php
similarity index 94%
rename from badges/competency_form.php
rename to badges/alignment_form.php
index 64557fa39b1c9..9de0bf77fc180 100644
--- a/badges/competency_form.php
+++ b/badges/alignment_form.php
@@ -14,7 +14,7 @@
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see .
/**
- * Form competency for editing.
+ * Form alignment for editing.
*
* @package core
* @subpackage badges
@@ -27,13 +27,13 @@
require_once($CFG->libdir . '/badgeslib.php');
/**
- * Form to edit competency alignment.
+ * Form to edit alignment.
*
* @copyright 2018 Tung Thai
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @author Tung Thai
*/
-class competency_alignment_form extends moodleform {
+class alignment_form extends moodleform {
/**
* Defines the form.
@@ -68,7 +68,7 @@ public function definition() {
$this->add_action_buttons();
if ($action == 'edit' || $alignmentid) {
$alignment = new stdClass();
- $alignment = $DB->get_record_select('badge_competencies', 'id = ?', array($alignmentid));
+ $alignment = $DB->get_record_select('badge_alignment', 'id = ?', array($alignmentid));
$this->set_data($alignment);
// Freeze all elements if badge is active or locked.
if ($badge->is_active() || $badge->is_locked()) {
@@ -91,4 +91,4 @@ public function validation($data, $files) {
}
return $errors;
}
-}
\ No newline at end of file
+}
diff --git a/badges/badge_json.php b/badges/badge_json.php
index 907f0f10dc95b..2362bade70ded 100644
--- a/badges/badge_json.php
+++ b/badges/badge_json.php
@@ -95,9 +95,9 @@
$json['endorsement'] = $endorsementurl->out(false);
}
- $competencies = $badge->get_alignment();
- if (!empty($competencies)) {
- foreach ($competencies as $item) {
+ $alignments = $badge->get_alignments();
+ if (!empty($alignments)) {
+ foreach ($alignments as $item) {
$alignment = array('targetName' => $item->targetname, 'targetUrl' => $item->targeturl);
if ($item->targetdescription) {
$alignment['targetDescription'] = $item->targetdescription;
@@ -123,4 +123,4 @@
$json['error'] = get_string('error:relatedbadgedoesntexist', 'badges');
}
echo $OUTPUT->header();
-echo json_encode($json);
\ No newline at end of file
+echo json_encode($json);
diff --git a/badges/classes/assertion.php b/badges/classes/assertion.php
index 417594d5243d0..e1e0451906d87 100644
--- a/badges/classes/assertion.php
+++ b/badges/classes/assertion.php
@@ -223,15 +223,15 @@ public function get_criteria_badge_class() {
}
/**
- * Get competencies alignment of the badge.
+ * Get alignment of the badge.
*
- * @return array competencies information.
+ * @return array information.
*/
- public function get_competencies_alignment() {
+ public function get_alignments() {
global $DB;
$badgeid = $this->_data->id;
$alignments = array();
- $items = $DB->get_records_select('badge_competencies', 'badgeid = ?', array($badgeid));
+ $items = $DB->get_records_select('badge_alignment', 'badgeid = ?', array($badgeid));
foreach ($items as $item) {
$alignment = array('targetName' => $item->targetname, 'targetUrl' => $item->targeturl);
if ($item->targetdescription) {
@@ -301,8 +301,8 @@ protected function embed_data_badge_version2 (&$json, $type = OPEN_BADGES_V2_TYP
$endorsementurl = new moodle_url('/badges/endorsement_json.php', array('id' => $this->_data->id));
$json['endorsement'] = $endorsementurl->out(false);
}
- if ($competencies = $this->get_competencies_alignment()) {
- $json['alignment'] = $competencies;
+ if ($alignments = $this->get_alignments()) {
+ $json['alignment'] = $alignments;
}
if ($this->_data->imageauthorname ||
$this->_data->imageauthoremail ||
diff --git a/badges/classes/external.php b/badges/classes/external.php
index 15437d09c2f50..8ef4b6ecb7f7f 100644
--- a/badges/classes/external.php
+++ b/badges/classes/external.php
@@ -150,17 +150,17 @@ public static function get_user_badges($userid = 0, $courseid = 0, $page = 0, $p
// Create a badge instance to be able to get the endorsement and other info.
$badgeinstance = new badge($badge->id);
$endorsement = $badgeinstance->get_endorsement();
- $competencies = $badgeinstance->get_alignment();
+ $alignments = $badgeinstance->get_alignments();
$relatedbadges = $badgeinstance->get_related_badges();
if (!$canconfiguredetails) {
// Return only the properties visible by the user.
- if (!empty($competencies)) {
- foreach ($competencies as $competency) {
- unset($competency->targetdescription);
- unset($competency->targetframework);
- unset($competency->targetcode);
+ if (!empty($alignments)) {
+ foreach ($alignments as $alignment) {
+ unset($alignment->targetdescription);
+ unset($alignment->targetframework);
+ unset($alignment->targetcode);
}
}
@@ -176,7 +176,7 @@ public static function get_user_badges($userid = 0, $courseid = 0, $page = 0, $p
$related = array(
'context' => $context,
'endorsement' => $endorsement ? $endorsement : null,
- 'competencies' => $competencies,
+ 'alignments' => $alignments,
'relatedbadges' => $relatedbadges,
);
diff --git a/badges/classes/external/competency_exporter.php b/badges/classes/external/alignment_exporter.php
similarity index 92%
rename from badges/classes/external/competency_exporter.php
rename to badges/classes/external/alignment_exporter.php
index 3eca46a2027ff..91a431c2527ea 100644
--- a/badges/classes/external/competency_exporter.php
+++ b/badges/classes/external/alignment_exporter.php
@@ -15,7 +15,7 @@
// along with Moodle. If not, see .
/**
- * Contains competency class for displaying a badge competency.
+ * Contains alignment class for displaying a badge alignment.
*
* @package core_badges
* @copyright 2018 Dani Palou
@@ -29,13 +29,13 @@
use core\external\exporter;
/**
- * Class for displaying a badge competency.
+ * Class for displaying a badge alignment.
*
* @package core_badges
* @copyright 2018 Dani Palou
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
-class competency_exporter extends exporter {
+class alignment_exporter extends exporter {
/**
* Return the list of properties.
@@ -46,7 +46,7 @@ protected static function define_properties() {
return [
'id' => [
'type' => PARAM_INT,
- 'description' => 'Competency id',
+ 'description' => 'Alignment id',
],
'badgeid' => [
'type' => PARAM_INT,
diff --git a/badges/classes/external/user_badge_exporter.php b/badges/classes/external/user_badge_exporter.php
index 0cc7269da3e6b..cf07bd6c46bc4 100644
--- a/badges/classes/external/user_badge_exporter.php
+++ b/badges/classes/external/user_badge_exporter.php
@@ -30,7 +30,7 @@
use renderer_base;
use moodle_url;
use core_badges\external\endorsement_exporter;
-use core_badges\external\competency_exporter;
+use core_badges\external\alignment_exporter;
use core_badges\external\related_info_exporter;
/**
@@ -234,7 +234,7 @@ protected static function define_related() {
return array(
'context' => 'context',
'endorsement' => 'stdClass?',
- 'competencies' => 'stdClass[]',
+ 'alignments' => 'stdClass[]',
'relatedbadges' => 'stdClass[]',
);
}
@@ -255,9 +255,9 @@ protected static function define_other_properties() {
'description' => 'Badge endorsement',
'optional' => true,
],
- 'competencies' => [
- 'type' => competency_exporter::read_properties_definition(),
- 'description' => 'Badge competencies (alignment)',
+ 'alignments' => [
+ 'type' => alignment_exporter::read_properties_definition(),
+ 'description' => 'Badge alignments',
'multiple' => true,
],
'relatedbadges' => [
@@ -277,13 +277,13 @@ protected static function define_other_properties() {
protected function get_other_values(renderer_base $output) {
$context = $this->related['context'];
$endorsement = $this->related['endorsement'];
- $competencies = $this->related['competencies'];
+ $alignments = $this->related['alignments'];
$relatedbadges = $this->related['relatedbadges'];
$values = array(
'badgeurl' => moodle_url::make_webservice_pluginfile_url($context->id, 'badges', 'badgeimage', $this->data->id, '/',
'f1')->out(false),
- 'competencies' => array(),
+ 'alignments' => array(),
'relatedbadges' => array(),
);
@@ -292,10 +292,10 @@ protected function get_other_values(renderer_base $output) {
$values['endorsement'] = $endorsementexporter->export($output);
}
- if (!empty($competencies)) {
- foreach ($competencies as $competency) {
- $competencyexporter = new competency_exporter($competency, array('context' => $context));
- $values['competencies'][] = $competencyexporter->export($output);
+ if (!empty($alignments)) {
+ foreach ($alignments as $alignment) {
+ $alignmentexporter = new alignment_exporter($alignment, array('context' => $context));
+ $values['alignments'][] = $alignmentexporter->export($output);
}
}
diff --git a/badges/renderer.php b/badges/renderer.php
index 98d846666fec7..a401c950cc39a 100644
--- a/badges/renderer.php
+++ b/badges/renderer.php
@@ -222,7 +222,7 @@ public function print_badge_overview($badge, $context) {
$display .= self::print_badge_endorsement($badge);
$display .= self::print_badge_related($badge);
- $display .= self::print_badge_competencies($badge);
+ $display .= self::print_badge_alignments($badge);
return html_writer::div($display, null, array('id' => 'badge-overview'));
}
@@ -431,12 +431,12 @@ protected function render_issued_badge(issued_badge $ibadge) {
$output .= html_writer::alist($items, array(), 'ul');
}
- $competencies = $badge->get_alignment();
- if (!empty($competencies)) {
+ $alignments = $badge->get_alignments();
+ if (!empty($alignments)) {
$output .= $this->heading(get_string('alignment', 'badges'), 3);
$items = array();
- foreach ($competencies as $competency) {
- $items[] = html_writer::link($competency->targeturl, $competency->targetname, array('target' => '_blank'));
+ foreach ($alignments as $alignment) {
+ $items[] = html_writer::link($alignment->targeturl, $alignment->targetname, array('target' => '_blank'));
}
$output .= html_writer::alist($items, array(), 'ul');
}
@@ -748,11 +748,11 @@ public function print_badge_tabs($badgeid, $context, $current = 'overview') {
}
if (has_capability('moodle/badges:configuredetails', $context)) {
- $competencies = $DB->count_records_sql("SELECT COUNT(bc.id)
- FROM {badge_competencies} bc WHERE bc.badgeid = :badgeid", array('badgeid' => $badgeid));
+ $alignments = $DB->count_records_sql("SELECT COUNT(bc.id)
+ FROM {badge_alignment} bc WHERE bc.badgeid = :badgeid", array('badgeid' => $badgeid));
$row[] = new tabobject('balignment',
- new moodle_url('/badges/competency.php', array('id' => $badgeid)),
- get_string('balignment', 'badges', $competencies)
+ new moodle_url('/badges/alignment.php', array('id' => $badgeid)),
+ get_string('balignment', 'badges', $alignments)
);
}
@@ -1101,22 +1101,22 @@ protected function print_badge_related(badge $badge) {
}
/**
- * Print list badge competencies.
+ * Print list badge alignments.
*
* @param badge $badge Badge objects.
- * @return string $output List competencies to output.
+ * @return string $output List alignments to output.
*/
- protected function print_badge_competencies(badge $badge) {
+ protected function print_badge_alignments(badge $badge) {
$output = '';
$output .= $this->heading(get_string('alignment', 'badges'), 3);
- $competencies = $badge->get_alignment();
- if (!empty($competencies)) {
+ $alignments = $badge->get_alignments();
+ if (!empty($alignments)) {
$items = array();
- foreach ($competencies as $competency) {
- $urlaligment = new moodle_url('competency.php',
- array('id' => $badge->id, 'alignmentid' => $competency->id)
+ foreach ($alignments as $alignment) {
+ $urlaligment = new moodle_url('alignment.php',
+ array('id' => $badge->id, 'alignmentid' => $alignment->id)
);
- $items[] = html_writer::link($urlaligment, $competency->targetname, array('target' => '_blank'));
+ $items[] = html_writer::link($urlaligment, $alignment->targetname, array('target' => '_blank'));
}
$output .= html_writer::alist($items, array(), 'ul');
} else {
@@ -1186,21 +1186,21 @@ protected function render_badge_related(badge_related $related) {
}
/**
- * Renders a table with competencies alignment.
+ * Renders a table with alignment.
*
- * @param badge_competencies_alignment $alignment List competencies alignment.
- * @return string List competencies aligment to output.
+ * @param badge_alignments $alignments List alignments.
+ * @return string List alignment to output.
*/
- protected function render_badge_competencies_alignment(badge_competencies_alignment $alignment) {
- $currentbadge = new badge($alignment->currentbadgeid);
- $paging = new paging_bar($alignment->totalcount, $alignment->page, $alignment->perpage, $this->page->url, 'page');
+ protected function render_badge_alignments(badge_alignments $alignments) {
+ $currentbadge = new badge($alignments->currentbadgeid);
+ $paging = new paging_bar($alignments->totalcount, $alignments->page, $alignments->perpage, $this->page->url, 'page');
$htmlpagingbar = $this->render($paging);
$table = new html_table();
$table->attributes['class'] = 'generaltable boxaligncenter boxwidthwide';
$table->head = array('Name', 'URL', '');
- foreach ($alignment->alignments as $item) {
- $urlaligment = new moodle_url('competency.php',
+ foreach ($alignments->alignments as $item) {
+ $urlaligment = new moodle_url('alignment.php',
array(
'id' => $currentbadge->id,
'alignmentid' => $item->id,
@@ -1212,7 +1212,7 @@ protected function render_badge_competencies_alignment(badge_competencies_alignm
);
if (!$currentbadge->is_active() && !$currentbadge->is_locked()) {
$delete = $this->output->action_icon(
- new moodle_url('competency_action.php',
+ new moodle_url('alignment_action.php',
array(
'id' => $currentbadge->id,
'alignmentid' => $item->id,
@@ -1220,7 +1220,7 @@ protected function render_badge_competencies_alignment(badge_competencies_alignm
)
), new pix_icon('t/delete', get_string('delete')));
$edit = $this->output->action_icon(
- new moodle_url('competency.php',
+ new moodle_url('alignment.php',
array(
'id' => $currentbadge->id,
'alignmentid' => $item->id,
@@ -1480,13 +1480,13 @@ public function __construct($badges, $currentbadgeid) {
}
/**
- * Collection of all competencies.
+ * Collection of all alignments.
*
* @copyright 2018 Tung Thai
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @author Tung Thai
*/
-class badge_competencies_alignment implements renderable
+class badge_alignments implements renderable
{
/** @var string how are the data sorted. */
public $sort = 'name';
@@ -1510,9 +1510,9 @@ class badge_competencies_alignment implements renderable
public $currentbadgeid = 0;
/**
- * Initializes the list of competencies to display.
+ * Initializes the list of alignments to display.
*
- * @param array $alignments List competencies alignment to render.
+ * @param array $alignments List alignments to render.
* @param int $currentbadgeid ID current badge.
*/
public function __construct($alignments, $currentbadgeid) {
diff --git a/badges/tests/badgeslib_test.php b/badges/tests/badgeslib_test.php
index d577c7871553c..d37e417c28c4f 100644
--- a/badges/tests/badgeslib_test.php
+++ b/badges/tests/badgeslib_test.php
@@ -119,15 +119,15 @@ protected function setUp() {
$relatebadge->relatedbadgeid = $clonedid;
$relatebadge->relatedid = $DB->insert_record('badge_related', $relatebadge, true);
- // Insert a competency aligment.
- $competency = new stdClass();
- $competency->badgeid = $this->coursebadge;
- $competency->targetname = 'CCSS.ELA-Literacy.RST.11-12.3';
- $competency->targeturl = 'http://www.corestandards.org/ELA-Literacy/RST/11-12/3';
- $competency->targetdescription = 'Test target description';
- $competency->targetframework = 'CCSS.RST.11-12.3';
- $competency->targetcode = 'CCSS.RST.11-12.3';
- $DB->insert_record('badge_competencies', $competency, true);
+ // Insert a aligment.
+ $alignment = new stdClass();
+ $alignment->badgeid = $this->coursebadge;
+ $alignment->targetname = 'CCSS.ELA-Literacy.RST.11-12.3';
+ $alignment->targeturl = 'http://www.corestandards.org/ELA-Literacy/RST/11-12/3';
+ $alignment->targetdescription = 'Test target description';
+ $alignment->targetframework = 'CCSS.RST.11-12.3';
+ $alignment->targetcode = 'CCSS.RST.11-12.3';
+ $DB->insert_record('badge_alignment', $alignment, true);
$this->assertion = new stdClass();
$this->assertion->badge = '{"uid":"%s","recipient":{"identity":"%s","type":"email","hashed":true,"salt":"%s"},"badge":"%s","verify":{"type":"hosted","url":"%s"},"issuedOn":"%d","evidence":"%s"}';
@@ -797,41 +797,41 @@ public function test_badge_related() {
}
/**
- * Test insert, update, delete competencies alignment with a site badge.
+ * Test insert, update, delete alignment with a site badge.
*/
- public function test_competencies_alignment() {
+ public function test_alignments() {
$badge = new badge($this->badgeid);
- // Insert a competency alignment.
- $competency1 = new stdClass();
- $competency1->badgeid = $this->badgeid;
- $competency1->targetname = 'CCSS.ELA-Literacy.RST.11-12.3';
- $competency1->targeturl = 'http://www.corestandards.org/ELA-Literacy/RST/11-12/3';
- $competency1->targetdescription = 'Test target description';
- $competency1->targetframework = 'CCSS.RST.11-12.3';
- $competency1->targetcode = 'CCSS.RST.11-12.3';
- $competency2 = clone $competency1;
- $newid1 = $badge->save_alignment($competency1);
- $newid2 = $badge->save_alignment($competency2);
- $competencies1 = $badge->get_alignment();
- $this->assertCount(2, $competencies1);
-
- $this->assertEquals($competency1->badgeid, $competencies1[$newid1]->badgeid);
- $this->assertEquals($competency1->targetname, $competencies1[$newid1]->targetname);
- $this->assertEquals($competency1->targeturl, $competencies1[$newid1]->targeturl);
- $this->assertEquals($competency1->targetdescription, $competencies1[$newid1]->targetdescription);
- $this->assertEquals($competency1->targetframework, $competencies1[$newid1]->targetframework);
- $this->assertEquals($competency1->targetcode, $competencies1[$newid1]->targetcode);
-
- // Update competency aligment.
- $competencies1[$newid1]->targetname = 'CCSS.ELA-Literacy.RST.11-12.3 update';
- $badge->save_alignment($competencies1[$newid1], $competencies1[$newid1]->id);
- $competencies2 = $badge->get_alignment();
- $this->assertEquals($competencies1[$newid1]->id, $competencies2[$newid1]->id);
- $this->assertEquals($competencies1[$newid1]->targetname, $competencies2[$newid1]->targetname);
-
- // Delete competency alignment.
- $badge->delete_alignment($competencies1[$newid2]->id);
- $this->assertCount(1, $badge->get_alignment());
+ // Insert a alignment.
+ $alignment1 = new stdClass();
+ $alignment1->badgeid = $this->badgeid;
+ $alignment1->targetname = 'CCSS.ELA-Literacy.RST.11-12.3';
+ $alignment1->targeturl = 'http://www.corestandards.org/ELA-Literacy/RST/11-12/3';
+ $alignment1->targetdescription = 'Test target description';
+ $alignment1->targetframework = 'CCSS.RST.11-12.3';
+ $alignment1->targetcode = 'CCSS.RST.11-12.3';
+ $alignment2 = clone $alignment1;
+ $newid1 = $badge->save_alignment($alignment1);
+ $newid2 = $badge->save_alignment($alignment2);
+ $alignments1 = $badge->get_alignments();
+ $this->assertCount(2, $alignments1);
+
+ $this->assertEquals($alignment1->badgeid, $alignments1[$newid1]->badgeid);
+ $this->assertEquals($alignment1->targetname, $alignments1[$newid1]->targetname);
+ $this->assertEquals($alignment1->targeturl, $alignments1[$newid1]->targeturl);
+ $this->assertEquals($alignment1->targetdescription, $alignments1[$newid1]->targetdescription);
+ $this->assertEquals($alignment1->targetframework, $alignments1[$newid1]->targetframework);
+ $this->assertEquals($alignment1->targetcode, $alignments1[$newid1]->targetcode);
+
+ // Update aligment.
+ $alignments1[$newid1]->targetname = 'CCSS.ELA-Literacy.RST.11-12.3 update';
+ $badge->save_alignment($alignments1[$newid1], $alignments1[$newid1]->id);
+ $alignments2 = $badge->get_alignments();
+ $this->assertEquals($alignments1[$newid1]->id, $alignments2[$newid1]->id);
+ $this->assertEquals($alignments1[$newid1]->targetname, $alignments2[$newid1]->targetname);
+
+ // Delete alignment.
+ $badge->delete_alignment($alignments1[$newid2]->id);
+ $this->assertCount(1, $badge->get_alignments());
}
}
diff --git a/badges/tests/behat/add_badge.feature b/badges/tests/behat/add_badge.feature
index 7c03084f64cd6..235fdd0bfd374 100644
--- a/badges/tests/behat/add_badge.feature
+++ b/badges/tests/behat/add_badge.feature
@@ -46,7 +46,7 @@ Feature: Add badges to the system
And I should see "Test badge with 'apostrophe' and other friends (&@#)"
And I should see "Endorsement"
And I should see "Related badges (0)"
- And I should see "Competencies (0)"
+ And I should see "External alignments (0)"
And I should not see "Create badge"
And I follow "Manage badges"
And I should see "Number of badges available: 1"
@@ -118,7 +118,7 @@ Feature: Add badges to the system
Then I should see "Changes saved"
@javascript @_file_upload
- Scenario: Competencies alignment for Badge
+ Scenario: External alignments for Badge
Given I navigate to "Badges > Add a new badge" in site administration
And I set the following fields to these values:
| Name | Test Badge |
@@ -133,18 +133,15 @@ Feature: Add badges to the system
When I press "Create badge"
Then I should see "Test Badge"
And I should see "Endorsement"
- And I follow "Competencies (0)"
- And I should see "This badge does not have any competencies specified."
- And I press "Add competency"
- And I follow "Competency"
- And I wait until the page is ready
- And I follow "Competency"
+ And I follow "External alignments (0)"
+ And I should see "This badge does not have any external alignments specified."
+ And I press "Add external alignment"
And I set the following fields to these values:
- | Competency name | Test Badge Competencies |
- | URL | https://competencies.example.com |
- | Description | Test Badge Competencies description |
+ | External alignment name | Test Badge Alignments |
+ | URL | https://alignments.example.com |
+ | Description | Test Badge Alignments description |
When I press "Save changes"
- And I should see "Competencies (1)"
+ And I should see "External alignments (1)"
@javascript @_file_upload
Scenario: Add a badge from Site badges section
diff --git a/badges/tests/external_test.php b/badges/tests/external_test.php
index 9ebf174980a42..7bbd982d48570 100644
--- a/badges/tests/external_test.php
+++ b/badges/tests/external_test.php
@@ -110,22 +110,22 @@ public function setUp() {
$endorsement->dateissued = $now;
$badge->save_endorsement($endorsement);
- // Add 2 competencies.
- $competency = new stdClass();
- $competency->badgeid = $badgeid;
- $competency->targetname = 'Competency 1';
- $competency->targeturl = 'http://c1-target-url.domain.co.nz';
- $competency->targetdescription = 'C1 target description';
- $competency->targetframework = 'C1 framework';
- $competency->targetcode = 'C1 code';
- $badge->save_alignment($competency);
-
- $competency->targetname = 'Competency 2';
- $competency->targeturl = 'http://c2-target-url.domain.co.nz';
- $competency->targetdescription = 'C2 target description';
- $competency->targetframework = 'C2 framework';
- $competency->targetcode = 'C2 code';
- $badge->save_alignment($competency);
+ // Add 2 alignments.
+ $alignment = new stdClass();
+ $alignment->badgeid = $badgeid;
+ $alignment->targetname = 'Alignment 1';
+ $alignment->targeturl = 'http://a1-target-url.domain.co.nz';
+ $alignment->targetdescription = 'A1 target description';
+ $alignment->targetframework = 'A1 framework';
+ $alignment->targetcode = 'A1 code';
+ $badge->save_alignment($alignment);
+
+ $alignment->targetname = 'Alignment 2';
+ $alignment->targeturl = 'http://a2-target-url.domain.co.nz';
+ $alignment->targetdescription = 'A2 target description';
+ $alignment->targetframework = 'A2 framework';
+ $alignment->targetcode = 'A2 code';
+ $badge->save_alignment($alignment);
// Now a course badge.
$badge->id = null;
@@ -162,26 +162,26 @@ public function test_get_my_user_badges() {
$badge->badgeurl = moodle_url::make_webservice_pluginfile_url($context->id, 'badges', 'badgeimage', $badge->id, '/',
'f1')->out(false);
- // Get the endorsement, competencies and related badges.
+ // Get the endorsement, alignments and related badges.
$badgeinstance = new badge($badge->id);
$endorsement = $badgeinstance->get_endorsement();
- $competencies = $badgeinstance->get_alignment();
+ $alignments = $badgeinstance->get_alignments();
$relatedbadges = $badgeinstance->get_related_badges();
- $badge->competencies = array();
+ $badge->alignments = array();
$badge->relatedbadges = array();
if ($endorsement) {
$badge->endorsement = (array) $endorsement;
}
- if (!empty($competencies)) {
- foreach ($competencies as $competency) {
- // Students cannot see some fields of the competencies.
- unset($competency->targetdescription);
- unset($competency->targetframework);
- unset($competency->targetcode);
+ if (!empty($alignments)) {
+ foreach ($alignments as $alignment) {
+ // Students cannot see some fields of the alignments.
+ unset($alignment->targetdescription);
+ unset($alignment->targetframework);
+ unset($alignment->targetcode);
- $badge->competencies[] = (array) $competency;
+ $badge->alignments[] = (array) $alignment;
}
}
@@ -231,9 +231,9 @@ public function test_get_other_user_badges() {
if (isset($badge['type']) and $badge['type'] == BADGE_TYPE_COURSE) {
$this->assertTrue(isset($badge['message']));
- // Check that we have permissions to see all the data in competencies and related badges.
- foreach ($badge['competencies'] as $competency) {
- $this->assertTrue(isset($competency['targetdescription']));
+ // Check that we have permissions to see all the data in alignments and related badges.
+ foreach ($badge['alignments'] as $alignment) {
+ $this->assertTrue(isset($alignment['targetdescription']));
}
foreach ($badge['relatedbadges'] as $relatedbadge) {
diff --git a/badges/upgrade.txt b/badges/upgrade.txt
index 8b2039407c3ee..407fcdaf0813b 100644
--- a/badges/upgrade.txt
+++ b/badges/upgrade.txt
@@ -1,5 +1,7 @@
This files describes API changes in /badges/*,
information provided here is intended especially for developers.
+=== 3.7 ===
+* Incorrect term "badge competencies" has been refactored to "alignments" everywhere.
=== 3.6 ===
diff --git a/lib/badgeslib.php b/lib/badgeslib.php
index d0c1931c428db..98c1b9e3746dd 100644
--- a/lib/badgeslib.php
+++ b/lib/badgeslib.php
@@ -714,7 +714,7 @@ public function delete($archive = true) {
$badgecontext = $this->get_context();
$fs->delete_area_files($badgecontext->id, 'badges', 'badgeimage', $this->id);
- // Delete endorsements, competencies and related badges.
+ // Delete endorsements, alignments and related badges.
$DB->delete_records('badge_endorsement', array('badgeid' => $this->id));
$relatedsql = 'badgeid = :badgeid OR relatedbadgeid = :relatedbadgeid';
$relatedparams = array(
@@ -722,7 +722,7 @@ public function delete($archive = true) {
'relatedbadgeid' => $this->id
);
$DB->delete_records_select('badge_related', $relatedsql, $relatedparams);
- $DB->delete_records('badge_competencies', array('badgeid' => $this->id));
+ $DB->delete_records('badge_alignment', array('badgeid' => $this->id));
// Finally, remove badge itself.
$DB->delete_records('badge', array('id' => $this->id));
@@ -804,43 +804,43 @@ public function get_related_badges(bool $activeonly = false) {
}
/**
- * Insert/update competency alignment information of badge.
+ * Insert/update alignment information of badge.
*
- * @param stdClass $alignment Data of a competency alignment.
- * @param int $alignmentid ID competency alignment.
+ * @param stdClass $alignment Data of a alignment.
+ * @param int $alignmentid ID alignment.
* @return bool|int A status/ID when insert or update data.
*/
public function save_alignment($alignment, $alignmentid = 0) {
global $DB;
- $record = $DB->record_exists('badge_competencies', array('id' => $alignmentid));
+ $record = $DB->record_exists('badge_alignment', array('id' => $alignmentid));
if ($record) {
$alignment->id = $alignmentid;
- return $DB->update_record('badge_competencies', $alignment);
+ return $DB->update_record('badge_alignment', $alignment);
} else {
- return $DB->insert_record('badge_competencies', $alignment, true);
+ return $DB->insert_record('badge_alignment', $alignment, true);
}
}
/**
- * Delete a competency alignment of badge.
+ * Delete a alignment of badge.
*
- * @param int $alignmentid ID competency alignment.
- * @return bool A status for delete a competency alignment.
+ * @param int $alignmentid ID alignment.
+ * @return bool A status for delete a alignment.
*/
public function delete_alignment($alignmentid) {
global $DB;
- return $DB->delete_records('badge_competencies', array('badgeid' => $this->id, 'id' => $alignmentid));
+ return $DB->delete_records('badge_alignment', array('badgeid' => $this->id, 'id' => $alignmentid));
}
/**
- * Get competencies of badge.
+ * Get alignments of badge.
*
- * @return array List content competencies.
+ * @return array List content alignments.
*/
public function get_alignment() {
global $DB;
- return $DB->get_records('badge_competencies', array('badgeid' => $this->id));
+ return $DB->get_records('badge_alignment', array('badgeid' => $this->id));
}
/**
diff --git a/lib/db/install.xml b/lib/db/install.xml
index fd1548f8797f0..9c127a4edce2d 100644
--- a/lib/db/install.xml
+++ b/lib/db/install.xml
@@ -3200,7 +3200,7 @@
-
+
@@ -3212,7 +3212,7 @@
-
+
diff --git a/lib/db/upgrade.php b/lib/db/upgrade.php
index 7d28a63155100..0b0e59dacd299 100644
--- a/lib/db/upgrade.php
+++ b/lib/db/upgrade.php
@@ -2923,5 +2923,29 @@ function xmldb_main_upgrade($oldversion) {
upgrade_main_savepoint(true, 2019032200.02);
}
+ if ($oldversion < 2019032900.00) {
+
+ // Define table badge_competencies to be renamed to badge_alignment.
+ $table = new xmldb_table('badge_competencies');
+
+ // Be careful if this step gets run twice.
+ if ($dbman->table_exists($table)) {
+ $key = new xmldb_key('competenciesbadge', XMLDB_KEY_FOREIGN, ['badgeid'], 'badge', ['id']);
+
+ // Launch drop key competenciesbadge.
+ $dbman->drop_key($table, $key);
+
+ $key = new xmldb_key('alignmentsbadge', XMLDB_KEY_FOREIGN, ['badgeid'], 'badge', ['id']);
+
+ // Launch add key alignmentsbadge.
+ $dbman->add_key($table, $key);
+
+ // Launch rename table for badge_alignment.
+ $dbman->rename_table($table, 'badge_alignment');
+ }
+
+ upgrade_main_savepoint(true, 2019032900.00);
+ }
+
return true;
}
diff --git a/lib/setuplib.php b/lib/setuplib.php
index 76a4fea3ead9e..98a8666ada1a9 100644
--- a/lib/setuplib.php
+++ b/lib/setuplib.php
@@ -1407,7 +1407,7 @@ function disable_output_buffering() {
*/
function is_major_upgrade_required() {
global $CFG;
- $lastmajordbchanges = 2019011801.00;
+ $lastmajordbchanges = 2019032900.00;
$required = empty($CFG->version);
$required = $required || (float)$CFG->version < $lastmajordbchanges;
diff --git a/version.php b/version.php
index eeaaa852057cd..eb1f55bf886d7 100644
--- a/version.php
+++ b/version.php
@@ -29,7 +29,7 @@
defined('MOODLE_INTERNAL') || die();
-$version = 2019032800.00; // YYYYMMDD = weekly release date of this DEV branch.
+$version = 2019032900.00; // YYYYMMDD = weekly release date of this DEV branch.
// RR = release increments - 00 in DEV branches.
// .XX = incremental changes.