[IMP] website: added options to create a new page from the menu editor

This commit is contained in:
Darshan Kalola
2017-05-23 11:01:32 +02:00
committed by Jeremy Kersten
parent 15e1a65fb7
commit 118c7d0413
2 changed files with 23 additions and 1 deletions
@@ -235,7 +235,7 @@ var EditMenuDialog = widget.Dialog.extend({
},
add_menu: function () {
var self = this;
var dialog = new MenuEntryDialog(this, {}, undefined, {});
var dialog = new MenuEntryDialog(this, {menu_link_options: true}, undefined, {});
dialog.on('save', this, function (link) {
var new_menu = {
id: _.uniqueId('new-'),
@@ -318,12 +318,21 @@ var MenuEntryDialog = widget.LinkDialog.extend({
data.text = data.name || '';
data.isNewWindow = data.new_window;
this.data = data;
this.menu_link_options = options.menu_link_options;
return this._super.apply(this, arguments);
},
start: function () {
var self = this;
this.$(".o_link_dialog_preview").remove();
this.$(".window-new, .link-style").closest(".form-group").remove();
this.$("label[for='o_link_dialog_label_input']").text(_t("Menu Label"));
if (this.menu_link_options) { // add menu link option only when adding new menu
this.$('#o_link_dialog_label_input').closest('.form-group').after(qweb.render('website.contentMenu.dialog.edit.link_menu_options'));
this.$('input[name=link_menu_options]').on('change', function() {
self.$('#o_link_dialog_url_input').closest('.form-group').toggle();
});
}
return this._super.apply(this, arguments);
},
save: function () {
@@ -333,6 +342,10 @@ var MenuEntryDialog = widget.LinkDialog.extend({
$e.focus();
return;
}
if (this.$('input[name=link_menu_options]:checked').val() === 'new_page') {
window.location = '/website/add/' + encodeURIComponent($e.val()) + '?add_menu=1';
return;
}
return this._super.apply(this, arguments);
}
});
@@ -51,4 +51,13 @@
</div>
</div>
</div>
<t t-name="website.contentMenu.dialog.edit.link_menu_options">
<div class="form-group">
<label class="control-label col-sm-3">Link</label>
<div class="col-sm-9">
<input type="radio" name="link_menu_options" id="url" value="url" checked="checked"/> <label class="control-label mr16" for="url" >URL or Email</label>
<input type="radio" name="link_menu_options" id="new_page" value="new_page"/> <label class="control-label" for="new_page">New Page</label>
</div>
</div>
</t>
</templates>