diff options
Diffstat (limited to 'addons/web/static/src')
| -rw-r--r-- | addons/web/static/src/css/base.css | 7 | ||||
| -rw-r--r-- | addons/web/static/src/css/base.sass | 20 | ||||
| -rw-r--r-- | addons/web/static/src/js/view_form.js | 11 | ||||
| -rw-r--r-- | addons/web/static/src/js/view_list.js | 22 | ||||
| -rw-r--r-- | addons/web/static/src/xml/base.xml | 29 |
5 files changed, 51 insertions, 38 deletions
diff --git a/addons/web/static/src/css/base.css b/addons/web/static/src/css/base.css index bf13ccdb012..bc9edd3c5a7 100644 --- a/addons/web/static/src/css/base.css +++ b/addons/web/static/src/css/base.css @@ -35,7 +35,7 @@ border: 0; } -.oe_indicator{ +.oe_indicator { z-index: 99999; position: absolute; top: 10px; @@ -541,7 +541,7 @@ background-image: -webkit-radial-gradient(circle, #eee 0%, #ccc 40%, #bbb 100%); background-image: -moz-radial-gradient(#eee 0%, #ccc 40%, #bbb 100%); background-image: -ms-radial-gradient(#eee 0%, #ccc 40%, #bbb 100%); - background-image: radial-gradient(circle, #eee 0%, #ccc 40%, #bbb 100%); + background-image: radial-gradient(circle, #eeeeee 0%, #cccccc 40%, #bbbbbb 100%); } .openerp .oe_kanban_status_green { background: green; @@ -1092,7 +1092,8 @@ } .openerp .oe-view-manager-header .oe-view-manager-sidebar .oe_sidebar_delete_item { padding: 0; - display: inline-block; + position: absolute; + right: 10px; } .openerp .oe-view-manager-header .oe-view-manager-sidebar .dropdown-menu li a { width: 100%; diff --git a/addons/web/static/src/css/base.sass b/addons/web/static/src/css/base.sass index 368fc53e5fb..9659cd5e483 100644 --- a/addons/web/static/src/css/base.sass +++ b/addons/web/static/src/css/base.sass @@ -146,16 +146,16 @@ $sheet-padding: 16px // Notifications {{{ .oe_indicator - z-index: 99999 - position: absolute - top: 10px - display: inline-block - color: white - background: #a24689 - padding: 6px 16px - border-radius: 4px - box-shadow: 0 0 1px black - left: 40% + z-index: 99999 + position: absolute + top: 10px + display: inline-block + color: white + background: #a24689 + padding: 6px 16px + border-radius: 4px + box-shadow: 0 0 1px black + left: 40% .oe_notification z-index: 1600 diff --git a/addons/web/static/src/js/view_form.js b/addons/web/static/src/js/view_form.js index b47a5b2c929..89af8bd34fb 100644 --- a/addons/web/static/src/js/view_form.js +++ b/addons/web/static/src/js/view_form.js @@ -2427,6 +2427,7 @@ instance.web.form.KanbanSelection = instance.web.form.FieldChar.extend({ } if (stage_data && stage_data[0][self.options.states_legend[res[0]]]) { value['state_name'] = stage_data[0][self.options.states_legend[res[0]]]; + value['tooltip'] = stage_data[0][self.options.states_legend[res[0]]]; } if (res[0] == 'normal') { value['state_class'] = 'oe_kanban_status'; } else if (res[0] == 'done') { value['state_class'] = 'oe_kanban_status oe_kanban_status_green'; } @@ -2438,7 +2439,6 @@ instance.web.form.KanbanSelection = instance.web.form.FieldChar.extend({ }, render_value: function() { var self = this; - this.record_id = this.view.datarecord.id; var dd_fetched = this.prepare_dropdown_selection();; return $.when(dd_fetched).then(function (states) { self.states = states; @@ -2459,7 +2459,7 @@ instance.web.form.KanbanSelection = instance.web.form.FieldChar.extend({ write_values[self.name] = value; return this.view.dataset._model.call( 'write', [ - [self.record_id], + [this.view.datarecord.id], write_values, self.view.dataset.get_context() ]).done(self.reload_record.bind(self)); @@ -2497,10 +2497,11 @@ instance.web.form.Priority = instance.web.form.FieldChar.extend({ }, render_value: function() { var self = this; - this.record_id = this.view.datarecord.id; this.priorities = this.prepare_priority(); this.$el.html(QWeb.render("Priority", {'widget': this})); - this.$el.find('li').on('click', this.set_priority.bind(this)); + if (!this.get('readonly')){ + this.$el.find('li').on('click', this.set_priority.bind(this)); + } }, /* setting the value: in view mode, perform an asynchronous call and reload the form view; in edit mode, use set_value to save the new value that will @@ -2515,7 +2516,7 @@ instance.web.form.Priority = instance.web.form.FieldChar.extend({ write_values[self.name] = value; return this.view.dataset._model.call( 'write', [ - [self.record_id], + [this.view.datarecord.id], write_values, self.view.dataset.get_context() ]).done(self.reload_record.bind(self)); diff --git a/addons/web/static/src/js/view_list.js b/addons/web/static/src/js/view_list.js index d42d8ecb099..dcd6ae77117 100644 --- a/addons/web/static/src/js/view_list.js +++ b/addons/web/static/src/js/view_list.js @@ -404,7 +404,7 @@ instance.web.ListView = instance.web.View.extend( /** @lends instance.web.ListVi var total = dataset.size(); var limit = this.limit() || total; - this.$pager.find('.oe-pager-button').toggle(total > limit); + this.$pager.find('.oe-pager-buttons').toggle(total > limit); this.$pager.find('.oe_pager_value').toggle(total !== 0); var spager = '-'; if (total) { @@ -1301,7 +1301,11 @@ instance.web.ListView.Groups = instance.web.Class.extend( /** @lends instance.we var $prev = $('<button type="button" data-pager-action="previous"><</button>') .click(function (e) { e.stopPropagation(); - self.page -= 1; + if (self.page > 0) { + self.page -= 1; + } else { + self.page = self.max_page_index; + } self.$row.closest('tbody').next() .replaceWith(self.render()); @@ -1309,7 +1313,11 @@ instance.web.ListView.Groups = instance.web.Class.extend( /** @lends instance.we var $next = $('<button type="button" data-pager-action="next">></button>') .click(function (e) { e.stopPropagation(); - self.page += 1; + if (self.page < self.max_page_index) { + self.page += 1; + } else { + self.page = 0; + } self.$row.closest('tbody').next() .replaceWith(self.render()); @@ -1505,19 +1513,19 @@ instance.web.ListView.Groups = instance.web.Class.extend( /** @lends instance.we self.$row.find('td.oe_list_group_pagination').find('button').remove(); self.$row.find('td.oe_list_group_pagination').find('span').remove(); } else { - var pages = Math.ceil(dataset.size() / limit); + self.max_page_index = Math.ceil(dataset.size() / limit) - 1; self.$row .find('.oe_list_pager_state') .text(_.str.sprintf(_t("%(page)d/%(page_count)d"), { page: page + 1, - page_count: pages + page_count: self.max_page_index + 1 })) .end() .find('button[data-pager-action=previous]') .toggleClass('disabled', page === 0) .end() .find('button[data-pager-action=next]') - .toggleClass('disabled', page === pages - 1); + .toggleClass('disabled', page === self.max_page_index); } } @@ -1608,7 +1616,7 @@ instance.web.ListView.Groups = instance.web.Class.extend( /** @lends instance.we .pluck('name').value(), function (groups) { // page count is irrelevant on grouped page, replace by limit - self.view.$pager.find('.oe_pager_group').hide(); + self.view.$pager.find('.oe-pager-buttons').hide(); self.view.$pager.find('.oe_list_pager_state').text(self.view._limit ? self.view._limit : '∞'); $el[0].appendChild( self.render_groups(groups)); diff --git a/addons/web/static/src/xml/base.xml b/addons/web/static/src/xml/base.xml index e97e0da19e2..6585266bfac 100644 --- a/addons/web/static/src/xml/base.xml +++ b/addons/web/static/src/xml/base.xml @@ -94,7 +94,7 @@ <tr> <td><label for="db_name">Select a database name:</label></td> <td> - <input type="text" name="db_name" class="required" matches="^[a-zA-Z0-9][a-zA-Z0-9_-]+$" autofocus="true" placeholder="e.g. mycompany"/> + <input type="text" name="db_name" class="required" matches="^[a-zA-Z0-9][a-zA-Z0-9_-]+$" autofocus="true" placeholder="e.g. mycompany"/> </td> </tr> <tr> @@ -484,7 +484,7 @@ <div class="oe-view-manager-buttons"> <t t-foreach="widget.views" t-as="view"> <div t-attf-class="oe-#{view}-buttons"/> - </t> + </t> </div> <div class="oe-view-manager-sidebar"></div> </div> @@ -527,8 +527,8 @@ <li><a data-action="translate">Technical Translation</a></li> <li><a data-action="manage_views">Manage Views</a></li> <li><a data-action="edit" data-model="ir.ui.view" t-att-data-id="view.fields_view.view_id">Edit <t t-esc="_.str.capitalize(view.fields_view.type)"/> View</a></li> - <li t-if="view_manager.searchview"><a data-action="edit" data-model="ir.ui.view" t-att-data-id="view_manager.searchview.view_id">Edit SearchView</a></li> - <li t-if="view_manager.action"><a data-action="edit" t-att-data-model="view_manager.action.type" t-att-data-id="view_manager.action.id">Edit Action</a></li> + <li t-if="view_manager.searchview"><a data-action="edit" data-model="ir.ui.view" t-att-data-id="view_manager.searchview.view_id">Edit SearchView</a></li> + <li t-if="view_manager.action"><a data-action="edit" t-att-data-model="view_manager.action.type" t-att-data-id="view_manager.action.id">Edit Action</a></li> <li><a data-action="edit_workflow">Edit Workflow</a></li> <li><a data-action="print_workflow">Print Workflow</a></li> <li class="divider"/> @@ -579,7 +579,7 @@ <div t-name="Sidebar" class="oe_sidebar btn-group"> <t t-foreach="widget.sections" t-as="section"> <div class="oe_form_dropdown_section btn-group btn-group-sm"> - <button class="btn btn-default dropdown-toggle" + <button class="btn btn-default dropdown-toggle" t-if="section.name != 'buttons'" data-toggle="dropdown"> <t t-if="section.name == 'files'" t-raw="widget.items[section.name].length || ''"/> @@ -612,8 +612,10 @@ </t> <a class="oe_file_attachment" t-att-title="item.title or ''" t-att-data-section="section.name" t-att-data-index="item_index" t-att-href="item.url"> <t t-raw="item.label"/> + <span t-if="section.name == 'files' and !item.callback" class="oe_sidebar_delete_item" t-att-data-id="item.id" title="Delete this attachment"> + <i class="fa fa-trash-o"/> + </span> </a> - <a t-if="section.name == 'files' and !item.callback" class="oe_sidebar_delete_item" t-att-data-id="item.id" title="Delete this attachment">x</a> </li> <li t-if="section.name == 'files'" class="oe_sidebar_add_attachment"> <t t-call="HiddenInputFile"> @@ -792,8 +794,8 @@ <div t-name="FormView.buttons"> <t t-if="widget.options.action_buttons !== false"> <div class="oe_form_buttons_view"> - <button t-if="widget.is_action_enabled('edit')" - type="button" + <button t-if="widget.is_action_enabled('edit')" + type="button" class="oe_form_button_edit btn btn-default btn-sm" accesskey="E"> Edit </button> @@ -918,7 +920,7 @@ <button class="btn btn-default fa fa-line-chart oe-line-mode" title="Line Chart"></button> <button class="btn btn-default fa fa-pie-chart oe-pie-mode" title="Pie Chart"></button> </div> - <div class="btn-group btn-group-sm"> + <div class="btn-group btn-group-sm"> <button class="btn btn-default dropdown-toggle" data-toggle="dropdown"> Measure <span class="caret"/> </button> @@ -950,7 +952,7 @@ <button class="btn btn-default fa fa-expand oe-pivot-flip" title="Flip axis"></button> <button class="btn btn-default fa fa-arrows-alt oe-pivot-expand-all" title="Expand all"></button> </div> - <div class="btn-group btn-group-sm"> + <div class="btn-group btn-group-sm"> <button class="btn btn-default dropdown-toggle" data-toggle="dropdown"> Measures <span class="caret"/> </button> @@ -1107,9 +1109,10 @@ <ul style="list-style: none; padding-left: 2px; display: inline-block;"> <t t-foreach="widget.priorities" t-as="rec" > <li t-att-data-value="rec.click_value" style="display: inline-block;"> - <a href="#" t-att-title="rec.name"> + <a t-if="!widget.get('readonly')" href="#" t-att-title="rec.name"> <i t-att-class="widget.get('value') gte rec.value and 'fa fa-star oe_star_on' or 'fa fa-star oe_star_off'"/> </a> + <span t-if="widget.get('readonly')" t-att-title="rec.name" t-att-class="widget.get('value') gte rec.value and 'oe_e oe_star_on' or 'oe_e oe_star_off'">7</span> </li> </t> </ul> @@ -1148,7 +1151,7 @@ ></textarea><img class="oe_field_translate oe_input_icon" t-if="widget.field.translate and !widget.get('effective_readonly')" t-att-src='_s + "/web/static/src/img/icons/terp-translate.png"' width="16" height="16" border="0" - /> + /> </t> <t t-if="widget.get('effective_readonly')"> <span class="oe_form_text_content"></span> @@ -1476,7 +1479,7 @@ <div class="oe_placeholder_files"/> <div class="oe_add" t-if="!widget.get('effective_readonly')"> <!-- uploader of file --> - <button class="oe_attach"><i class="fa fa-paperclip"/></button> + <button class="oe_attach"><i class="fa fa-paperclip"/></button> <span class='oe_attach_label'><t t-esc="widget.string"/></span> <t t-call="HiddenInputFile"> <t t-set="fileupload_id" t-value="widget.fileupload_id"/> |
