Allow anon to see badge issue page see BT#14193

pull/2479/head
jmontoyaa 8 years ago
parent ce8a2bfb65
commit d9f225ca02
  1. 24
      main/badge/issued.php
  2. 26
      main/template/default/skill/issued.tpl

@ -51,15 +51,12 @@ if (!$user || !$skill) {
exit; exit;
} }
Skill::isAllowed($user->getId()); if (!Skill::isToolAvailable()) {
api_not_allowed(true);
}
$showLevels = api_get_configuration_value('hide_skill_levels') === false; $showLevels = api_get_configuration_value('hide_skill_levels') === false;
$userInfo = [
'id' => $user->getId(),
'complete_name' => $user->getCompleteName(),
];
$skillInfo = [ $skillInfo = [
'id' => $skill->getId(), 'id' => $skill->getId(),
'name' => $skill->getName(), 'name' => $skill->getName(),
@ -83,7 +80,8 @@ $htmlHeadXtra[] = "
$currentUserId = api_get_user_id(); $currentUserId = api_get_user_id();
$currentUser = api_get_user_entity($currentUserId); $currentUser = api_get_user_entity($currentUserId);
$allowDownloadExport = $currentUser ? $currentUser->getId() === $user->getId() : false; $allowExport = $currentUser ? $currentUser->getId() === $user->getId() : false;
$allowComment = $currentUser ? Skill::userCanAddFeedbackToUser($currentUser, $user) : false; $allowComment = $currentUser ? Skill::userCanAddFeedbackToUser($currentUser, $user) : false;
$skillIssueDate = api_get_local_time($skillIssue->getAcquiredSkillAt()); $skillIssueDate = api_get_local_time($skillIssue->getAcquiredSkillAt());
$currentSkillLevel = get_lang('NoLevelAcquiredYet'); $currentSkillLevel = get_lang('NoLevelAcquiredYet');
@ -177,7 +175,9 @@ if ($profile) {
} }
} }
if ($showLevels) { $allowToEdit = Skill::isAllowed($user->getId(), false);
if ($showLevels && $allowToEdit) {
$formAcquiredLevel = new FormValidator('acquired_level'); $formAcquiredLevel = new FormValidator('acquired_level');
$formAcquiredLevel->addSelect('acquired_level', get_lang('AcquiredLevel'), $acquiredLevel); $formAcquiredLevel->addSelect('acquired_level', get_lang('AcquiredLevel'), $acquiredLevel);
$formAcquiredLevel->addHidden('user', $skillIssue->getUser()->getId()); $formAcquiredLevel->addHidden('user', $skillIssue->getUser()->getId());
@ -212,7 +212,7 @@ $form->addHidden('user', $skillIssue->getUser()->getId());
$form->addHidden('issue', $skillIssue->getId()); $form->addHidden('issue', $skillIssue->getId());
$form->addButtonSend(get_lang('Send')); $form->addButtonSend(get_lang('Send'));
if ($form->validate() && $allowComment) { if ($form->validate() && $allowComment && $allowToEdit) {
$values = $form->exportValues(); $values = $form->exportValues();
$skillUserComment = new SkillRelUserComment(); $skillUserComment = new SkillRelUserComment();
$skillUserComment $skillUserComment
@ -233,7 +233,7 @@ if ($form->validate() && $allowComment) {
$badgeInfoError = ''; $badgeInfoError = '';
$personalBadge = ''; $personalBadge = '';
if ($allowDownloadExport) { if ($allowExport) {
$backpack = 'https://backpack.openbadges.org/'; $backpack = 'https://backpack.openbadges.org/';
$configBackpack = api_get_setting('openbadges_backpack'); $configBackpack = api_get_setting('openbadges_backpack');
@ -267,7 +267,7 @@ if ($allowDownloadExport) {
file_put_contents($bakedBadge."/badge_".$skillRelUserId.".png", $bakedInfo); file_put_contents($bakedBadge."/badge_".$skillRelUserId.".png", $bakedInfo);
} }
//Process to validate a baked badge // Process to validate a baked badge
$badgeContent = file_get_contents($bakedBadge."/badge_".$skillRelUserId.".png"); $badgeContent = file_get_contents($bakedBadge."/badge_".$skillRelUserId.".png");
$verifyBakedBadge = $png->extractBadgeInfo($badgeContent); $verifyBakedBadge = $png->extractBadgeInfo($badgeContent);
if (!is_array($verifyBakedBadge)) { if (!is_array($verifyBakedBadge)) {
@ -284,7 +284,7 @@ if ($allowDownloadExport) {
$template = new Template(get_lang('IssuedBadgeInformation')); $template = new Template(get_lang('IssuedBadgeInformation'));
$template->assign('issue_info', $skillIssueInfo); $template->assign('issue_info', $skillIssueInfo);
$template->assign('allow_comment', $allowComment); $template->assign('allow_comment', $allowComment);
$template->assign('allow_download_export', $allowDownloadExport); $template->assign('allow_export', $allowExport);
$template->assign('comment_form', $form->returnForm()); $template->assign('comment_form', $form->returnForm());
if ($showLevels) { if ($showLevels) {
$template->assign('acquired_level_form', $formAcquiredLevel->returnForm()); $template->assign('acquired_level_form', $formAcquiredLevel->returnForm());

@ -20,17 +20,19 @@
{% endif %} {% endif %}
</div> </div>
</div> </div>
{% if allow_download_export %}
{% if badge_error %} {% if badge_error %}
<hr> <hr>
<div class="alert alert-danger"> {{ 'BakedBadgeProblem'|get_lang }}</div> <div class="alert alert-danger"> {{ 'BakedBadgeProblem'|get_lang }}</div>
{% else %} {% else %}
<p class="text-center"> <p class="text-center">
<a href="{{ personal_badge }}" class="btn btn-primary" target="_new" download="badge"> <a href="{{ personal_badge }}" class="btn btn-primary" target="_new" download="badge">
<em class="fa fa-download fa-fw"></em> {{ 'DownloadBadge'|get_lang }} <em class="fa fa-download fa-fw"></em> {{ 'DownloadBadge'|get_lang }}
</a> </a>
</p> </p>
{% endif %} {% endif %}
{% if allow_export %}
<hr> <hr>
<p class="text-center"> <p class="text-center">
<a href="#" class="btn btn-success" id="badge-export-button"> <a href="#" class="btn btn-success" id="badge-export-button">
@ -141,7 +143,7 @@
{% endif %} {% endif %}
</div> </div>
</div> </div>
{% if allow_download_export %} {% if allow_export %}
<script> <script>
$(document).on('ready', function () { $(document).on('ready', function () {
$('#badge-export-button').on('click', function (e) { $('#badge-export-button').on('click', function (e) {

Loading…
Cancel
Save