BUGFIX Fixed createtranslation action (broken after moving to extension)

This commit is contained in:
Ingo Schommer 2011-03-23 10:15:49 +13:00
parent e40b5f909b
commit 181bb07f4c
2 changed files with 18 additions and 30 deletions

View File

@ -4,16 +4,11 @@
*/ */
class TranslatableCMSMainExtension extends Extension { class TranslatableCMSMainExtension extends Extension {
function extraStatics() { static $allowed_actions = array(
return array( 'createtranslation',
'allowed_actions' => array( );
'createtranslation',
)
);
}
function init() { function init() {
// Locale" attribute is either explicitly added by LeftAndMain Javascript logic, // Locale" attribute is either explicitly added by LeftAndMain Javascript logic,
// or implied on a translated record (see {@link Translatable->updateCMSFields()}). // or implied on a translated record (see {@link Translatable->updateCMSFields()}).
// $Lang serves as a "context" which can be inspected by Translatable - hence it // $Lang serves as a "context" which can be inspected by Translatable - hence it
@ -76,7 +71,7 @@ class TranslatableCMSMainExtension extends Extension {
$translatedRecord->ID, $translatedRecord->ID,
$langCode $langCode
); );
return Director::redirect($url); return Director::redirect($url);
} }

View File

@ -48,29 +48,22 @@
* Requires: * Requires:
* jquery.metadata * jquery.metadata
*/ */
$('.CMSMain .createTranslation').entwine({ $('.CMSMain :input[name=action_createtranslation]').entwine({
/** onclick: function() {
* Constructor: onmatch var form = this.parents('form'), locale = form.find(':input[name=NewTransLang]').val();
*/ var params = {
onmatch: function() { 'ID': form.find(':input[name=ID]').val(),
var self = this; 'newlang': locale,
'locale': locale,
this.find(':input[name=action_createtranslation]').bind('click', function(e) { 'SecurityID': form.find(':input[name=SecurityID]').val()
var form = self.parents('form'); };
// redirect to new URL // redirect to new URL
// TODO This should really be a POST request // TODO This should really be a POST request
// TODO Fix hardcode URL
document.location.href = $('base').attr('href') + document.location.href = $('base').attr('href') + 'admin/createtranslation?' + $.param(params);
jQuery(self).metadata().url +
'?ID=' + form.find(':input[name=ID]').val() +
'&newlang=' + self.find(':input[name=NewTransLang]').val() +
'&locale=' + form.find(':input[name=Locale]').val();
return false; return false;
});
this._super();
} }
}); });
}); });