first commit
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
(function () {
|
||||
TaxonomyTranslation.models.Term = Backbone.Model.extend({
|
||||
|
||||
idAttribute: "term_taxonomy_id",
|
||||
|
||||
defaults: function () {
|
||||
return {
|
||||
name: false,
|
||||
trid: false,
|
||||
term_taxonomy_id: false,
|
||||
language_code: false,
|
||||
slug: false,
|
||||
parent: false,
|
||||
correctedParent: false,
|
||||
description: false,
|
||||
level: 0,
|
||||
correctedLevel: 0,
|
||||
source_language_code: false,
|
||||
meta_data: false
|
||||
};
|
||||
},
|
||||
|
||||
save: function (name, slug, description, meta_data) {
|
||||
var self = this;
|
||||
slug = slug ? slug : '';
|
||||
description = description ? description : '';
|
||||
|
||||
if (name) {
|
||||
jQuery.ajax({
|
||||
url: ajaxurl,
|
||||
type: "POST",
|
||||
data: {
|
||||
action: 'wpml_save_term',
|
||||
name: name,
|
||||
slug: slug,
|
||||
_icl_nonce: labels.wpml_save_term_nonce,
|
||||
description: description,
|
||||
trid: self.get("trid"),
|
||||
term_language_code: self.get("language_code"),
|
||||
taxonomy: TaxonomyTranslation.classes.taxonomy.get("taxonomy"),
|
||||
meta_data: meta_data,
|
||||
force_hierarchical_sync: true
|
||||
},
|
||||
success: function (response) {
|
||||
var newTermData = response.data;
|
||||
|
||||
if (newTermData.language_code && newTermData.trid && newTermData.slug && newTermData.term_taxonomy_id) {
|
||||
self.set(newTermData);
|
||||
self.trigger("translationSaved");
|
||||
WPML_Translate_taxonomy.callbacks.fire('wpml_tt_save_term_translation', TaxonomyTranslation.classes.taxonomy.get("taxonomy"));
|
||||
} else {
|
||||
self.trigger("saveFailed");
|
||||
}
|
||||
return self;
|
||||
},
|
||||
error: function(){
|
||||
self.trigger("saveFailed");
|
||||
return self;
|
||||
}
|
||||
});
|
||||
}
|
||||
},
|
||||
|
||||
isOriginal: function() {
|
||||
return this.get( 'source_language_code' ) === null;
|
||||
},
|
||||
getNameSlugAndDescription: function () {
|
||||
var self = this;
|
||||
var term = {};
|
||||
term.slug = self.getSlug();
|
||||
|
||||
term.description = self.get("description");
|
||||
if ( ! term.description ) {
|
||||
term.description = "";
|
||||
}
|
||||
term.name = self.get("name");
|
||||
if ( ! term.name) {
|
||||
term.name = "";
|
||||
}
|
||||
return term;
|
||||
},
|
||||
getSlug: function () {
|
||||
var self = this;
|
||||
|
||||
var slug = self.get("slug");
|
||||
if (!slug) {
|
||||
slug = "";
|
||||
}
|
||||
slug = decodeURIComponent(slug);
|
||||
|
||||
return slug;
|
||||
},
|
||||
getMetaData: function() {
|
||||
return this.get('meta_data');
|
||||
}
|
||||
});
|
||||
})(TaxonomyTranslation);
|
||||
Reference in New Issue
Block a user