diff options
Diffstat (limited to 'addons/website/static/src')
| -rw-r--r-- | addons/website/static/src/js/website.contentMenu.js | 36 | ||||
| -rw-r--r-- | addons/website/static/src/js/website.js | 2 | ||||
| -rw-r--r-- | addons/website/static/src/xml/website.xml | 170 |
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> |
