X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=client%2Fsrc%2Fapp%2Fshared%2Fvideo%2Fvideo-edit.model.ts;h=1f633d427a4d0e0d08077eb1837384bd713f5919;hb=f0a3988066f72a28bb44520af072f18d91d77dde;hp=5bb0510f91546be137f8fd4dbbe0c8012e3a85e0;hpb=8ea1597fdbb2eb8ef71e805cf175e88ae05629c0;p=github%2FChocobozzz%2FPeerTube.git diff --git a/client/src/app/shared/video/video-edit.model.ts b/client/src/app/shared/video/video-edit.model.ts index 5bb0510f9..1f633d427 100644 --- a/client/src/app/shared/video/video-edit.model.ts +++ b/client/src/app/shared/video/video-edit.model.ts @@ -26,6 +26,7 @@ export class VideoEdit implements VideoUpdate { uuid?: string id?: number scheduleUpdate?: VideoScheduleUpdate + originallyPublishedAt?: Date | string constructor ( video?: Video & { @@ -56,17 +57,18 @@ export class VideoEdit implements VideoUpdate { this.previewUrl = video.previewUrl this.scheduleUpdate = video.scheduledUpdate + this.originallyPublishedAt = video.originallyPublishedAt ? new Date(video.originallyPublishedAt) : null } } - patch (values: Object) { + patch (values: { [ id: string ]: string }) { Object.keys(values).forEach((key) => { this[ key ] = values[ key ] }) // If schedule publication, the video is private and will be changed to public privacy if (parseInt(values['privacy'], 10) === VideoEdit.SPECIAL_SCHEDULED_PRIVACY) { - const updateAt = (values['schedulePublicationAt'] as Date) + const updateAt = new Date(values['schedulePublicationAt']) updateAt.setSeconds(0) this.privacy = VideoPrivacy.PRIVATE @@ -77,6 +79,12 @@ export class VideoEdit implements VideoUpdate { } else { this.scheduleUpdate = null } + + // Convert originallyPublishedAt to string so that function objectToFormData() works correctly + if (this.originallyPublishedAt) { + const originallyPublishedAt = new Date(values['originallyPublishedAt']) + this.originallyPublishedAt = originallyPublishedAt.toISOString() + } } toFormPatch () { @@ -93,7 +101,8 @@ export class VideoEdit implements VideoUpdate { downloadEnabled: this.downloadEnabled, waitTranscoding: this.waitTranscoding, channelId: this.channelId, - privacy: this.privacy + privacy: this.privacy, + originallyPublishedAt: this.originallyPublishedAt } // Special case if we scheduled an update