mirror of
https://github.com/astuto/astuto.git
synced 2025-12-16 19:57:52 +01:00
Add allow_attachment_upload flag to tenant_settings
This commit is contained in:
@@ -39,6 +39,7 @@ export interface ISiteSettingsGeneralForm {
|
|||||||
isPrivate: boolean;
|
isPrivate: boolean;
|
||||||
allowAnonymousFeedback: boolean;
|
allowAnonymousFeedback: boolean;
|
||||||
feedbackApprovalPolicy: string;
|
feedbackApprovalPolicy: string;
|
||||||
|
allowAttachmentUpload: boolean;
|
||||||
logoLinksTo: string;
|
logoLinksTo: string;
|
||||||
logoCustomUrl?: string;
|
logoCustomUrl?: string;
|
||||||
showRoadmapInHeader: boolean;
|
showRoadmapInHeader: boolean;
|
||||||
@@ -75,6 +76,7 @@ interface Props {
|
|||||||
isPrivate: boolean,
|
isPrivate: boolean,
|
||||||
allowAnonymousFeedback: boolean,
|
allowAnonymousFeedback: boolean,
|
||||||
feedbackApprovalPolicy: string,
|
feedbackApprovalPolicy: string,
|
||||||
|
allowAttachmentUpload: boolean,
|
||||||
logoLinksTo: string,
|
logoLinksTo: string,
|
||||||
logoCustomUrl: string,
|
logoCustomUrl: string,
|
||||||
showRoadmapInHeader: boolean,
|
showRoadmapInHeader: boolean,
|
||||||
@@ -105,7 +107,6 @@ const GeneralSiteSettingsP = ({
|
|||||||
formState: { isDirty, isSubmitSuccessful, errors },
|
formState: { isDirty, isSubmitSuccessful, errors },
|
||||||
watch,
|
watch,
|
||||||
control,
|
control,
|
||||||
getValues,
|
|
||||||
} = useForm<ISiteSettingsGeneralForm>({
|
} = useForm<ISiteSettingsGeneralForm>({
|
||||||
defaultValues: {
|
defaultValues: {
|
||||||
siteName: originForm.siteName,
|
siteName: originForm.siteName,
|
||||||
@@ -122,6 +123,7 @@ const GeneralSiteSettingsP = ({
|
|||||||
isPrivate: originForm.isPrivate,
|
isPrivate: originForm.isPrivate,
|
||||||
allowAnonymousFeedback: originForm.allowAnonymousFeedback,
|
allowAnonymousFeedback: originForm.allowAnonymousFeedback,
|
||||||
feedbackApprovalPolicy: originForm.feedbackApprovalPolicy,
|
feedbackApprovalPolicy: originForm.feedbackApprovalPolicy,
|
||||||
|
allowAttachmentUpload: originForm.allowAttachmentUpload,
|
||||||
logoLinksTo: originForm.logoLinksTo,
|
logoLinksTo: originForm.logoLinksTo,
|
||||||
logoCustomUrl: originForm.logoCustomUrl,
|
logoCustomUrl: originForm.logoCustomUrl,
|
||||||
showRoadmapInHeader: originForm.showRoadmapInHeader,
|
showRoadmapInHeader: originForm.showRoadmapInHeader,
|
||||||
@@ -149,6 +151,7 @@ const GeneralSiteSettingsP = ({
|
|||||||
data.isPrivate,
|
data.isPrivate,
|
||||||
data.allowAnonymousFeedback,
|
data.allowAnonymousFeedback,
|
||||||
data.feedbackApprovalPolicy,
|
data.feedbackApprovalPolicy,
|
||||||
|
data.allowAttachmentUpload,
|
||||||
data.logoLinksTo,
|
data.logoLinksTo,
|
||||||
data.logoCustomUrl,
|
data.logoCustomUrl,
|
||||||
data.showRoadmapInHeader,
|
data.showRoadmapInHeader,
|
||||||
@@ -524,6 +527,16 @@ const GeneralSiteSettingsP = ({
|
|||||||
{ I18n.t('site_settings.general.feedback_approval_policy_help') }
|
{ I18n.t('site_settings.general.feedback_approval_policy_help') }
|
||||||
</SmallMutedText>
|
</SmallMutedText>
|
||||||
</div>
|
</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>
|
||||||
|
|
||||||
<div id="header" className="settingsGroup">
|
<div id="header" className="settingsGroup">
|
||||||
|
|||||||
@@ -31,6 +31,7 @@ const mapDispatchToProps = (dispatch: any) => ({
|
|||||||
isPrivate: boolean,
|
isPrivate: boolean,
|
||||||
allowAnonymousFeedback: boolean,
|
allowAnonymousFeedback: boolean,
|
||||||
feedbackApprovalPolicy: TenantSettingFeedbackApprovalPolicy,
|
feedbackApprovalPolicy: TenantSettingFeedbackApprovalPolicy,
|
||||||
|
allowAttachmentUpload: boolean,
|
||||||
logoLinksTo: TenantSettingLogoLinksTo,
|
logoLinksTo: TenantSettingLogoLinksTo,
|
||||||
logoCustomUrl: string,
|
logoCustomUrl: string,
|
||||||
showRoadmapInHeader: boolean,
|
showRoadmapInHeader: boolean,
|
||||||
@@ -55,6 +56,7 @@ const mapDispatchToProps = (dispatch: any) => ({
|
|||||||
is_private: isPrivate,
|
is_private: isPrivate,
|
||||||
allow_anonymous_feedback: allowAnonymousFeedback,
|
allow_anonymous_feedback: allowAnonymousFeedback,
|
||||||
feedback_approval_policy: feedbackApprovalPolicy,
|
feedback_approval_policy: feedbackApprovalPolicy,
|
||||||
|
allow_attachment_upload: allowAttachmentUpload,
|
||||||
logo_links_to: logoLinksTo,
|
logo_links_to: logoLinksTo,
|
||||||
logo_custom_url: logoCustomUrl,
|
logo_custom_url: logoCustomUrl,
|
||||||
show_roadmap_in_header: showRoadmapInHeader,
|
show_roadmap_in_header: showRoadmapInHeader,
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ interface ITenantSetting {
|
|||||||
allowed_email_domains?: string;
|
allowed_email_domains?: string;
|
||||||
allow_anonymous_feedback?: boolean;
|
allow_anonymous_feedback?: boolean;
|
||||||
feedback_approval_policy?: TenantSettingFeedbackApprovalPolicy;
|
feedback_approval_policy?: TenantSettingFeedbackApprovalPolicy;
|
||||||
|
allow_attachment_upload?: boolean;
|
||||||
show_vote_count?: boolean;
|
show_vote_count?: boolean;
|
||||||
show_vote_button_in_board?: boolean;
|
show_vote_button_in_board?: boolean;
|
||||||
show_roadmap_in_header?: boolean;
|
show_roadmap_in_header?: boolean;
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ class TenantSettingPolicy < ApplicationPolicy
|
|||||||
:allowed_email_domains,
|
:allowed_email_domains,
|
||||||
:allow_anonymous_feedback,
|
:allow_anonymous_feedback,
|
||||||
:feedback_approval_policy,
|
:feedback_approval_policy,
|
||||||
|
:allow_attachment_upload,
|
||||||
:show_vote_count,
|
:show_vote_count,
|
||||||
:show_vote_button_in_board,
|
:show_vote_button_in_board,
|
||||||
:hide_unused_statuses_in_filter_by_status,
|
:hide_unused_statuses_in_filter_by_status,
|
||||||
|
|||||||
@@ -18,6 +18,7 @@
|
|||||||
isPrivate: @tenant_setting.is_private,
|
isPrivate: @tenant_setting.is_private,
|
||||||
allowAnonymousFeedback: @tenant_setting.allow_anonymous_feedback,
|
allowAnonymousFeedback: @tenant_setting.allow_anonymous_feedback,
|
||||||
feedbackApprovalPolicy: @tenant_setting.feedback_approval_policy,
|
feedbackApprovalPolicy: @tenant_setting.feedback_approval_policy,
|
||||||
|
allowAttachmentUpload: @tenant_setting.allow_attachment_upload,
|
||||||
logoLinksTo: @tenant_setting.logo_links_to,
|
logoLinksTo: @tenant_setting.logo_links_to,
|
||||||
logoCustomUrl: @tenant_setting.logo_custom_url,
|
logoCustomUrl: @tenant_setting.logo_custom_url,
|
||||||
showRoadmapInHeader: @tenant_setting.show_roadmap_in_header,
|
showRoadmapInHeader: @tenant_setting.show_roadmap_in_header,
|
||||||
|
|||||||
@@ -140,6 +140,7 @@ en:
|
|||||||
allowed_email_domains: 'Allowed email domains'
|
allowed_email_domains: 'Allowed email domains'
|
||||||
allow_anonymous_feedback: 'Allow anonymous feedback'
|
allow_anonymous_feedback: 'Allow anonymous feedback'
|
||||||
feedback_approval_policy: 'Feedback approval policy'
|
feedback_approval_policy: 'Feedback approval policy'
|
||||||
|
allow_attachment_upload: 'Allow attachment upload'
|
||||||
show_vote_count: 'Show vote count to users'
|
show_vote_count: 'Show vote count to users'
|
||||||
show_vote_button_in_board: 'Show vote buttons in board page'
|
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'
|
hide_unused_statuses_in_filter_by_status: 'Hide unused statuses in filter by status'
|
||||||
|
|||||||
@@ -215,6 +215,7 @@ en:
|
|||||||
feedback_approval_policy_never_require_approval: 'Never require approval'
|
feedback_approval_policy_never_require_approval: 'Never require approval'
|
||||||
feedback_approval_policy_always_require_approval: 'Always 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.'
|
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'
|
subtitle_header: 'Header'
|
||||||
logo_links_to_root_page: 'Root page'
|
logo_links_to_root_page: 'Root page'
|
||||||
logo_links_to_custom_url: 'Custom URL'
|
logo_links_to_custom_url: 'Custom URL'
|
||||||
|
|||||||
@@ -0,0 +1,5 @@
|
|||||||
|
class AddAllowAttachmentUploadToTenantSettings < ActiveRecord::Migration[6.1]
|
||||||
|
def change
|
||||||
|
add_column :tenant_settings, :allow_attachment_upload, :boolean, default: true
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -10,7 +10,7 @@
|
|||||||
#
|
#
|
||||||
# It's strongly recommended that you check this file into your version control system.
|
# 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
|
# These are extensions that must be enabled in order to support this database
|
||||||
enable_extension "plpgsql"
|
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.integer "logo_links_to", default: 0, null: false
|
||||||
t.string "logo_custom_url"
|
t.string "logo_custom_url"
|
||||||
t.boolean "hide_unused_statuses_in_filter_by_status", default: false, null: false
|
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"
|
t.index ["tenant_id"], name: "index_tenant_settings_on_tenant_id"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user