This bugtracker is archived (announcement). New tickets are created on github.com. See all framework issues, cms issues, and search the module listings for more specific bugtrackers.

Ticket #4435: ctf-translatable-fix.patch

File ctf-translatable-fix.patch, 2.7 KB (added by sminnee, 5 years ago)
  • cms/code/CMSMain.php

     
    431431                                $readonlyFields = $form->Fields()->makeReadonly(); 
    432432                                $form->setFields($readonlyFields); 
    433433                        } 
     434                         
     435                        // Set locale in the form action, so that CTFs in the child form, etc, work 
     436                        if(Translatable::is_enabled()) { 
     437                                $locale = Translatable::get_current_locale(); 
     438                                if($locale != Translatable::default_locale()) { 
     439                                        $form->setFormAction(Controller::join_links($form->FormAction(), "?locale="  
     440                                                . htmlentities($locale))); 
     441                                } 
     442                        } 
    434443 
    435444                        return $form; 
    436445                } else if($id) { 
  • sapphire/forms/ComplexTableField.php

     
    364364 
    365365 
    366366        function AddLink() { 
    367                 return $this->Link() . '/add'; 
     367                return Controller::join_links($this->Link(), '/add'); 
    368368        } 
    369369 
    370370        /** 
     
    650650                $message = sprintf( 
    651651                        _t('ComplexTableField.SUCCESSADD', 'Added %s %s %s'), 
    652652                        $childData->singular_name(), 
    653                         '<a href="' . $this->Link() . '/item/' . $childData->ID . '/edit">' . $childData->Title . '</a>', 
     653                        '<a href="' . Controller::join_links($this->Link(), '/item/' . $childData->ID . '/edit') 
     654                                . '">' . $childData->Title . '</a>', 
    654655                        $closeLink 
    655656                ); 
    656657                 
     
    674675        ); 
    675676         
    676677        function Link() { 
    677                 return $this->ctf->Link() . '/item/' . $this->itemID; 
     678                return Controller::join_links($this->ctf->Link(), '/item/' . $this->itemID); 
    678679        } 
    679680         
    680681        function __construct($ctf, $itemID) { 
     
    883884        } 
    884885                for($i = $offset;$i <= $offset + $this->pageSize && $i <= $this->totalCount;$i++) { 
    885886            $start = $i - 1; 
    886                         $links['link'] = Controller::join_links($this->Link() . "$this->methodName?ctf[start]={$start}"); 
     887                        $links['link'] = Controller::join_links($this->Link(), "$this->methodName?ctf[start]={$start}"); 
    887888            $links['number'] = $i; 
    888889            $links['active'] = $i == $currentItem ? false : true; 
    889890            $result->push(new ArrayData($links));        
     
    983984        } 
    984985 
    985986        function Link() { 
    986                 return $this->parent->Link() . '/item/' . $this->item->ID; 
     987                return Controller::join_links($this->parent->Link(), '/item/' . $this->item->ID); 
    987988        } 
    988989 
    989990        function EditLink() { 
    990                 return $this->Link() . "/edit"; 
     991                return Controller::join_links($this->Link(), "/edit"); 
    991992        } 
    992993 
    993994        function ShowLink() { 
    994                 return $this->Link() . "/show"; 
     995                return Controller::join_links($this->Link(), "/show"); 
    995996        } 
    996997 
    997998        function DeleteLink() { 
    998                 return $this->Link() . "/delete"; 
     999                return Controller::join_links($this->Link(), "/delete"); 
    9991000        } 
    10001001         
    10011002        /**