2018-02-14 22:26:16 +01:00
|
|
|
<ion-header>
|
2018-07-13 13:10:55 +02:00
|
|
|
<ion-navbar core-back-button>
|
2018-02-14 22:26:16 +01:00
|
|
|
<ion-title>{{badge.name}}</ion-title>
|
|
|
|
</ion-navbar>
|
|
|
|
</ion-header>
|
|
|
|
<ion-content>
|
2018-06-15 12:29:11 +02:00
|
|
|
<ion-refresher [enabled]="badgeLoaded" (ionRefresh)="refreshBadges($event)">
|
2018-02-14 22:26:16 +01:00
|
|
|
<ion-refresher-content pullingText="{{ 'core.pulltorefresh' | translate }}"></ion-refresher-content>
|
|
|
|
</ion-refresher>
|
|
|
|
<core-loading [hideUntil]="badgeLoaded">
|
|
|
|
|
2018-02-26 10:38:18 +01:00
|
|
|
<ion-item-group>
|
|
|
|
<ion-item text-wrap class="item-avatar-center">
|
|
|
|
<img *ngIf="badge.badgeurl" class="avatar" [src]="badge.badgeurl" core-external-content [alt]="badge.name">
|
|
|
|
<ion-badge color="danger" *ngIf="badge.dateexpire && currentTime >= badge.dateexpire">
|
|
|
|
{{ 'addon.badges.expired' | translate }}
|
|
|
|
</ion-badge>
|
|
|
|
</ion-item>
|
|
|
|
</ion-item-group>
|
2018-02-14 22:26:16 +01:00
|
|
|
|
2018-02-26 10:38:18 +01:00
|
|
|
<ion-item-group *ngIf="user.fullname">
|
|
|
|
<ion-item-divider color="light">
|
2018-02-14 22:26:16 +01:00
|
|
|
<h2>{{ 'addon.badges.recipientdetails' | translate}}</h2>
|
2018-02-26 10:38:18 +01:00
|
|
|
</ion-item-divider>
|
|
|
|
<ion-item text-wrap>
|
|
|
|
<h2>{{ 'core.name' | translate}}</h2>
|
2018-02-14 22:26:16 +01:00
|
|
|
<p>
|
2018-02-26 10:38:18 +01:00
|
|
|
<core-format-text clean="true" [text]="user.fullname"></core-format-text>
|
2018-02-14 22:26:16 +01:00
|
|
|
</p>
|
2018-02-26 10:38:18 +01:00
|
|
|
</ion-item>
|
|
|
|
</ion-item-group>
|
2018-02-14 22:26:16 +01:00
|
|
|
|
2018-02-26 10:38:18 +01:00
|
|
|
<ion-item-group>
|
|
|
|
<ion-item-divider color="light">
|
2018-02-14 22:26:16 +01:00
|
|
|
<h2>{{ 'addon.badges.issuerdetails' | translate}}</h2>
|
2018-02-26 10:38:18 +01:00
|
|
|
</ion-item-divider>
|
|
|
|
<ion-item text-wrap *ngIf="badge.issuername">
|
|
|
|
<h2>{{ 'addon.badges.issuername' | translate}}</h2>
|
2018-02-14 22:26:16 +01:00
|
|
|
<p>
|
2018-02-26 10:38:18 +01:00
|
|
|
<core-format-text clean="true" [text]="badge.issuername"></core-format-text>
|
2018-02-14 22:26:16 +01:00
|
|
|
</p>
|
2018-02-26 10:38:18 +01:00
|
|
|
</ion-item>
|
|
|
|
<ion-item text-wrap *ngIf="badge.issuercontact">
|
|
|
|
<h2>{{ 'addon.badges.contact' | translate}}</h2>
|
2018-02-14 22:26:16 +01:00
|
|
|
<p>
|
2018-02-26 10:38:18 +01:00
|
|
|
<core-format-text clean="true" [text]="badge.issuercontact"></core-format-text>
|
2018-02-14 22:26:16 +01:00
|
|
|
</p>
|
2018-02-26 10:38:18 +01:00
|
|
|
</ion-item>
|
|
|
|
</ion-item-group>
|
2018-02-14 22:26:16 +01:00
|
|
|
|
2018-02-26 10:38:18 +01:00
|
|
|
<ion-item-group>
|
|
|
|
<ion-item-divider color="light">
|
2018-02-14 22:26:16 +01:00
|
|
|
<h2>{{ 'addon.badges.badgedetails' | translate}}</h2>
|
2018-02-26 10:38:18 +01:00
|
|
|
</ion-item-divider>
|
|
|
|
<ion-item text-wrap *ngIf="badge.name">
|
|
|
|
<h2>{{ 'core.name' | translate}}</h2>
|
2018-11-13 11:38:07 +01:00
|
|
|
<p>{{ badge.name }}</p>
|
|
|
|
</ion-item>
|
|
|
|
<ion-item text-wrap *ngIf="badge.version">
|
|
|
|
<h2>{{ 'addon.badges.version' | translate}}</h2>
|
|
|
|
<p>{{ badge.version }}</p>
|
|
|
|
</ion-item>
|
|
|
|
<ion-item text-wrap *ngIf="badge.language">
|
|
|
|
<h2>{{ 'addon.badges.language' | translate}}</h2>
|
|
|
|
<p>{{ badge.language }}</p>
|
2018-02-26 10:38:18 +01:00
|
|
|
</ion-item>
|
|
|
|
<ion-item text-wrap *ngIf="badge.description">
|
|
|
|
<h2>{{ 'core.description' | translate}}</h2>
|
2018-02-14 22:26:16 +01:00
|
|
|
<p>
|
2018-02-26 10:38:18 +01:00
|
|
|
<core-format-text clean="true" [text]="badge.description"></core-format-text>
|
2018-02-14 22:26:16 +01:00
|
|
|
</p>
|
2018-02-26 10:38:18 +01:00
|
|
|
</ion-item>
|
2018-11-13 11:38:07 +01:00
|
|
|
<ion-item text-wrap *ngIf="badge.imageauthorname">
|
|
|
|
<h2>{{ 'addon.badges.imageauthorname' | translate}}</h2>
|
|
|
|
<p>{{ badge.imageauthorname }}</p>
|
|
|
|
</ion-item>
|
|
|
|
<ion-item text-wrap *ngIf="badge.imageauthoremail">
|
|
|
|
<h2>{{ 'addon.badges.imageauthoremail' | translate}}</h2>
|
|
|
|
<p><a href="mailto:{{badge.imageauthoremail}}" core-link auto-login="no">
|
|
|
|
<core-format-text [text]="badge.imageauthoremail"></core-format-text>
|
|
|
|
</a></p>
|
|
|
|
</ion-item>
|
|
|
|
<ion-item text-wrap *ngIf="badge.imageauthorurl">
|
|
|
|
<h2>{{ 'addon.badges.imageauthorurl' | translate}}</h2>
|
|
|
|
<p><a [href]="badge.imageauthorurl" core-link auto-login="no">
|
|
|
|
<core-format-text [text]="badge.imageauthorurl"></core-format-text>
|
|
|
|
</a></p>
|
|
|
|
</ion-item>
|
|
|
|
<ion-item text-wrap *ngIf="badge.imagecaption">
|
|
|
|
<h2>{{ 'addon.badges.imagecaption' | translate}}</h2>
|
|
|
|
<p><core-format-text [text]="badge.imagecaption"></core-format-text></p>
|
|
|
|
</ion-item>
|
2018-02-26 10:38:18 +01:00
|
|
|
<ion-item text-wrap *ngIf="course.fullname">
|
|
|
|
<h2>{{ 'core.course' | translate}}</h2>
|
2018-02-14 22:26:16 +01:00
|
|
|
<p>
|
2018-08-22 13:44:39 +02:00
|
|
|
<core-format-text [text]="course.fullname"></core-format-text>
|
2018-02-14 22:26:16 +01:00
|
|
|
</p>
|
2018-02-26 10:38:18 +01:00
|
|
|
</ion-item>
|
2018-11-13 11:38:07 +01:00
|
|
|
<!-- Criteria (not yet avalaible) -->
|
2018-02-26 10:38:18 +01:00
|
|
|
</ion-item-group>
|
2018-02-14 22:26:16 +01:00
|
|
|
|
2018-02-26 10:38:18 +01:00
|
|
|
<ion-item-group>
|
|
|
|
<ion-item-divider color="light">
|
2018-02-14 22:26:16 +01:00
|
|
|
<h2>{{ 'addon.badges.issuancedetails' | translate}}</h2>
|
2018-02-26 10:38:18 +01:00
|
|
|
</ion-item-divider>
|
|
|
|
<ion-item text-wrap *ngIf="badge.dateissued">
|
|
|
|
<h2>{{ 'addon.badges.dateawarded' | translate}}</h2>
|
2018-02-14 22:26:16 +01:00
|
|
|
<p>{{badge.dateissued | coreToLocaleString }}</p>
|
2018-02-26 10:38:18 +01:00
|
|
|
</ion-item>
|
|
|
|
<ion-item text-wrap *ngIf="badge.dateexpire">
|
|
|
|
<h2>{{ 'addon.badges.expirydate' | translate}}</h2>
|
2018-11-13 11:38:07 +01:00
|
|
|
<p>
|
|
|
|
{{ badge.dateexpire | coreToLocaleString }}
|
|
|
|
<span class="text-danger" *ngIf="currentTime >= badge.dateexpire">
|
|
|
|
{{ 'addon.badges.warnexpired' | translate }}
|
|
|
|
</span>
|
|
|
|
</p>
|
|
|
|
</ion-item>
|
|
|
|
<!-- Evidence (not yet avalaible) -->
|
|
|
|
</ion-item-group>
|
|
|
|
|
|
|
|
<!-- Endorsement -->
|
|
|
|
<ion-item-group *ngIf="badge.endorsement">
|
|
|
|
<ion-item-divider color="light">
|
|
|
|
<h2>{{ 'addon.badges.bendorsement' | translate}}</h2>
|
|
|
|
</ion-item-divider>
|
|
|
|
<ion-item text-wrap *ngIf="badge.endorsement.issuername">
|
|
|
|
<h2>{{ 'addon.badges.issuername' | translate}}</h2>
|
|
|
|
<p>{{ badge.endorsement.issuername }}</p>
|
|
|
|
</ion-item>
|
|
|
|
<ion-item text-wrap *ngIf="badge.endorsement.issueremail">
|
|
|
|
<h2>{{ 'addon.badges.issueremail' | translate}}</h2>
|
|
|
|
<p><a href="mailto:{{badge.endorsement.issueremail}}" core-link auto-login="no">
|
|
|
|
<core-format-text [text]="badge.endorsement.issueremail"></core-format-text>
|
|
|
|
</a></p>
|
|
|
|
</ion-item>
|
|
|
|
<ion-item text-wrap *ngIf="badge.endorsement.issuerurl">
|
|
|
|
<h2>{{ 'addon.badges.issuerurl' | translate}}</h2>
|
|
|
|
<p><a [href]="badge.endorsement.issuerurl" core-link auto-login="no">
|
|
|
|
<core-format-text [text]="badge.endorsement.issuerurl"></core-format-text>
|
|
|
|
</a></p>
|
|
|
|
</ion-item>
|
|
|
|
<ion-item text-wrap *ngIf="badge.endorsement.dateissued">
|
|
|
|
<h2>{{ 'addon.badges.dateawarded' | translate}}</h2>
|
|
|
|
<p>{{ badge.endorsement.dateissued | coreToLocaleString }}</p>
|
|
|
|
</ion-item>
|
|
|
|
<ion-item text-wrap *ngIf="badge.endorsement.claimid">
|
|
|
|
<h2>{{ 'addon.badges.claimid' | translate}}</h2>
|
|
|
|
<p><a [href]="badge.endorsement.claimid" core-link auto-login="no">
|
|
|
|
<core-format-text [text]="badge.endorsement.claimid"></core-format-text>
|
|
|
|
</a></p>
|
|
|
|
</ion-item>
|
|
|
|
<ion-item text-wrap *ngIf="badge.endorsement.claimcomment">
|
|
|
|
<h2>{{ 'addon.badges.claimcomment' | translate}}</h2>
|
|
|
|
<p>
|
|
|
|
<core-format-text [text]="badge.endorsement.claimcomment"></core-format-text>
|
|
|
|
</p>
|
|
|
|
</ion-item>
|
|
|
|
</ion-item-group>
|
|
|
|
<ion-item-group *ngIf="badge.relatedbadges && !badge.endorsement">
|
|
|
|
<ion-item-divider color="light">
|
|
|
|
<h2>{{ 'addon.badges.bendorsement' | translate}}</h2>
|
|
|
|
</ion-item-divider>
|
|
|
|
<ion-item text-wrap>
|
|
|
|
<h2>{{ 'addon.badges.noendorsement' | translate}}</h2>
|
|
|
|
</ion-item>
|
|
|
|
</ion-item-group>
|
|
|
|
|
|
|
|
<!-- Related badges -->
|
|
|
|
<ion-item-group *ngIf="badge.relatedbadges">
|
|
|
|
<ion-item-divider color="light">
|
|
|
|
<h2>{{ 'addon.badges.relatedbages' | translate}}</h2>
|
|
|
|
</ion-item-divider>
|
|
|
|
<ion-item text-wrap *ngFor="let relatedBadge of badge.relatedbadges">
|
|
|
|
<h2><core-format-text [text]="relatedBadge.name"></core-format-text></h2>
|
|
|
|
</ion-item>
|
|
|
|
<ion-item text-wrap *ngIf="badge.relatedbadges.length == 0">
|
|
|
|
<h2>{{ 'addon.badges.norelated' | translate}}</h2>
|
|
|
|
</ion-item>
|
|
|
|
</ion-item-group>
|
|
|
|
|
|
|
|
<!-- Competencies alignment -->
|
|
|
|
<ion-item-group *ngIf="badge.competencies">
|
|
|
|
<ion-item-divider color="light">
|
|
|
|
<h2>{{ 'addon.badges.alignment' | translate}}</h2>
|
|
|
|
</ion-item-divider>
|
|
|
|
<a ion-item text-wrap *ngFor="let competency of badge.competencies" [href]="competency.targeturl" core-link auto-login="no">
|
|
|
|
<h2><core-format-text [text]="competency.targetname"></core-format-text></h2>
|
|
|
|
</a>
|
|
|
|
<ion-item text-wrap *ngIf="badge.competencies.length == 0">
|
|
|
|
<h2>{{ 'addon.badges.noalignment' | translate}}</h2>
|
2018-02-26 10:38:18 +01:00
|
|
|
</ion-item>
|
|
|
|
</ion-item-group>
|
2018-02-14 22:26:16 +01:00
|
|
|
</core-loading>
|
|
|
|
</ion-content>
|