summaryrefslogtreecommitdiff
path: root/addons/website/static/src
diff options
context:
space:
mode:
authorJeremy Kersten <jke@odoo.com>2015-04-07 17:50:29 +0200
committerJeremy Kersten <jke@odoo.com>2015-04-08 13:40:11 +0200
commit4aa2e52b3dfc913a41f7c5f1d8d1c8028f1995c2 (patch)
tree46a041e119d4312ec0636a691a8a72b87b02a49a /addons/website/static/src
parentd1056939ad1f3cae70813780a4c084adfd609a89 (diff)
[FIX] website: allow to rename a website page.
Code from delete_page has been spliited (functions, templates, ...) to be re-usable by rename_page Change default input type from website.prompt. Old default value 'text' had no sense, there are no tag <text>.
Diffstat (limited to 'addons/website/static/src')
-rw-r--r--addons/website/static/src/js/website.contentMenu.js36
-rw-r--r--addons/website/static/src/js/website.js2
-rw-r--r--addons/website/static/src/xml/website.xml170
3 files changed, 131 insertions, 77 deletions
diff --git a/addons/website/static/src/js/website.contentMenu.js b/addons/website/static/src/js/website.contentMenu.js
index ab85c061a12..9d646896d9e 100644
--- a/addons/website/static/src/js/website.contentMenu.js
+++ b/addons/website/static/src/js/website.contentMenu.js
@@ -70,6 +70,40 @@
}
});
},
+ rename_page: function() {
+ var self = this;
+ var context = website.get_context();
+ self.mo_id = self.getMainObject().id;
+
+ openerp.jsonRpc('/web/dataset/call_kw', 'call', {
+ model: 'website',
+ method: 'page_search_dependencies',
+ args: [self.mo_id],
+ kwargs: {
+ context: context
+ },
+ }).then(function (deps) {
+ website.prompt({
+ id: "editor_rename_page",
+ window_title: _t("Rename Page"),
+ dependencies: deps,
+ }, 'website.rename_page').then(function (val, field, $dialog) {
+ openerp.jsonRpc('/web/dataset/call_kw', 'call', {
+ model: 'website',
+ method: 'rename_page',
+ args: [
+ self.mo_id,
+ val,
+ ],
+ kwargs: {
+ context: context
+ },
+ }).then(function (new_name) {
+ window.location = "/page/" + encodeURIComponent(new_name);
+ });
+ });
+ });
+ },
delete_page: function() {
var self = this;
var context = website.get_context();
@@ -87,7 +121,9 @@
id: "editor_delete_page",
window_title: _t("Delete Page"),
dependencies: deps,
+ init: function() { $('.btn-continue').prop("disabled", true)},
}, 'website.delete_page').then(function (val, field, $dialog) {
+
if ($dialog.find('input[type="checkbox"]').is(':checked')){
openerp.jsonRpc('/web/dataset/call_kw', 'call', {
model: 'website',
diff --git a/addons/website/static/src/js/website.js b/addons/website/static/src/js/website.js
index 26a0ce0477e..14a8739c104 100644
--- a/addons/website/static/src/js/website.js
+++ b/addons/website/static/src/js/website.js
@@ -113,7 +113,7 @@
}, options || {});
var type = _.intersection(Object.keys(options), ['input', 'textarea', 'select']);
- type = type.length ? type[0] : 'text';
+ type = type.length ? type[0] : 'input';
options.field_type = type;
options.field_name = options.field_name || options[type];
diff --git a/addons/website/static/src/xml/website.xml b/addons/website/static/src/xml/website.xml
index 29716a0fdba..a6cf26bf3d4 100644
--- a/addons/website/static/src/xml/website.xml
+++ b/addons/website/static/src/xml/website.xml
@@ -46,94 +46,112 @@
</t>
<t t-name="website.prompt">
+ <t t-call="website.modal_base">
+ <form class="form-horizontal" role="form" t-att-id="id">
+ <div class="form-group mb0">
+ <label for="page-name" class="col-sm-3 control-label">
+ <t t-esc="field_name"/>:
+ </label>
+ <div class="col-sm-9">
+ <input t-if="field_type == 'input'" type="text" class="form-control" required="required"/>
+ <textarea t-if="field_type == 'textarea'" class="form-control" required="required" rows="5"></textarea>
+ <select t-if="field_type == 'select'" class="form-control"></select>
+ </div>
+ </div>
+ </form>
+ </t>
+ </t>
+
+ <t t-name="website.modal_base">
<div class="modal" tabindex="-1" role="dialog" aria-hidden="true">
- <div class="modal-dialog">
+ <div class="modal-dialog">
<div class="modal-content">
- <div class="modal-header" t-if="window_title">
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
- <h3 class="modal-title"><t t-esc="window_title"/></h3>
- </div>
+ <t t-call="website.modal_header" />
<div class="modal-body">
- <form class="form-horizontal" role="form" t-att-id="id">
- <div class="form-group mb0">
- <label for="page-name" class="col-sm-3 control-label">
- <t t-esc="field_name"/>:
- </label>
- <div class="col-sm-9">
- <input t-if="field_type == 'input'" type="text" class="form-control" required="required"/>
- <textarea t-if="field_type == 'textarea'" class="form-control" required="required" rows="5"></textarea>
- <select t-if="field_type == 'select'" class="form-control"></select>
- </div>
- </div>
- </form>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-primary">Continue</button>
- <button type="button" class="btn" data-dismiss="modal" aria-hidden="true">Cancel</button>
+ <t t-raw="0"/>
</div>
+ <t t-call="website.modal_footer" />
</div>
</div>
</div>
</t>
+ <t t-name="website.modal_header">
+ <div class="modal-header" t-if="window_title">
+ <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
+ <h3 class="modal-title"><t t-esc="window_title"/></h3>
+ </div>
+ </t>
- <t t-name="website.delete_page">
- <div class="modal" tabindex="-1" role="dialog" aria-hidden="true">
- <div class="modal-dialog">
- <div class="modal-content">
- <div class="modal-header" t-if="window_title">
- <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
- <h3 class="modal-title"><t t-esc="window_title"/></h3>
- </div>
- <div class="modal-body">
- <div class="alert alert-warning alert-dismissible fade in mt16" role="alert">
- <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
- <strong>Be careful !</strong> Some dependencies can exist ...
- </div>
- <t t-if="dependencies">
- <t t-set='tid' t-value='0'/>
- <t t-foreach="_.keys(dependencies)" t-as="type">
- <div class="panel-group" role="tablist">
- <div class="panel panel-default">
- <div class="panel-heading" role="tab" >
- <h4 class="panel-title">
- <a class="collapsed" data-toggle="collapse" t-att-href="'#collapseDependencies'+tid" aria-expanded="false" t-att-aria-controls="'collapseDependencies'+tid">
- <t t-esc="type"/>
- </a>
- </h4>
- </div>
- <div t-att-id="'collapseDependencies'+tid" class="panel-collapse collapse in" role="tabpanel" aria-expanded="false" >
- <ul class="list-group">
- <t t-foreach="dependencies[type]" t-as="error">
- <li class="list-group-item">
- <i class='fa fa-share fa-flip-vertical'/>
- <a t-if="!_.contains(['', '#', false,], error.link)" t-att-href="error.link">
- <t t-raw="error.text"/>
- </a>
- <t t-if="_.contains(['', '#', false,], error.link)" t-raw="error.text"/>
- </li>
- </t>
- </ul>
- <div class="panel-footer">Reference(s) found: <t t-esc="dependencies[type].length"/></div>
- </div>
- </div>
- </div>
- <t t-set='tid' t-value='tid+1'/>
+ <t t-name="website.modal_footer">
+ <div class="modal-footer">
+ <button type="button" class="btn btn-primary btn-continue">Continue</button>
+ <button type="button" class="btn" data-dismiss="modal" aria-hidden="true">Cancel</button>
+ </div>
+ </t>
+
+ <t t-name="website.dependencies">
+ <div class="alert alert-warning alert-dismissible fade in mt16" role="alert">
+ <button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
+ <strong>Be careful !</strong> Some dependencies can exist ...
+ </div>
+ <t t-if="dependencies">
+ <t t-set='tid' t-value='0'/>
+ <t t-foreach="_.keys(dependencies)" t-as="type">
+ <div class="panel-group" role="tablist">
+ <div class="panel panel-default">
+ <div class="panel-heading" role="tab" >
+ <h4 class="panel-title">
+ <a class="collapsed" data-toggle="collapse" t-att-href="'#collapseDependencies'+tid" aria-expanded="false" t-att-aria-controls="'collapseDependencies'+tid">
+ <t t-esc="type"/>
+ </a>
+ </h4>
+ </div>
+ <div t-att-id="'collapseDependencies'+tid" class="panel-collapse collapse in" role="tabpanel" aria-expanded="false" >
+ <ul class="list-group">
+ <t t-foreach="dependencies[type]" t-as="error">
+ <li class="list-group-item">
+ <i class='fa fa-share fa-flip-vertical'/>
+ <a t-if="!_.contains(['', '#', false,], error.link)" t-att-href="error.link">
+ <t t-raw="error.text"/>
+ </a>
+ <t t-if="_.contains(['', '#', false,], error.link)" t-raw="error.text"/>
+ </li>
</t>
- </t>
- <form class="form-horizontal" role="form" t-att-id="id">
- <div class="form-group">
- <label class="col-sm-offset-2 col-sm-8 text-left alert alert-danger">
- <input type="checkbox" onchange="$('.btn-continue').prop('disabled', !this.checked)"/> I'm sure, I want to delete this page definitively
- </label>
- </div>
- </form>
- </div>
- <div class="modal-footer">
- <button type="button" class="btn btn-primary btn-continue" disabled="disabled">Continue</button>
- <button type="button" class="btn" data-dismiss="modal" aria-hidden="true">Cancel</button>
+ </ul>
+ <div class="panel-footer">Reference(s) found: <t t-esc="dependencies[type].length"/></div>
+ </div>
</div>
</div>
+ <t t-set='tid' t-value='tid+1'/>
+ </t>
+ </t>
+ </t>
+ <t t-name="website.delete_page">
+ <t t-call="website.modal_base">
+ <t t-call="website.dependencies" />
+ <form class="form-horizontal" role="form" t-att-id="id">
+ <div class="form-group">
+ <label class="col-sm-offset-2 col-sm-8 text-left alert alert-danger">
+ <input type="checkbox" onchange="$('.btn-continue').prop('disabled', !this.checked)"/> I'm sure, I want to delete this page definitively
+ </label>
+ </div>
+ </form>
+ </t>
+ </t>
+
+ <t t-name="website.rename_page">
+ <t t-call="website.modal_base">
+ <t t-call="website.dependencies" />
+ <div class="row">
+ <form class="form-horizontal col-sm-offset-2 col-sm-8 alert alert-info" role="form" t-att-id="id">
+ <div class="form-group" >
+ <label for="new_name" class="control-label col-sm-4">New name</label>
+ <div class="col-sm-8">
+ <input type="text" class="form-control" id="new_name" placeholder="New Name" />
+ </div>
+ </div>
+ </form>
</div>
- </div>
+ </t>
</t>
</templates>