Skip to content

Commit

Permalink
Merge branch 'master' into 8258-home-nation-planets-have-a-different-…
Browse files Browse the repository at this point in the history
…home-icon
  • Loading branch information
dogi authored Feb 25, 2025
2 parents 304faf0 + 9f26eaf commit ce0c0d8
Show file tree
Hide file tree
Showing 4 changed files with 87 additions and 68 deletions.
2 changes: 1 addition & 1 deletion src/app/submissions/submissions.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@ export class SubmissionsService {
const answerIndexes = this.answerIndexes(questionTexts, submission);
return {
'Gender': submission.user.gender || 'N/A',
'Age (years)': submission.user.birthDate ? ageFromBirthDate(time, submission.user.birthDate) : 'N/A',
'Age (years)': submission.user.birthDate ? ageFromBirthDate(time, submission.user.birthDate) : submission.user.age || 'N/A',
'Planet': submission.source,
'Date': submission.lastUpdateTime,
...questionTexts.reduce((answerObj, text, index) => ({
Expand Down
7 changes: 4 additions & 3 deletions src/app/teams/teams-view-finances.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,17 @@
<div class="transaction-buttons">
<button mat-raised-button color="primary" i18n (click)="openEditTransactionDialog()" *ngIf="editable">Add Transaction</button>
<button mat-raised-button color="primary" i18n (click)="resetDateFilter()" [disabled]="table.filter === ''">View All Transactions</button>
<button class="margin-lr-10" color="accent" mat-raised-button i18n (click)="exportTableData()" *ngIf="!emptyTable">Export Transactions</button>
<button mat-raised-button color="accent" i18n (click)="exportTableData()" *ngIf="!emptyTable">Export Transactions</button>
</div>
<div class="transaction-date-fields">
<mat-form-field>
<input matInput [matDatepicker]="dateFilterStart" [(ngModel)]="startDate" (dateInput)="transactionFilter()" i18n-placeholder placeholder="Pick Start Date">
<input matInput [matDatepicker]="dateFilterStart" [(ngModel)]="startDate" (dateInput)="transactionFilter()" i18n-placeholder placeholder="Pick Start Date" [max]="endDate">
<mat-datepicker-toggle matSuffix [for]="dateFilterStart"></mat-datepicker-toggle>
<mat-datepicker #dateFilterStart></mat-datepicker>
<mat-error i18n *ngIf="startDate > endDate">Start date must be before end date</mat-error>
</mat-form-field>
<mat-form-field>
<input matInput [matDatepicker]="dateFilterEnd" [(ngModel)]="endDate" (dateInput)="transactionFilter()" i18n-placeholder placeholder="Pick End Date">
<input matInput [matDatepicker]="dateFilterEnd" [(ngModel)]="endDate" (dateInput)="transactionFilter()" i18n-placeholder placeholder="Pick End Date" [min]="startDate">
<mat-datepicker-toggle matSuffix [for]="dateFilterEnd"></mat-datepicker-toggle>
<mat-datepicker #dateFilterEnd></mat-datepicker>
</mat-form-field>
Expand Down
144 changes: 80 additions & 64 deletions src/app/users/users-update/users-update.component.html
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<mat-toolbar>
<button mat-icon-button (click)="goBack()">
<button mat-icon-button (click)="goBack()" *ngIf="!submissionMode">
<mat-icon>arrow_back</mat-icon>
</button>
<ng-container [ngSwitch]="submissionMode">
Expand All @@ -11,73 +11,76 @@
<div class="space-container">
<mat-toolbar class="primary-color font-size-1">
<span>{{user.name}}</span>
<span *ngIf="submissionMode" i18n>Optional user info form</span>
</mat-toolbar>
<div class="view-container">
<div class="form-container">
<form [formGroup]="editForm" class="form-space" (ngSubmit)="onSubmit()">
<div class="profile-names">
<mat-form-field>
<input matInput i18n-placeholder placeholder="First Name" formControlName="firstName"
[required]="!submissionMode">
<mat-error>
<planet-form-error-messages [control]="editForm.controls.firstName"></planet-form-error-messages>
</mat-error>
</mat-form-field>
<mat-form-field>
<input matInput i18n-placeholder placeholder="Middle Name" formControlName="middleName">
</mat-form-field>
<mat-form-field>
<input matInput i18n-placeholder placeholder="Last Name" formControlName="lastName"
[required]="!submissionMode">
<mat-error>
<planet-form-error-messages [control]="editForm.controls.lastName"></planet-form-error-messages>
</mat-error>
</mat-form-field>
</div>
<div class="profile-contacts">
<mat-form-field>
<input matInput i18n-placeholder placeholder="Email" formControlName="email" [required]="!submissionMode">
<mat-error>
<planet-form-error-messages [control]="editForm.controls.email"></planet-form-error-messages>
</mat-error>
</mat-form-field>
<mat-form-field>
<input matInput i18n-placeholder placeholder="Phone Number" formControlName="phoneNumber"
[required]="!submissionMode">
<mat-error>
<planet-form-error-messages [control]="editForm.controls.phoneNumber"></planet-form-error-messages>
</mat-error>
</mat-form-field>
<mat-form-field>
<input matInput [matDatepicker]="dp" i18n-placeholder placeholder="Birthdate" formControlName="birthDate"
[required]="!submissionMode" [min]="minBirthDate">
<mat-datepicker-toggle matSuffix [for]="dp"></mat-datepicker-toggle>
<mat-datepicker #dp></mat-datepicker>
<mat-error>
<planet-form-error-messages [control]="editForm.controls.birthDate"></planet-form-error-messages>
</mat-error>
</mat-form-field>
</div>
<div class="profile-dropdowns">
<mat-form-field>
<mat-select i18n-placeholder placeholder="Language" formControlName="language" [required]="!submissionMode">
<mat-option *ngFor="let language of languages" [value]="language.name">
{{language.name}}
</mat-option>
</mat-select>
<mat-error>
<planet-form-error-messages [control]="editForm.controls.language"></planet-form-error-messages>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-select i18n-placeholder placeholder="level" formControlName="level" [required]="!submissionMode">
<mat-option *ngFor="let level of educationLevel" [value]="level.value">{{level.label}}</mat-option>
</mat-select>
<mat-error>
<planet-form-error-messages [control]="editForm.controls.level"></planet-form-error-messages>
</mat-error>
</mat-form-field>
</div>
<ng-container *ngIf="!submissionMode || (submissionMode && showAdditionalFields)">
<div class="profile-names">
<mat-form-field>
<input matInput i18n-placeholder placeholder="First Name" formControlName="firstName"
[required]="!submissionMode">
<mat-error>
<planet-form-error-messages [control]="editForm.controls.firstName"></planet-form-error-messages>
</mat-error>
</mat-form-field>
<mat-form-field>
<input matInput i18n-placeholder placeholder="Middle Name" formControlName="middleName">
</mat-form-field>
<mat-form-field>
<input matInput i18n-placeholder placeholder="Last Name" formControlName="lastName"
[required]="!submissionMode">
<mat-error>
<planet-form-error-messages [control]="editForm.controls.lastName"></planet-form-error-messages>
</mat-error>
</mat-form-field>
</div>
<div class="profile-contacts">
<mat-form-field>
<input matInput i18n-placeholder placeholder="Email" formControlName="email" [required]="!submissionMode">
<mat-error>
<planet-form-error-messages [control]="editForm.controls.email"></planet-form-error-messages>
</mat-error>
</mat-form-field>
<mat-form-field>
<input matInput i18n-placeholder placeholder="Phone Number" formControlName="phoneNumber"
[required]="!submissionMode">
<mat-error>
<planet-form-error-messages [control]="editForm.controls.phoneNumber"></planet-form-error-messages>
</mat-error>
</mat-form-field>
<mat-form-field>
<input matInput [matDatepicker]="dp" i18n-placeholder placeholder="Birthdate" formControlName="birthDate"
[required]="!submissionMode" [min]="minBirthDate">
<mat-datepicker-toggle matSuffix [for]="dp"></mat-datepicker-toggle>
<mat-datepicker #dp></mat-datepicker>
<mat-error>
<planet-form-error-messages [control]="editForm.controls.birthDate"></planet-form-error-messages>
</mat-error>
</mat-form-field>
</div>
<div class="profile-dropdowns">
<mat-form-field>
<mat-select i18n-placeholder placeholder="Language" formControlName="language" [required]="!submissionMode">
<mat-option *ngFor="let language of languages" [value]="language.name">
{{language.name}}
</mat-option>
</mat-select>
<mat-error>
<planet-form-error-messages [control]="editForm.controls.language"></planet-form-error-messages>
</mat-error>
</mat-form-field>
<mat-form-field>
<mat-select i18n-placeholder placeholder="level" formControlName="level" [required]="!submissionMode">
<mat-option *ngFor="let level of educationLevel" [value]="level.value">{{level.label}}</mat-option>
</mat-select>
<mat-error>
<planet-form-error-messages [control]="editForm.controls.level"></planet-form-error-messages>
</mat-error>
</mat-form-field>
</div>
</ng-container>
<mat-radio-group class="radio-group" formControlName="gender" [required]="!submissionMode" class="full-width">
<label i18n>Gender</label>
<mat-radio-button class="planet-radio-button" value="male">
Expand All @@ -101,6 +104,19 @@
Enable Beta features
</mat-slide-toggle>
</mat-radio-group>
<ng-container *ngIf="submissionMode">
<ng-container *ngIf="!showAdditionalFields">
<mat-form-field>
<input matInput i18n-placeholder placeholder="Age" type="number" formControlName="age" [required]="false">
<mat-error>
<planet-form-error-messages [control]="editForm.controls.age"></planet-form-error-messages>
</mat-error>
</mat-form-field>
</ng-container>
<button mat-button type="button" (click)="showAdditionalFields = !showAdditionalFields">
{{ showAdditionalFields ? 'Hide Additional Fields' : 'Show Additional Fields' }}
</button>
</ng-container>
<div class="action-buttons">
<button type="submit" mat-raised-button [planetSubmit]="editForm.valid" color="primary" i18n>Update</button>
<button type="button" mat-raised-button color="warn" (click)="goBack()" i18n>Cancel</button>
Expand Down
2 changes: 2 additions & 0 deletions src/app/users/users-update/users-update.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ export class UsersUpdateComponent implements OnInit, CanComponentDeactivate {
roles: string[] = [];
languages = languages;
submissionMode = false;
showAdditionalFields = false;
planetConfiguration = this.stateService.configuration;
ngxImgConfig = { crop: [ { ratio: 1 } ], fileType: [ 'image/gif', 'image/jpeg', 'image/png' ] };
minBirthDate: Date = this.userService.minBirthDate;
Expand Down Expand Up @@ -125,6 +126,7 @@ export class UsersUpdateComponent implements OnInit, CanComponentDeactivate {
this.conditionalValidator(CustomValidators.dateValidRequired).bind(this),
ac => this.validatorService.notDateInFuture$(ac)
],
age: [ '', [ Validators.min(0), Validators.max(120) ] ],
gender: [ '', this.conditionalValidator(Validators.required).bind(this) ],
level: [ '', this.conditionalValidator(Validators.required).bind(this) ],
betaEnabled: false
Expand Down

0 comments on commit ce0c0d8

Please sign in to comment.