From 8020803b7d954479bee27b78b06aca2118c1dad0 Mon Sep 17 00:00:00 2001 From: Ryan Cramer Date: Fri, 26 Feb 2021 14:00:08 -0500 Subject: [PATCH] Fix issue where language on/off checkbox in ProcessPageAdd wasn't always mirring parent page language on/off status for initial/recommended setting --- .../Inputfield/InputfieldPageName/InputfieldPageName.module | 4 +++- .../modules/LanguageSupport/LanguageSupportPageNames.module | 6 +++++- wire/modules/Process/ProcessPageAdd/ProcessPageAdd.module | 4 ---- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/wire/modules/Inputfield/InputfieldPageName/InputfieldPageName.module b/wire/modules/Inputfield/InputfieldPageName/InputfieldPageName.module index b8dec515..37c7c44f 100644 --- a/wire/modules/Inputfield/InputfieldPageName/InputfieldPageName.module +++ b/wire/modules/Inputfield/InputfieldPageName/InputfieldPageName.module @@ -200,9 +200,11 @@ class InputfieldPageName extends InputfieldName implements ConfigurableModule { $name = $sanitizer->entities($this->checkboxName); $value = $sanitizer->entities($this->checkboxValue); $label = $sanitizer->entities($this->checkboxLabel); + $adminTheme = $this->wire()->adminTheme; + $checkboxClass = $adminTheme ? $adminTheme->getClass('input-checkbox') : ''; $box = ""; } diff --git a/wire/modules/LanguageSupport/LanguageSupportPageNames.module b/wire/modules/LanguageSupport/LanguageSupportPageNames.module index 53daa8cd..7cabff9c 100644 --- a/wire/modules/LanguageSupport/LanguageSupportPageNames.module +++ b/wire/modules/LanguageSupport/LanguageSupportPageNames.module @@ -521,7 +521,11 @@ class LanguageSupportPageNames extends WireData implements Module, ConfigurableM $inputfield->checkboxName = "status" . $language->id; $inputfield->checkboxValue = 1; $inputfield->checkboxLabel = $checkboxLabel; - if($page->id > 0) $inputfield->checkboxChecked = $page->get($inputfield->checkboxName) > 0; + if($page->id > 0) { + $inputfield->checkboxChecked = $page->get($inputfield->checkboxName) > 0; + } else if($inputfield->parentPage) { + $inputfield->checkboxChecked = $inputfield->parentPage->get($inputfield->checkboxName) > 0; + } if(!$editable) $inputfield->attr('disabled', 'disabled'); $out .= $inputfield->render(); } diff --git a/wire/modules/Process/ProcessPageAdd/ProcessPageAdd.module b/wire/modules/Process/ProcessPageAdd/ProcessPageAdd.module index e4da06a7..7128f0b6 100644 --- a/wire/modules/Process/ProcessPageAdd/ProcessPageAdd.module +++ b/wire/modules/Process/ProcessPageAdd/ProcessPageAdd.module @@ -835,10 +835,6 @@ class ProcessPageAdd extends Process implements ConfigurableModule, WirePageEdit /** @var Languages $languages */ if($languages && $this->parent && $this->parent_id > 0) { - foreach($languages as $language) { - if($language->isDefault()) continue; - $field->checkboxChecked = $this->parent->get("status$language") ? true : false; - } if($this->template) { // dummy edit page for examination by InputfieldPageName $editPage = $this->wire('pages')->newPage(array(