Add allow_attachment_upload flag to tenant_settings

This commit is contained in:
riggraz
2025-01-27 12:57:44 +01:00
parent a853ac44df
commit 7d7d29ab5f
9 changed files with 28 additions and 2 deletions

View File

@@ -39,6 +39,7 @@ export interface ISiteSettingsGeneralForm {
isPrivate: boolean;
allowAnonymousFeedback: boolean;
feedbackApprovalPolicy: string;
allowAttachmentUpload: boolean;
logoLinksTo: string;
logoCustomUrl?: string;
showRoadmapInHeader: boolean;
@@ -75,6 +76,7 @@ interface Props {
isPrivate: boolean,
allowAnonymousFeedback: boolean,
feedbackApprovalPolicy: string,
allowAttachmentUpload: boolean,
logoLinksTo: string,
logoCustomUrl: string,
showRoadmapInHeader: boolean,
@@ -105,7 +107,6 @@ const GeneralSiteSettingsP = ({
formState: { isDirty, isSubmitSuccessful, errors },
watch,
control,
getValues,
} = useForm<ISiteSettingsGeneralForm>({
defaultValues: {
siteName: originForm.siteName,
@@ -122,6 +123,7 @@ const GeneralSiteSettingsP = ({
isPrivate: originForm.isPrivate,
allowAnonymousFeedback: originForm.allowAnonymousFeedback,
feedbackApprovalPolicy: originForm.feedbackApprovalPolicy,
allowAttachmentUpload: originForm.allowAttachmentUpload,
logoLinksTo: originForm.logoLinksTo,
logoCustomUrl: originForm.logoCustomUrl,
showRoadmapInHeader: originForm.showRoadmapInHeader,
@@ -149,6 +151,7 @@ const GeneralSiteSettingsP = ({
data.isPrivate,
data.allowAnonymousFeedback,
data.feedbackApprovalPolicy,
data.allowAttachmentUpload,
data.logoLinksTo,
data.logoCustomUrl,
data.showRoadmapInHeader,
@@ -524,6 +527,16 @@ const GeneralSiteSettingsP = ({
{ I18n.t('site_settings.general.feedback_approval_policy_help') }
</SmallMutedText>
</div>
<div className="formGroup">
<div className="checkboxSwitch">
<input {...register('allowAttachmentUpload')} type="checkbox" id="allow_attachment_upload" />
<label htmlFor="allow_attachment_upload">{ getLabel('tenant_setting', 'allow_attachment_upload') }</label>
<SmallMutedText>
{ I18n.t('site_settings.general.allow_attachment_upload_help') }
</SmallMutedText>
</div>
</div>
</div>
<div id="header" className="settingsGroup">

View File

@@ -31,6 +31,7 @@ const mapDispatchToProps = (dispatch: any) => ({
isPrivate: boolean,
allowAnonymousFeedback: boolean,
feedbackApprovalPolicy: TenantSettingFeedbackApprovalPolicy,
allowAttachmentUpload: boolean,
logoLinksTo: TenantSettingLogoLinksTo,
logoCustomUrl: string,
showRoadmapInHeader: boolean,
@@ -55,6 +56,7 @@ const mapDispatchToProps = (dispatch: any) => ({
is_private: isPrivate,
allow_anonymous_feedback: allowAnonymousFeedback,
feedback_approval_policy: feedbackApprovalPolicy,
allow_attachment_upload: allowAttachmentUpload,
logo_links_to: logoLinksTo,
logo_custom_url: logoCustomUrl,
show_roadmap_in_header: showRoadmapInHeader,

View File

@@ -58,6 +58,7 @@ interface ITenantSetting {
allowed_email_domains?: string;
allow_anonymous_feedback?: boolean;
feedback_approval_policy?: TenantSettingFeedbackApprovalPolicy;
allow_attachment_upload?: boolean;
show_vote_count?: boolean;
show_vote_button_in_board?: boolean;
show_roadmap_in_header?: boolean;

View File

@@ -10,6 +10,7 @@ class TenantSettingPolicy < ApplicationPolicy
:allowed_email_domains,
:allow_anonymous_feedback,
:feedback_approval_policy,
:allow_attachment_upload,
:show_vote_count,
:show_vote_button_in_board,
:hide_unused_statuses_in_filter_by_status,

View File

@@ -18,6 +18,7 @@
isPrivate: @tenant_setting.is_private,
allowAnonymousFeedback: @tenant_setting.allow_anonymous_feedback,
feedbackApprovalPolicy: @tenant_setting.feedback_approval_policy,
allowAttachmentUpload: @tenant_setting.allow_attachment_upload,
logoLinksTo: @tenant_setting.logo_links_to,
logoCustomUrl: @tenant_setting.logo_custom_url,
showRoadmapInHeader: @tenant_setting.show_roadmap_in_header,

View File

@@ -140,6 +140,7 @@ en:
allowed_email_domains: 'Allowed email domains'
allow_anonymous_feedback: 'Allow anonymous feedback'
feedback_approval_policy: 'Feedback approval policy'
allow_attachment_upload: 'Allow attachment upload'
show_vote_count: 'Show vote count to users'
show_vote_button_in_board: 'Show vote buttons in board page'
hide_unused_statuses_in_filter_by_status: 'Hide unused statuses in filter by status'

View File

@@ -215,6 +215,7 @@ en:
feedback_approval_policy_never_require_approval: 'Never require approval'
feedback_approval_policy_always_require_approval: 'Always require approval'
feedback_approval_policy_help: 'If you require approval, submitted feedback will remain hidden from the public until a moderator or administrator approves it. Feedback submitted by moderators and administrators is always approved automatically.'
allow_attachment_upload_help: 'If you enable this setting, users will be able to upload images to their feedback.'
subtitle_header: 'Header'
logo_links_to_root_page: 'Root page'
logo_links_to_custom_url: 'Custom URL'

View File

@@ -0,0 +1,5 @@
class AddAllowAttachmentUploadToTenantSettings < ActiveRecord::Migration[6.1]
def change
add_column :tenant_settings, :allow_attachment_upload, :boolean, default: true
end
end

View File

@@ -10,7 +10,7 @@
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 2025_01_22_131133) do
ActiveRecord::Schema.define(version: 2025_01_27_115010) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
@@ -227,6 +227,7 @@ ActiveRecord::Schema.define(version: 2025_01_22_131133) do
t.integer "logo_links_to", default: 0, null: false
t.string "logo_custom_url"
t.boolean "hide_unused_statuses_in_filter_by_status", default: false, null: false
t.boolean "allow_attachment_upload", default: true
t.index ["tenant_id"], name: "index_tenant_settings_on_tenant_id"
end