Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

myAchievements: resume generator (fixes #7441) #7445

Open
wants to merge 9 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Add a form to collect additional data
  • Loading branch information
Mutugiii committed May 24, 2024
commit 6ca2f87ea1a27d5ede8aebd21e89ec6ea33b1ea3
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
<span *ngIf="user?.firstName; else elseBlock">{{ user.firstName}} {{user.middleName}} {{user.lastName }}</span>
<ng-template #elseBlock>{{ user.name }}</ng-template>
<span class="toolbar-fill"></span>
<a mat-raised-button color="accent" style="margin-right: 1rem;" (click)="generateResume()" *ngIf="ownAchievements">
<a mat-raised-button color="accent" style="margin-right: 1rem;" (click)="openGenerateResumeDialog()" *ngIf="ownAchievements">
<span i18n>Create Resumé</span>
</a>
<a mat-raised-button color="accent" routerLink="update" *ngIf="ownAchievements"><mat-icon>mode_edit</mat-icon>
Expand Down
26 changes: 25 additions & 1 deletion src/app/users/users-achievements/users-achievements.component.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
import { Component, OnInit, ViewEncapsulation } from '@angular/core';
import { Router, ActivatedRoute, ParamMap } from '@angular/router';
import { FormBuilder } from '@angular/forms';
import { CouchService } from '../../shared/couchdb.service';
import { UserService } from '../../shared/user.service';
import { PlanetMessageService } from '../../shared/planet-message.service';
Expand All @@ -10,6 +11,7 @@ import { StateService } from '../../shared/state.service';
import { CoursesService } from '../../courses/courses.service';
import { CertificationsService } from '../../manager-dashboard/certifications/certifications.service';
import { ChatService } from '../../shared/chat.service';
import { DialogsFormService } from '../../shared/dialogs/dialogs-form.service';

const pdfMake = require('pdfmake/build/pdfmake');
const pdfFonts = require('pdfmake/build/vfs_fonts');
Expand All @@ -31,6 +33,8 @@ export class UsersAchievementsComponent implements OnInit {
constructor(
private chatService: ChatService,
private couchService: CouchService,
private dialogsFormService: DialogsFormService,
private fb: FormBuilder,
private userService: UserService,
private router: Router,
private route: ActivatedRoute,
Expand Down Expand Up @@ -114,7 +118,26 @@ export class UsersAchievementsComponent implements OnInit {
});
}

generateResume() {
openGenerateResumeDialog() {
this.dialogsFormService.openDialogsForm(
$localize`Generate Resume`,
[
{ 'type': 'markdown', 'name': 'education', 'placeholder': $localize`Education`, 'required': false },
{ 'type': 'markdown', 'name': 'experience', 'placeholder': $localize`Experience`, 'required': false },
{ 'type': 'markdown', 'name': 'skills', 'placeholder': $localize`Skills`, 'required': false },
{ 'type': 'markdown', 'name': 'additional', 'placeholder': $localize`Additional Info`, 'required': false }
],
this.fb.group({
education: [ '' ],
experience: [ '' ],
skills: [ '' ],
additional: [ '' ]
}),
{ onSubmit: this.generateResume.bind(this), closeOnSubmit: true }
);
}

generateResume(formData) {
const { email, firstName, middleName, lastName, language, phoneNumber } = this.user;
const { achievements, achievementsHeader, goals, purpose, references } = this.achievements;

Expand All @@ -136,6 +159,7 @@ export class UsersAchievementsComponent implements OnInit {
achievements: ${achievementsHeader} - ${achievements}
goals: ${goals}
purpose: ${purpose}
${formData ? `User-filled form data ${formData}` : ''}

references: ${formatReferences(references)}

Expand Down
Loading