summaryrefslogtreecommitdiff
path: root/addons/web
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2015-03-02 18:25:40 +0100
committerChristophe Simonis <chs@odoo.com>2015-03-02 18:25:40 +0100
commit9cf6786e758e4e330d8f566b26a8a7a4db6ba687 (patch)
tree0c19c2c847192495ad1e665f3c806bb72d45cf2e /addons/web
parent7c8d295a40ccf189a8d9211731a1e4171815cbc8 (diff)
parentfefb29897272bf0fe6a6e8aca98b1e2c88ae6af5 (diff)
[MERGE] forward port of branch saas-6 up to fefb298
Diffstat (limited to 'addons/web')
-rw-r--r--addons/web/static/src/css/base.css7
-rw-r--r--addons/web/static/src/css/base.sass20
-rw-r--r--addons/web/static/src/js/view_form.js11
-rw-r--r--addons/web/static/src/js/view_list.js22
-rw-r--r--addons/web/static/src/xml/base.xml29
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">&lt;</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">&gt;</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"/>