Skip to content
Snippets Groups Projects
Commit fbf1b973 authored by florimondmanca's avatar florimondmanca
Browse files

more bug fixes

parent 193e5576
Branches
No related tags found
No related merge requests found
......@@ -68,11 +68,8 @@ export class OrganizerAdapter {
export class SimpleVisitAdapter {
private placeAdapter: PlaceAdapter;
constructor() {
this.placeAdapter = new PlaceAdapter();
}
private placeAdapter = new PlaceAdapter();
private participantAdapter = new ParticipantAdapter();
adapt(item: any): Visit {
const fromUserIds = (arr: number[]) => (arr || []).map(
......@@ -82,6 +79,9 @@ export class SimpleVisitAdapter {
visitId: item.id,
})
);
const participants = item.participants.map(
p => this.participantAdapter.adapt(p)
);
const place = this.placeAdapter.adapt({name: item.place});
return new Visit({
id: item.id,
......@@ -96,7 +96,7 @@ export class SimpleVisitAdapter {
deadline: new Date(item.deadline),
registrationsOpen: item.registrations_open,
image: item.image,
participants: fromUserIds(item.participants),
participants: participants,
organizers: fromUserIds(item.organizers),
})
}
......
......@@ -30,10 +30,14 @@
Inscrit
</span>
<span *ngIf="participant && !participant.accepted" class="badge badge-info">
<span *ngIf="participant && participant.accepted === null" class="badge badge-info">
En attente
</span>
<span *ngIf="participant && participant.accepted === false" class="badge badge-danger">
Inscription rejetée
</span>
</div>
</div>
......
......@@ -24,7 +24,10 @@ export class VisitCardComponent implements OnInit {
ngOnInit() {
this.participant$.subscribe(
(participant: Participant) => this.participant = participant
(participant: Participant) => {
this.participant = participant;
console.log(participant);
}
);
}
......
......@@ -35,9 +35,12 @@
<span *ngSwitchDefault>participes</span>
</span> à cette sortie.
</span>
<span *ngIf="!participant.accepted" class="badge badge-info badge-lg">
<span *ngIf="participant.accepted === null" class="badge badge-info badge-lg">
<i class="fa fa-info"></i> Ton inscription est en attente de validation par les organisateurs.
</span>
<span *ngIf="participant.accepted === false" class="badge badge-danger badge-lg">
<i class="fa fa-times"></i> Ton inscription a été rejetée.
</span>
</span>
</div>
......
......@@ -14,8 +14,9 @@ export class VisitsListComponent implements OnInit {
visits: Visit[];
_passed = false;
participations$ = new BehaviorSubject<Participant>(null);
participations$ = new BehaviorSubject<Participant[]>(null);
sub: Subscription = new Subscription();
userId: number;
constructor(
private visitService: VisitService,
......@@ -25,13 +26,10 @@ export class VisitsListComponent implements OnInit {
) { }
ngOnInit() {
this.userId = this.auth.getUser().id;
this.visits = this.route.snapshot.data['visits'];
this.visits.forEach(
visit => visit.participants.forEach(
p => this.participations$.next(p)
)
);
const userId = this.auth.getUser().id;
const participations = [].concat(...this.visits.map(v => v.participants));
this.participations$.next(participations);
this.sub.add(this.route.fragment.subscribe(
fragment => {
if (fragment === 'past') {
......@@ -60,7 +58,10 @@ export class VisitsListComponent implements OnInit {
userParticipant(visit: Visit): Observable<Participant> {
return this.participations$.pipe(
first((p: Participant) => p.visitId === visit.id),
map(ps => ps.filter(p => p.visitId === visit.id)),
map(ps => ps.filter(p => p.user.id === this.userId)),
map(ps => ps[0]),
tap(console.log),
);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment