Merge pull request #360 from the-luap/fix/issue-hero-logo-position
fix(events): stop mapping branding_logo_position onto hero_logo_position
This commit is contained in:
@@ -0,0 +1,21 @@
|
|||||||
|
/**
|
||||||
|
* Heal events whose hero_logo_position contains a branding-style value
|
||||||
|
* (left/right) caused by a prior bug in adminEvents.js getBrandingDefaults
|
||||||
|
* that mapped branding_logo_position (left/center/right) onto
|
||||||
|
* hero_logo_position (top/center/bottom). Any non-canonical value is
|
||||||
|
* reset to 'top' so subsequent PUTs no longer fail validation.
|
||||||
|
*/
|
||||||
|
|
||||||
|
exports.up = async function up(knex) {
|
||||||
|
const hasColumn = await knex.schema.hasColumn('events', 'hero_logo_position');
|
||||||
|
if (!hasColumn) return;
|
||||||
|
|
||||||
|
await knex('events')
|
||||||
|
.whereNotIn('hero_logo_position', ['top', 'center', 'bottom'])
|
||||||
|
.update({ hero_logo_position: 'top' });
|
||||||
|
};
|
||||||
|
|
||||||
|
exports.down = async function down() {
|
||||||
|
// Data correction is not reversible — the original (incorrect) values
|
||||||
|
// are not preserved.
|
||||||
|
};
|
||||||
@@ -138,14 +138,20 @@ const getDownloadProtectionDefaults = async () => {
|
|||||||
return { enable_devtools_protection: await readBooleanSetting('enable_devtools_protection') };
|
return { enable_devtools_protection: await readBooleanSetting('enable_devtools_protection') };
|
||||||
};
|
};
|
||||||
|
|
||||||
// Helper to get branding defaults for new events (Feature 7: Branding Inheritance)
|
// Helper to get branding defaults for new events (Feature 7: Branding Inheritance).
|
||||||
|
//
|
||||||
|
// Note: `branding_logo_position` (header bar — left/center/right) is a
|
||||||
|
// different concept from `hero_logo_position` (hero block — top/center/
|
||||||
|
// bottom) and must NOT be mapped here. A previous version copied the
|
||||||
|
// branding value over, which wrote 'left'/'right' into per-event
|
||||||
|
// hero_logo_position columns and broke any subsequent PUT validation
|
||||||
|
// (#357). Migration 084 heals existing rows.
|
||||||
const getBrandingDefaults = async () => {
|
const getBrandingDefaults = async () => {
|
||||||
try {
|
try {
|
||||||
const settings = await db('app_settings')
|
const settings = await db('app_settings')
|
||||||
.whereIn('setting_key', [
|
.whereIn('setting_key', [
|
||||||
'branding_logo_display_hero',
|
'branding_logo_display_hero',
|
||||||
'branding_logo_size',
|
'branding_logo_size'
|
||||||
'branding_logo_position'
|
|
||||||
])
|
])
|
||||||
.select('setting_key', 'setting_value');
|
.select('setting_key', 'setting_value');
|
||||||
|
|
||||||
@@ -166,9 +172,6 @@ const getBrandingDefaults = async () => {
|
|||||||
if (s.setting_key === 'branding_logo_size' && value) {
|
if (s.setting_key === 'branding_logo_size' && value) {
|
||||||
defaults.hero_logo_size = value;
|
defaults.hero_logo_size = value;
|
||||||
}
|
}
|
||||||
if (s.setting_key === 'branding_logo_position' && value) {
|
|
||||||
defaults.hero_logo_position = value;
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
return defaults;
|
return defaults;
|
||||||
|
|||||||
Reference in New Issue
Block a user