mirror of
https://github.com/wekan/wekan.git
synced 2025-12-16 23:40:13 +01:00
200 lines
7.5 KiB
Text
200 lines
7.5 KiB
Text
template(name="attachmentSettings")
|
|
.setting-content.attachment-settings-content
|
|
unless currentUser.isAdmin
|
|
| {{_ 'error-notAuthorized'}}
|
|
else
|
|
.content-body
|
|
.side-menu
|
|
ul
|
|
li
|
|
a.js-attachment-storage-settings(data-id="storage-settings")
|
|
i.fa.fa-cog
|
|
| {{_ 'attachment-storage-settings'}}
|
|
li
|
|
a.js-attachment-migration(data-id="attachment-migration")
|
|
i.fa.fa-arrow-right
|
|
| {{_ 'attachment-migration'}}
|
|
li
|
|
a.js-attachment-monitoring(data-id="attachment-monitoring")
|
|
i.fa.fa-chart-line
|
|
| {{_ 'attachment-monitoring'}}
|
|
|
|
.main-body
|
|
if loading.get
|
|
+spinner
|
|
else if showStorageSettings.get
|
|
+storageSettings
|
|
else if showMigration.get
|
|
+attachmentMigration
|
|
else if showMonitoring.get
|
|
+attachmentMonitoring
|
|
|
|
template(name="storageSettings")
|
|
.storage-settings
|
|
h3 {{_ 'attachment-storage-configuration'}}
|
|
|
|
.storage-config-section
|
|
h4 {{_ 'filesystem-storage'}}
|
|
.form-group
|
|
label {{_ 'writable-path'}}
|
|
input.wekan-form-control#filesystem-path(type="text" value="{{filesystemPath}}" readonly)
|
|
small.form-text.text-muted {{_ 'filesystem-path-description'}}
|
|
|
|
.form-group
|
|
label {{_ 'attachments-path'}}
|
|
input.wekan-form-control#attachments-path(type="text" value="{{attachmentsPath}}" readonly)
|
|
small.form-text.text-muted {{_ 'attachments-path-description'}}
|
|
|
|
.form-group
|
|
label {{_ 'avatars-path'}}
|
|
input.wekan-form-control#avatars-path(type="text" value="{{avatarsPath}}" readonly)
|
|
small.form-text.text-muted {{_ 'avatars-path-description'}}
|
|
|
|
.storage-config-section
|
|
h4 {{_ 'mongodb-gridfs-storage'}}
|
|
.form-group
|
|
label {{_ 'gridfs-enabled'}}
|
|
input.wekan-form-control#gridfs-enabled(type="checkbox" checked="{{gridfsEnabled}}" disabled)
|
|
small.form-text.text-muted {{_ 'gridfs-enabled-description'}}
|
|
|
|
.storage-config-section
|
|
h4 {{_ 's3-minio-storage'}}
|
|
.form-group
|
|
label {{_ 's3-enabled'}}
|
|
input.wekan-form-control#s3-enabled(type="checkbox" checked="{{s3Enabled}}" disabled)
|
|
small.form-text.text-muted {{_ 's3-enabled-description'}}
|
|
|
|
.form-group
|
|
label {{_ 's3-endpoint'}}
|
|
input.wekan-form-control#s3-endpoint(type="text" value="{{s3Endpoint}}" readonly)
|
|
small.form-text.text-muted {{_ 's3-endpoint-description'}}
|
|
|
|
.form-group
|
|
label {{_ 's3-bucket'}}
|
|
input.wekan-form-control#s3-bucket(type="text" value="{{s3Bucket}}" readonly)
|
|
small.form-text.text-muted {{_ 's3-bucket-description'}}
|
|
|
|
.form-group
|
|
label {{_ 's3-region'}}
|
|
input.wekan-form-control#s3-region(type="text" value="{{s3Region}}" readonly)
|
|
small.form-text.text-muted {{_ 's3-region-description'}}
|
|
|
|
.form-group
|
|
label {{_ 's3-access-key'}}
|
|
input.wekan-form-control#s3-access-key(type="text" placeholder="{{_ 's3-access-key-placeholder'}}" readonly)
|
|
small.form-text.text-muted {{_ 's3-access-key-description'}}
|
|
|
|
.form-group
|
|
label {{_ 's3-secret-key'}}
|
|
input.wekan-form-control#s3-secret-key(type="password" placeholder="{{_ 's3-secret-key-placeholder'}}")
|
|
small.form-text.text-muted {{_ 's3-secret-key-description'}}
|
|
|
|
.form-group
|
|
label {{_ 's3-ssl-enabled'}}
|
|
input.wekan-form-control#s3-ssl-enabled(type="checkbox" checked="{{s3SslEnabled}}" disabled)
|
|
small.form-text.text-muted {{_ 's3-ssl-enabled-description'}}
|
|
|
|
.form-group
|
|
label {{_ 's3-port'}}
|
|
input.wekan-form-control#s3-port(type="number" value="{{s3Port}}" readonly)
|
|
small.form-text.text-muted {{_ 's3-port-description'}}
|
|
|
|
.storage-actions
|
|
button.js-test-s3-connection.btn.btn-secondary {{_ 'test-s3-connection'}}
|
|
button.js-save-s3-settings.btn.btn-primary {{_ 'save-s3-settings'}}
|
|
|
|
template(name="attachmentMigration")
|
|
.attachment-migration
|
|
h3 {{_ 'attachment-migration'}}
|
|
|
|
.migration-controls
|
|
.form-group
|
|
label {{_ 'migration-batch-size'}}
|
|
input.wekan-form-control#migration-batch-size(type="number" value="{{migrationBatchSize}}" min="1" max="100")
|
|
small.form-text.text-muted {{_ 'migration-batch-size-description'}}
|
|
|
|
.form-group
|
|
label {{_ 'migration-delay-ms'}}
|
|
input.wekan-form-control#migration-delay-ms(type="number" value="{{migrationDelayMs}}" min="100" max="10000")
|
|
small.form-text.text-muted {{_ 'migration-delay-ms-description'}}
|
|
|
|
.form-group
|
|
label {{_ 'migration-cpu-threshold'}}
|
|
input.wekan-form-control#migration-cpu-threshold(type="number" value="{{migrationCpuThreshold}}" min="10" max="90")
|
|
small.form-text.text-muted {{_ 'migration-cpu-threshold-description'}}
|
|
|
|
.migration-actions
|
|
.migration-buttons
|
|
button.js-migrate-all-to-filesystem.btn.btn-primary {{_ 'migrate-all-to-filesystem'}}
|
|
button.js-migrate-all-to-gridfs.btn.btn-primary {{_ 'migrate-all-to-gridfs'}}
|
|
button.js-migrate-all-to-s3.btn.btn-primary {{_ 'migrate-all-to-s3'}}
|
|
|
|
.migration-controls
|
|
button.js-pause-migration.btn.btn-warning {{_ 'pause-migration'}}
|
|
button.js-resume-migration.btn.btn-success {{_ 'resume-migration'}}
|
|
button.js-stop-migration.btn.btn-danger {{_ 'stop-migration'}}
|
|
|
|
.migration-progress
|
|
h4 {{_ 'migration-progress'}}
|
|
.progress
|
|
.progress-bar(role="progressbar" style="width: {{migrationProgress}}%" aria-valuenow="{{migrationProgress}}" aria-valuemin="0" aria-valuemax="100")
|
|
| {{migrationProgress}}%
|
|
|
|
.migration-stats
|
|
.stat-item
|
|
span.label {{_ 'total-attachments'}}:
|
|
span.value {{totalAttachments}}
|
|
.stat-item
|
|
span.label {{_ 'migrated-attachments'}}:
|
|
span.value {{migratedAttachments}}
|
|
.stat-item
|
|
span.label {{_ 'remaining-attachments'}}:
|
|
span.value {{remainingAttachments}}
|
|
.stat-item
|
|
span.label {{_ 'migration-status'}}:
|
|
span.value {{migrationStatus}}
|
|
|
|
.migration-log
|
|
h4 {{_ 'migration-log'}}
|
|
.log-container
|
|
pre#migration-log-content {{migrationLog}}
|
|
|
|
template(name="attachmentMonitoring")
|
|
.attachment-monitoring
|
|
h3 {{_ 'attachment-monitoring'}}
|
|
|
|
.monitoring-stats
|
|
.stats-grid
|
|
.stat-card
|
|
h5 {{_ 'total-attachments'}}
|
|
.stat-value {{totalAttachments}}
|
|
.stat-card
|
|
h5 {{_ 'filesystem-attachments'}}
|
|
.stat-value {{filesystemAttachments}}
|
|
.stat-card
|
|
h5 {{_ 'gridfs-attachments'}}
|
|
.stat-value {{gridfsAttachments}}
|
|
.stat-card
|
|
h5 {{_ 's3-attachments'}}
|
|
.stat-value {{s3Attachments}}
|
|
.stat-card
|
|
h5 {{_ 'total-size'}}
|
|
.stat-value {{totalSize}}
|
|
.stat-card
|
|
h5 {{_ 'filesystem-size'}}
|
|
.stat-value {{filesystemSize}}
|
|
.stat-card
|
|
h5 {{_ 'gridfs-size'}}
|
|
.stat-value {{gridfsSize}}
|
|
.stat-card
|
|
h5 {{_ 's3-size'}}
|
|
.stat-value {{s3Size}}
|
|
|
|
.monitoring-charts
|
|
h4 {{_ 'storage-distribution'}}
|
|
.chart-container
|
|
canvas#storage-distribution-chart
|
|
|
|
.monitoring-actions
|
|
button.js-refresh-monitoring.btn.btn-secondary {{_ 'refresh-monitoring'}}
|
|
button.js-export-monitoring.btn.btn-primary {{_ 'export-monitoring'}}
|