From 5d02fc31678867ced2367318133915f35d1646e9 Mon Sep 17 00:00:00 2001 From: Tykayn Date: Tue, 18 May 2021 22:51:06 +0200 Subject: [PATCH] show expiracy day after creation --- mocks/newDatePollCreation.ts | 84 +++++++++++++++++++ mocks/old-stuff/config/defaultConfigs.ts | 14 ++-- .../core/services/date.utilities.service.ts | 8 +- src/app/core/services/poll.service.ts | 2 + .../form/date-select/date-select.component.ts | 4 +- .../form/date/list/day/day-list.component.ts | 8 +- .../success/success.component.html | 2 +- .../success/success.component.ts | 7 +- src/environments/environment.ts | 2 +- 9 files changed, 111 insertions(+), 20 deletions(-) create mode 100644 mocks/newDatePollCreation.ts diff --git a/mocks/newDatePollCreation.ts b/mocks/newDatePollCreation.ts new file mode 100644 index 00000000..581e9e2a --- /dev/null +++ b/mocks/newDatePollCreation.ts @@ -0,0 +1,84 @@ +export default { + allow_comments: true, + allowComments: true, + allowed_answers: [], + areResultsPublic: true, + choices: [], + choices_grouped: [], + comments: [], + creation_date: '2021-05-18T20:40:51.385Z', + custom_url: 'sdfsfdsfg', + dateChoices: [ + { + date_object: '2021-05-19T20:40:18.500Z', + literal: '2021-05-19', + timeSlices: {}, + }, + { + date_object: '2021-05-20T20:40:18.500Z', + literal: '2021-05-20', + timeSlices: {}, + }, + { + date_object: '2021-05-21T20:40:18.500Z', + literal: '2021-05-21', + timeSlices: {}, + }, + { + date_object: '2021-05-22T20:40:18.500Z', + literal: '2021-05-22', + timeSlices: {}, + }, + { + date_object: '2021-05-18T20:40:33.557Z', + literal: '', + timeSlices: [], + }, + { + date_object: '2021-05-18T20:40:33.557Z', + literal: '', + timeSlices: [], + }, + { + date_object: '2021-05-18T20:40:33.557Z', + literal: '', + timeSlices: [], + }, + ], + default_expiracy_days_from_now: 60, + description: 'RSVP', + has_several_hours: false, + hasSeveralHours: false, + id: 0, + is_zero_knowledge: false, + isMaybeAnswerAvailable: false, + isOwnerNotifiedByEmailOnNewComment: false, + isOwnerNotifiedByEmailOnNewVote: false, + kind: 'date', + max_count_of_answers: true, + maxCountOfAnswers: 150, + modification_policy: 'everybody', + owner: { + email: 'example@example.com', + polls: [], + pseudo: 'pseudo', + }, + password: '', + stacks: [], + timeSlices: [ + { + literal: 'matin', + }, + { + literal: 'midi', + }, + { + literal: 'après-midi', + }, + { + literal: 'soir', + }, + ], + title: 'sdfsfdsfg', + votes: [], +}; diff --git a/mocks/old-stuff/config/defaultConfigs.ts b/mocks/old-stuff/config/defaultConfigs.ts index 7edb36a5..80737489 100644 --- a/mocks/old-stuff/config/defaultConfigs.ts +++ b/mocks/old-stuff/config/defaultConfigs.ts @@ -1,6 +1,6 @@ export interface DateChoice { literal: string; - timeList: TimeSlices[]; + timeSlices: TimeSlices[]; date_object: Date; } @@ -47,17 +47,17 @@ export const defaultDates: DateChoice[] = [ { literal: `${currentYear}-${currentMonth}-${currentDay}`, date_object: new Date(), - timeList: defaultTimeOfDay, + timeSlices: defaultTimeOfDay, }, { literal: `${currentYear}-${currentMonth}-${currentDay + 1}`, date_object: new Date(), - timeList: defaultTimeOfDay, + timeSlices: defaultTimeOfDay, }, { literal: `${currentYear}-${currentMonth}-${currentDay + 2}`, date_object: new Date(), - timeList: defaultTimeOfDay, + timeSlices: defaultTimeOfDay, }, ]; @@ -65,17 +65,17 @@ export const otherDefaultDates: DateChoice[] = [ { literal: `${currentYear}-${currentMonth}-${currentDay}`, date_object: new Date(), - timeList: defaultTimeOfDay, + timeSlices: defaultTimeOfDay, }, { literal: `${currentYear}-${currentMonth}-${currentDay + 1}`, date_object: new Date(currentYear, currentMonth, currentDay + 1), - timeList: otherTimeOfDay, + timeSlices: otherTimeOfDay, }, { literal: `${currentYear}-${currentMonth}-${currentDay + 2}`, date_object: new Date(), - timeList: moreTimeOfDay, + timeSlices: moreTimeOfDay, }, ]; export const defaultAnswers: PollAnswer[] = [ diff --git a/src/app/core/services/date.utilities.service.ts b/src/app/core/services/date.utilities.service.ts index d60d9391..0b3f2ba7 100644 --- a/src/app/core/services/date.utilities.service.ts +++ b/src/app/core/services/date.utilities.service.ts @@ -104,22 +104,22 @@ export class DateUtilitiesService { return [ { literal: this.formateDateToInputStringNg(ladate), - timeList: Object.create(defaultTimeOfDay), + timeSlices: Object.create(defaultTimeOfDay), date_object: ladate, }, { literal: this.formateDateToInputStringNg(ladate2), - timeList: Object.create(defaultTimeOfDay), + timeSlices: Object.create(defaultTimeOfDay), date_object: ladate2, }, { literal: this.formateDateToInputStringNg(ladate3), - timeList: Object.create(defaultTimeOfDay), + timeSlices: Object.create(defaultTimeOfDay), date_object: ladate3, }, { literal: this.formateDateToInputStringNg(ladate4), - timeList: Object.create(defaultTimeOfDay), + timeSlices: Object.create(defaultTimeOfDay), date_object: ladate4, }, ]; diff --git a/src/app/core/services/poll.service.ts b/src/app/core/services/poll.service.ts index 729d24d0..72241e7c 100644 --- a/src/app/core/services/poll.service.ts +++ b/src/app/core/services/poll.service.ts @@ -14,6 +14,7 @@ import { HttpClient } from '@angular/common/http'; import { environment } from '../../../environments/environment'; import { StorageService } from './storage.service'; import { Title } from '@angular/platform-browser'; +import { DateUtilitiesService } from './date.utilities.service'; @Injectable({ providedIn: 'root', @@ -29,6 +30,7 @@ export class PollService implements Resolve { private storageService: StorageService, private userService: UserService, private uuidService: UuidService, + private dateUtils: DateUtilitiesService, private titleService: Title, private toastService: ToastService ) { diff --git a/src/app/features/administration/form/date-select/date-select.component.ts b/src/app/features/administration/form/date-select/date-select.component.ts index 6e2855e4..d4e0c7d7 100644 --- a/src/app/features/administration/form/date-select/date-select.component.ts +++ b/src/app/features/administration/form/date-select/date-select.component.ts @@ -61,14 +61,14 @@ export class DateSelectComponent implements OnInit { removeAllTimes() { this.timeSlices = []; - this.dateList.map((elem) => (elem.timeList = [])); + this.dateList.map((elem) => (elem.timeSlices = [])); this.toastService.display('périodes horaires vidées'); } resetTimes(slices = Object.create(defaultTimeOfDay)) { this.timeSlices = slices; - this.dateList.map((elem) => (elem.timeList = Object.create(slices))); + this.dateList.map((elem) => (elem.timeSlices = Object.create(slices))); this.toastService.display('périodes horaires réinitialisées'); } } diff --git a/src/app/features/administration/form/date/list/day/day-list.component.ts b/src/app/features/administration/form/date/list/day/day-list.component.ts index 48e97516..c44e73e1 100644 --- a/src/app/features/administration/form/date/list/day/day-list.component.ts +++ b/src/app/features/administration/form/date/list/day/day-list.component.ts @@ -64,10 +64,10 @@ export class DayListComponent { * @param id number */ addTimeToDate(choice: DateChoice, id: number) { - if (!choice.timeList) { - choice.timeList = []; + if (!choice.timeSlices) { + choice.timeSlices = []; } - choice.timeList.push({ + choice.timeSlices.push({ literal: '', }); const selector = '[ng-reflect-choice_label="dateTime_' + id + '_ dateList_' + (this.timeList.length - 1) + '"]'; @@ -126,7 +126,7 @@ export class DayListComponent { addChoice(optionalLabel = ''): void { this.storageService.dateChoices.push({ literal: '', - timeList: [], + timeSlices: [], date_object: new Date(), }); diff --git a/src/app/features/administration/success/success.component.html b/src/app/features/administration/success/success.component.html index 66cfdeff..28cae422 100644 --- a/src/app/features/administration/success/success.component.html +++ b/src/app/features/administration/success/success.component.html @@ -43,7 +43,7 @@

Note : Le sondage sera supprimé {{ poll.default_expiracy_days_from_now }} jours après la date de sa - dernière modification. + dernière modification. Le {{ getExpiracyDateFromPoll(poll) | date: 'short' }}

diff --git a/src/app/features/administration/success/success.component.ts b/src/app/features/administration/success/success.component.ts index 0b92a917..2eaead75 100644 --- a/src/app/features/administration/success/success.component.ts +++ b/src/app/features/administration/success/success.component.ts @@ -3,6 +3,7 @@ import { PollService } from '../../../core/services/poll.service'; import { Poll } from '../../../core/models/poll.model'; import { environment } from 'src/environments/environment'; import { Title } from '@angular/platform-browser'; +import { DateUtilitiesService } from '../../../core/services/date.utilities.service'; @Component({ selector: 'app-success', @@ -14,7 +15,7 @@ export class SuccessComponent { mailToRecieve: string; window: any = window; environment = environment; - constructor(public pollService: PollService, private titleService: Title) { + constructor(public pollService: PollService, private dateUtils: DateUtilitiesService, private titleService: Title) { this.titleService.setTitle(environment.appTitle + ' - 🎉 succès de création de sondage -'); this.pollService.poll.subscribe((newpoll: Poll) => { @@ -25,4 +26,8 @@ export class SuccessComponent { sendToEmail() { alert('todo'); } + + getExpiracyDateFromPoll(poll: Poll): Date { + return this.dateUtils.addDaysToDate(poll.default_expiracy_days_from_now, new Date()); + } } diff --git a/src/environments/environment.ts b/src/environments/environment.ts index 8db6879e..0e893209 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -21,7 +21,7 @@ export const environment = { frontDomain: 'http://tktest.lan', production: false, display_routes: false, - autofill: false, + autofill: true, showDemoWarning: false, autoSendNewPoll: false, interval_days_default: 7,