From 6a84aafd23c2f887f837cc4826cf7c8c07d1c60f Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 19 Oct 2017 17:33:32 +0200 Subject: Take in account transcoding for video quota --- client/src/app/+admin/users/user-edit/user-edit.ts | 24 +++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'client/src/app/+admin/users/user-edit/user-edit.ts') diff --git a/client/src/app/+admin/users/user-edit/user-edit.ts b/client/src/app/+admin/users/user-edit/user-edit.ts index 657c0f1c0..76497c9b6 100644 --- a/client/src/app/+admin/users/user-edit/user-edit.ts +++ b/client/src/app/+admin/users/user-edit/user-edit.ts @@ -1,17 +1,39 @@ +import { ServerService } from '../../../core' import { FormReactive } from '../../../shared' +import { VideoResolution } from '../../../../../../shared/models/videos/video-resolution.enum' export abstract class UserEdit extends FormReactive { videoQuotaOptions = [ { value: -1, label: 'Unlimited' }, { value: 0, label: '0'}, { value: 100 * 1024 * 1024, label: '100MB' }, - { value: 5 * 1024 * 1024, label: '500MB' }, + { value: 500 * 1024 * 1024, label: '500MB' }, { value: 1024 * 1024 * 1024, label: '1GB' }, { value: 5 * 1024 * 1024 * 1024, label: '5GB' }, { value: 20 * 1024 * 1024 * 1024, label: '20GB' }, { value: 50 * 1024 * 1024 * 1024, label: '50GB' } ] + protected abstract serverService: ServerService abstract isCreation (): boolean abstract getFormButtonTitle (): string + + isTranscodingInformationDisplayed () { + const formVideoQuota = parseInt(this.form.value['videoQuota'], 10) + + return this.serverService.getConfig().transcoding.enabledResolutions.length !== 0 && + formVideoQuota > 0 + } + + computeQuotaWithTranscoding () { + const resolutions = this.serverService.getConfig().transcoding.enabledResolutions + const higherResolution = VideoResolution.H_1080P + let multiplier = 0 + + for (const resolution of resolutions) { + multiplier += resolution / higherResolution + } + + return multiplier * parseInt(this.form.value['videoQuota'], 10) + } } -- cgit v1.2.3