Merge pull request #1937 from crazyserver/MOBILE-3038
MOBILE-3038 competency: Adapt information to new fields show on webmain
commit
b13e707fb1
|
@ -111,9 +111,11 @@
|
|||
"addon.competency.myplans": "tool_lp",
|
||||
"addon.competency.noactivities": "tool_lp",
|
||||
"addon.competency.nocompetencies": "local_moodlemobileapp",
|
||||
"addon.competency.nocompetenciesincourse": "tool_lp",
|
||||
"addon.competency.nocrossreferencedcompetencies": "tool_lp",
|
||||
"addon.competency.noevidence": "tool_lp",
|
||||
"addon.competency.noplanswerecreated": "tool_lp",
|
||||
"addon.competency.nouserplanswithcompetency": "competency",
|
||||
"addon.competency.path": "tool_lp",
|
||||
"addon.competency.planstatusactive": "competency",
|
||||
"addon.competency.planstatuscomplete": "competency",
|
||||
|
@ -126,6 +128,7 @@
|
|||
"addon.competency.reviewstatus": "tool_lp",
|
||||
"addon.competency.status": "tool_lp",
|
||||
"addon.competency.template": "tool_lp",
|
||||
"addon.competency.uponcoursecompletion": "tool_lp",
|
||||
"addon.competency.usercompetencystatus_idle": "competency",
|
||||
"addon.competency.usercompetencystatus_inreview": "competency",
|
||||
"addon.competency.usercompetencystatus_waitingforreview": "competency",
|
||||
|
@ -1695,6 +1698,7 @@
|
|||
"core.settings.enablerichtexteditor": "local_moodlemobileapp",
|
||||
"core.settings.enablerichtexteditordescription": "local_moodlemobileapp",
|
||||
"core.settings.enablesyncwifi": "local_moodlemobileapp",
|
||||
"core.settings.entriesincache": "local_moodlemobileapp",
|
||||
"core.settings.errordeletesitefiles": "local_moodlemobileapp",
|
||||
"core.settings.errorsyncsite": "local_moodlemobileapp",
|
||||
"core.settings.estimatedfreespace": "local_moodlemobileapp",
|
||||
|
@ -1713,7 +1717,6 @@
|
|||
"core.settings.privacypolicy": "local_moodlemobileapp",
|
||||
"core.settings.pushid": "local_moodlemobileapp",
|
||||
"core.settings.reportinbackground": "local_moodlemobileapp",
|
||||
"core.settings.entriesincache": "local_moodlemobileapp",
|
||||
"core.settings.settings": "moodle",
|
||||
"core.settings.showdownloadoptions": "local_moodlemobileapp",
|
||||
"core.settings.sites": "moodle",
|
||||
|
|
|
@ -4,18 +4,19 @@
|
|||
</ion-refresher>
|
||||
<core-loading [hideUntil]="competenciesLoaded">
|
||||
<ion-card *ngIf="!user && competencies && competencies.statistics.competencycount > 0">
|
||||
<ion-item text-wrap *ngIf="competencies.settings.pushratingstouserplans">
|
||||
{{ 'addon.competency.coursecompetencyratingsarepushedtouserplans' | translate }}
|
||||
</ion-item>
|
||||
<ion-item text-wrap *ngIf="!competencies.settings.pushratingstouserplans">
|
||||
{{ 'addon.competency.coursecompetencyratingsarenotpushedtouserplans' | translate }}
|
||||
</ion-item>
|
||||
<ion-item text-wrap>
|
||||
<strong>{{ 'addon.competency.progress' | translate }}</strong>:
|
||||
{{ 'addon.competency.xcompetenciesproficientoutofyincourse' | translate:{$a: {x: competencies.statistics.proficientcompetencycount, y: competencies.statistics.competencycount} } }} ({{ competencies.statistics.proficientcompetencypercentageformatted }}%)
|
||||
<ng-container *ngIf="competencies.cangradecompetencies">
|
||||
<ion-item text-wrap *ngIf="competencies.settings.pushratingstouserplans">
|
||||
{{ 'addon.competency.coursecompetencyratingsarepushedtouserplans' | translate }}
|
||||
</ion-item>
|
||||
<ion-item text-wrap *ngIf="!competencies.settings.pushratingstouserplans" color="danger">
|
||||
{{ 'addon.competency.coursecompetencyratingsarenotpushedtouserplans' | translate }}
|
||||
</ion-item>
|
||||
</ng-container>
|
||||
<ion-item text-wrap *ngIf="competencies.statistics.canbegradedincourse">
|
||||
{{ 'addon.competency.xcompetenciesproficientoutofyincourse' | translate:{$a: {x: competencies.statistics.proficientcompetencycount, y: competencies.statistics.competencycount} } }}
|
||||
<core-progress-bar [progress]="competencies.statistics.proficientcompetencypercentage"></core-progress-bar>
|
||||
</ion-item>
|
||||
<ion-item text-wrap *ngIf="competencies.statistics.leastproficientcount > 0">
|
||||
<ion-item text-wrap *ngIf="competencies.statistics.canmanagecoursecompetencies && competencies.statistics.leastproficientcount > 0">
|
||||
<strong>{{ 'addon.competency.competenciesmostoftennotproficientincourse' | translate }}</strong>:
|
||||
<p *ngFor="let comp of competencies.statistics.leastproficient">
|
||||
<a (click)="openCompetencySummary(comp.id)">
|
||||
|
@ -25,42 +26,63 @@
|
|||
</ion-item>
|
||||
</ion-card>
|
||||
|
||||
<h3 margin-horizontal *ngIf="competencies && competencies.statistics.competencycount > 0">{{ 'addon.competency.competencies' | translate }}</h3>
|
||||
<h3 margin-horizontal *ngIf="competencies && competencies.statistics.competencycount > 0">{{ 'addon.competency.coursecompetencies' | translate }}</h3>
|
||||
<ion-card *ngIf="user">
|
||||
<ion-item text-wrap>
|
||||
<ion-avatar core-user-avatar [user]="user" item-start></ion-avatar>
|
||||
<h2><core-format-text [text]="user.fullname"></core-format-text></h2>
|
||||
</ion-item>
|
||||
</ion-card>
|
||||
<core-empty-box *ngIf="competencies && competencies.statistics.competencycount == 0" icon="ribbon" message="{{ 'addon.competency.nocompetencies' | translate }}"></core-empty-box>
|
||||
<core-empty-box *ngIf="competencies && competencies.statistics.competencycount == 0" icon="ribbon" message="{{ 'addon.competency.nocompetenciesincourse' | translate }}"></core-empty-box>
|
||||
|
||||
<div *ngIf="competencies">
|
||||
<ion-card *ngFor="let competency of competencies.competencies">
|
||||
<a ion-item text-wrap (click)="openCompetency(competency.competency.id)" [title]="competency.competency.shortname">
|
||||
{{competency.competency.shortname}} <small>{{competency.competency.idnumber}}</small>
|
||||
<ion-item text-wrap (click)="openCompetency(competency.competency.id)" [title]="competency.competency.shortname" detail-push>
|
||||
<h2><strong>{{competency.competency.shortname}} <em>{{competency.competency.idnumber}}</em></strong></h2>
|
||||
<ion-badge item-end *ngIf="competency.usercompetencycourse && competency.usercompetencycourse.gradename" [color]="competency.usercompetencycourse.proficiency ? 'success' : 'danger'">{{ competency.usercompetencycourse.gradename }}</ion-badge>
|
||||
</a>
|
||||
</ion-item>
|
||||
<ion-item text-wrap>
|
||||
<div *ngIf="competency.competency.description">
|
||||
<p *ngIf="competency.competency.description">
|
||||
<core-format-text [text]=" competency.competency.description "></core-format-text>
|
||||
</div>
|
||||
</p>
|
||||
<div>
|
||||
<strong>{{ 'addon.competency.path' | translate }}</strong>
|
||||
{{ competency.comppath.framework.name }}
|
||||
<a *ngIf="competency.comppath.showlinks" [href]="competency.comppath.pluginbaseurl + '/competencies.php?competencyframeworkid=' + competency.comppath.framework.id + '&pagecontextid=' + competency.comppath.pagecontextid" core-link [title]="competency.comppath.framework.name">{{ competency.comppath.framework.name }}</a>
|
||||
<ng-container *ngIf="!competency.comppath.showlinks">{{ competency.comppath.framework.name }}</ng-container>
|
||||
/
|
||||
<span *ngFor="let ancestor of competency.comppath.ancestors">
|
||||
/ <a (click)="openCompetencySummary(ancestor.id)">{{ ancestor.name }}</a>
|
||||
<a *ngIf="competency.comppath.showlinks" (click)="openCompetencySummary(ancestor.id)">{{ ancestor.name }}</a>
|
||||
<ng-container *ngIf="!competency.comppath.showlinks">{{ ancestor.name }}</ng-container>
|
||||
<ng-container *ngIf="!ancestor.last"> / </ng-container>
|
||||
</span>
|
||||
</div>
|
||||
<div *ngIf="competencies.statistics.canmanagecoursecompetencies">
|
||||
<strong>{{ 'addon.competency.uponcoursecompletion' | translate }}</strong>
|
||||
<ng-container *ngFor="let ruleoutcome of competency.ruleoutcomeoptions">
|
||||
<span *ngIf="ruleoutcome.selected">
|
||||
<core-format-text [text]="ruleoutcome.text"></core-format-text>
|
||||
</span>
|
||||
</ng-container>
|
||||
</div>
|
||||
<div>
|
||||
<strong>{{ 'addon.competency.activities' | translate }}</strong>:
|
||||
<span *ngIf="competency.coursemodules.length == 0">
|
||||
<strong>{{ 'addon.competency.activities' | translate }}</strong>
|
||||
<p *ngIf="competency.coursemodules.length == 0">
|
||||
{{ 'addon.competency.noactivities' | translate }}
|
||||
</span>
|
||||
<a ion-item text-wrap *ngFor="let activity of competency.coursemodules" [href]="activity.url" [title]="activity.name" core-link capture="true">
|
||||
</p>
|
||||
<a ion-item text-wrap *ngFor="let activity of competency.coursemodules" [href]="activity.url" [title]="activity.name" core-link capture="true" class="core-course-module-handler item-media">
|
||||
<img item-start [src]="activity.iconurl" core-external-content alt="" role="presentation" *ngIf="activity.iconurl" class="core-module-icon">
|
||||
<core-format-text [text]="activity.name"></core-format-text>
|
||||
</a>
|
||||
</div>
|
||||
<div *ngIf="competency.plans">
|
||||
<strong>{{ 'addon.competency.userplans' | translate }}</strong>
|
||||
<p *ngIf="competency.plans.length == 0">
|
||||
{{ 'addon.competency.nouserplanswithcompetency' | translate }}
|
||||
</p>
|
||||
<a ion-item text-wrap *ngFor="let plan of competency.plans" [href]="plan.url" [title]="plan.name" core-link capture="true">
|
||||
<core-format-text [text]="plan.name"></core-format-text>
|
||||
</a>
|
||||
</div>
|
||||
</ion-item>
|
||||
</ion-card>
|
||||
</div>
|
||||
|
|
|
@ -23,9 +23,11 @@
|
|||
"myplans": "My learning plans",
|
||||
"noactivities": "No activities",
|
||||
"nocompetencies": "No competencies",
|
||||
"nocompetenciesincourse": "No competencies have been linked to this course.",
|
||||
"nocrossreferencedcompetencies": "No other competencies have been cross-referenced to this competency.",
|
||||
"noevidence": "No evidence",
|
||||
"noplanswerecreated": "No learning plans were created.",
|
||||
"nouserplanswithcompetency": "No learning plans contain this competency.",
|
||||
"path": "Path:",
|
||||
"planstatusactive": "Active",
|
||||
"planstatuscomplete": "Complete",
|
||||
|
@ -38,6 +40,7 @@
|
|||
"reviewstatus": "Review status",
|
||||
"status": "Status",
|
||||
"template": "Learning plan template",
|
||||
"uponcoursecompletion": "Upon course completion:",
|
||||
"usercompetencystatus_idle": "Idle",
|
||||
"usercompetencystatus_inreview": "In review",
|
||||
"usercompetencystatus_waitingforreview": "Waiting for review",
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
<core-loading [hideUntil]="competenciesLoaded">
|
||||
<ion-list>
|
||||
<a ion-item text-wrap *ngFor="let competency of competencies" [title]="competency.competency.shortname" (click)="openCompetency(competency.competency.id)" [class.core-split-item-selected]="competency.competency.id == competencyId">
|
||||
{{ competency.competency.shortname }} <small>{{competency.competency.idnumber}}</small>
|
||||
<h2>{{ competency.competency.shortname }} <em>{{competency.competency.idnumber}}</em></h2>
|
||||
<ion-badge item-end *ngIf="competency.usercompetency" [color]="competency.usercompetency.proficiency ? 'success' : 'danger'">{{ competency.usercompetency.gradename }}</ion-badge>
|
||||
<ion-badge item-end *ngIf="competency.usercompetencycourse" [color]="competency.usercompetencycourse.proficiency ? 'success' : 'danger'">{{ competency.usercompetencycourse.gradename }}</ion-badge>
|
||||
</a>
|
||||
|
|
|
@ -21,9 +21,13 @@
|
|||
</ion-item>
|
||||
<ion-item text-wrap>
|
||||
<strong>{{ 'addon.competency.path' | translate }}</strong>
|
||||
{{ competency.competency.comppath.framework.name }}
|
||||
<a *ngIf="competency.competency.comppath.showlinks" [href]="competency.competency.comppath.pluginbaseurl + '/competencies.php?competencyframeworkid=' + competency.competency.comppath.framework.id + '&pagecontextid=' + competency.competency.comppath.pagecontextid" core-link [title]="competency.competency.comppath.framework.name">{{ competency.competency.comppath.framework.name }}</a>
|
||||
<ng-container *ngIf="!competency.competency.comppath.showlinks">{{ competency.competency.comppath.framework.name }}</ng-container>
|
||||
/
|
||||
<span *ngFor="let ancestor of competency.competency.comppath.ancestors">
|
||||
/ <a (click)="openCompetencySummary(ancestor.id)">{{ ancestor.name }}</a>
|
||||
<a *ngIf="competency.competency.comppath.showlinks" (click)="openCompetencySummary(ancestor.id)">{{ ancestor.name }}</a>
|
||||
<ng-container *ngIf="!competency.competency.comppath.showlinks">{{ ancestor.name }}</ng-container>
|
||||
<ng-container *ngIf="!ancestor.last"> / </ng-container>
|
||||
</span>
|
||||
</ion-item>
|
||||
<ion-item text-wrap>
|
||||
|
@ -38,21 +42,21 @@
|
|||
</div>
|
||||
</ion-item>
|
||||
<ion-item text-wrap *ngIf="coursemodules">
|
||||
<strong>{{ 'addon.competency.activities' | translate }}</strong>:
|
||||
<span *ngIf="coursemodules.length == 0">
|
||||
<strong>{{ 'addon.competency.activities' | translate }}</strong>
|
||||
<p *ngIf="coursemodules.length == 0">
|
||||
{{ 'addon.competency.noactivities' | translate }}
|
||||
</span>
|
||||
</p>
|
||||
<a ion-item text-wrap *ngFor="let activity of coursemodules" [href]="activity.url" [title]="activity.name" core-link capture="true">
|
||||
<img item-start core-external-content [src]="activity.iconurl" alt="" role="presentation" *ngIf="activity.iconurl" class="core-module-icon">
|
||||
<core-format-text [text]="activity.name"></core-format-text>
|
||||
</a>
|
||||
</ion-item>
|
||||
<ion-item text-wrap *ngIf="competency.usercompetency.status">
|
||||
<strong>{{ 'addon.competency.reviewstatus' | translate }}</strong>:
|
||||
<strong>{{ 'addon.competency.reviewstatus' | translate }}</strong>
|
||||
{{ competency.usercompetency.statusname }}
|
||||
</ion-item>
|
||||
<ion-item text-wrap>
|
||||
<strong>{{ 'addon.competency.proficient' | translate }}</strong>:
|
||||
<strong>{{ 'addon.competency.proficient' | translate }}</strong>
|
||||
<ion-badge color="success" *ngIf="competency.usercompetency.proficiency">
|
||||
{{ 'core.yes' | translate }}
|
||||
</ion-badge>
|
||||
|
@ -61,7 +65,7 @@
|
|||
</ion-badge>
|
||||
</ion-item>
|
||||
<ion-item text-wrap>
|
||||
<strong>{{ 'addon.competency.rating' | translate }}</strong>:
|
||||
<strong>{{ 'addon.competency.rating' | translate }}</strong>
|
||||
<ion-badge color="dark">{{ competency.usercompetency.gradename }}</ion-badge>
|
||||
</ion-item>
|
||||
</ion-card>
|
||||
|
|
|
@ -16,6 +16,9 @@
|
|||
</ion-card>
|
||||
<ion-card *ngIf="plan">
|
||||
<ion-list>
|
||||
<ion-item text-wrap *ngIf="plan.plan.description">
|
||||
<core-format-text [text]="plan.plan.description"></core-format-text>
|
||||
</ion-item>
|
||||
<ion-item text-wrap>
|
||||
<strong>{{ 'addon.competency.status' | translate }}</strong>:
|
||||
{{ plan.plan.statusname }}
|
||||
|
@ -36,13 +39,13 @@
|
|||
</ion-list>
|
||||
</ion-card>
|
||||
<ion-card *ngIf="plan">
|
||||
<ion-card-header text-wrap>{{ 'addon.competency.learningplancompetencies' | translate }}</ion-card-header>
|
||||
<ion-card-header text-wrap><h2>{{ 'addon.competency.learningplancompetencies' | translate }}</h2></ion-card-header>
|
||||
<ion-list>
|
||||
<ion-item text-wrap *ngIf="plan.competencycount == 0">
|
||||
{{ 'addon.competency.nocompetencies' | translate }}
|
||||
</ion-item>
|
||||
<a ion-item text-wrap *ngFor="let competency of plan.competencies" (click)="openCompetency(competency.competency.id)" [title]="competency.competency.shortname">
|
||||
{{competency.competency.shortname}} <small>{{competency.competency.idnumber}}</small>
|
||||
<h2>{{competency.competency.shortname}} <em>{{competency.competency.idnumber}}</em></h2>
|
||||
<ion-badge item-end [color]="competency.usercompetency.proficiency ? 'success' : 'danger'">{{ competency.usercompetency.gradename }}</ion-badge>
|
||||
</a>
|
||||
</ion-list>
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<a ion-item text-wrap *ngFor="let plan of plans" [title]="plan.name" (click)="openPlan(plan.id)" [class.core-split-item-selected]="plan.id == planId">
|
||||
<h2>{{ plan.name }}</h2>
|
||||
<p *ngIf="plan.duedate > 0">{{ 'addon.competency.duedate' | translate }}: {{ plan.duedate * 1000 | coreFormatDate :'strftimedatetimeshort' }}</p>
|
||||
<ion-badge text-wrap [color]="plan.statuscolor">{{ plan.statusname }}</ion-badge>
|
||||
<ion-badge item-end text-wrap [color]="plan.statuscolor">{{ plan.statusname }}</ion-badge>
|
||||
</a>
|
||||
</ion-list>
|
||||
</core-loading>
|
||||
|
|
|
@ -111,9 +111,11 @@
|
|||
"addon.competency.myplans": "My learning plans",
|
||||
"addon.competency.noactivities": "No activities",
|
||||
"addon.competency.nocompetencies": "No competencies",
|
||||
"addon.competency.nocompetenciesincourse": "No competencies have been linked to this course.",
|
||||
"addon.competency.nocrossreferencedcompetencies": "No other competencies have been cross-referenced to this competency.",
|
||||
"addon.competency.noevidence": "No evidence",
|
||||
"addon.competency.noplanswerecreated": "No learning plans were created.",
|
||||
"addon.competency.nouserplanswithcompetency": "No learning plans contain this competency.",
|
||||
"addon.competency.path": "Path:",
|
||||
"addon.competency.planstatusactive": "Active",
|
||||
"addon.competency.planstatuscomplete": "Complete",
|
||||
|
@ -126,6 +128,7 @@
|
|||
"addon.competency.reviewstatus": "Review status",
|
||||
"addon.competency.status": "Status",
|
||||
"addon.competency.template": "Learning plan template",
|
||||
"addon.competency.uponcoursecompletion": "Upon course completion:",
|
||||
"addon.competency.usercompetencystatus_idle": "Idle",
|
||||
"addon.competency.usercompetencystatus_inreview": "In review",
|
||||
"addon.competency.usercompetencystatus_waitingforreview": "Waiting for review",
|
||||
|
|
Loading…
Reference in New Issue