[MERGE] Alias Visibility and Salesteams View. Improve the display of alias in form views and in empty list help messages. Improve the use, visibility and display of salesteams.
Add support for 'no result' help message in kanban views. Add css for empty list in kanban views + generic display of mail aliases. bzr revid: tde@openerp.com-20130405152131-4auticfaj24wbpqx
This commit is contained in:
commit
aaed0ccd43
|
@ -2105,6 +2105,9 @@
|
|||
.openerp .oe_form_invisible {
|
||||
display: none !important;
|
||||
}
|
||||
.openerp .oe_form_editable .oe_read_only {
|
||||
display: none !important;
|
||||
}
|
||||
.openerp .oe_form_readonly .oe_edit_only, .openerp .oe_form_readonly .oe_form_field:empty {
|
||||
display: none !important;
|
||||
}
|
||||
|
@ -2401,6 +2404,7 @@
|
|||
background: white;
|
||||
min-width: 60px;
|
||||
color: #1f1f1f;
|
||||
font-family: "Lucida Grande", Helvetica, Verdana, Arial, sans-serif;
|
||||
}
|
||||
.openerp .oe_form input[readonly], .openerp .oe_form select[readonly], .openerp .oe_form textarea[readonly], .openerp .oe_form input[disabled], .openerp .oe_form select[disabled] {
|
||||
background: #e5e5e5 !important;
|
||||
|
@ -2415,6 +2419,7 @@
|
|||
-moz-border-radius: 0px;
|
||||
-webkit-border-radius: 0px;
|
||||
border-radius: 0px;
|
||||
color: #4c4c4c;
|
||||
}
|
||||
.openerp .oe_form textarea.oe_inline[disabled] {
|
||||
border-left: 8px solid #eeeeee;
|
||||
|
|
|
@ -1681,6 +1681,9 @@ $sheet-padding: 16px
|
|||
@include box-shadow((0 1px 2px rgba(0, 0, 0, .1), 0 1px 1px rgba(255, 255, 255, .8) inset))
|
||||
.oe_form_invisible
|
||||
display: none !important
|
||||
.oe_form_editable
|
||||
.oe_read_only
|
||||
display: none !important
|
||||
.oe_form_readonly
|
||||
.oe_edit_only, .oe_form_field:empty
|
||||
display: none !important
|
||||
|
@ -1901,6 +1904,7 @@ $sheet-padding: 16px
|
|||
background: white
|
||||
min-width: 60px
|
||||
color: #1f1f1f
|
||||
font-family: "Lucida Grande", Helvetica, Verdana, Arial, sans-serif
|
||||
input[readonly], select[readonly], textarea[readonly], input[disabled], select[disabled]
|
||||
background: #E5E5E5 !important
|
||||
color: #666
|
||||
|
@ -1909,6 +1913,7 @@ $sheet-padding: 16px
|
|||
padding-left: 8px
|
||||
@include box-shadow(none)
|
||||
@include radius(0px)
|
||||
color: #4c4c4c
|
||||
textarea.oe_inline[disabled]
|
||||
border-left: 8px solid #eee
|
||||
.oe_form_field_url button img
|
||||
|
|
|
@ -1364,7 +1364,7 @@ instance.web.View = instance.web.Widget.extend({
|
|||
} else if (action_data.type=="action") {
|
||||
return this.rpc('/web/action/load', {
|
||||
action_id: action_data.name,
|
||||
context: instance.web.pyeval.eval('context', context),
|
||||
context: _.extend({'active_model': dataset.model, 'active_ids': dataset.ids, 'active_id': record_id}, instance.web.pyeval.eval('context', context)),
|
||||
do_not_eval: true
|
||||
}).then(handler);
|
||||
} else {
|
||||
|
@ -1452,7 +1452,7 @@ instance.web.View = instance.web.Widget.extend({
|
|||
is_action_enabled: function(action) {
|
||||
var attrs = this.fields_view.arch.attrs;
|
||||
return (action in attrs) ? JSON.parse(attrs[action]) : true;
|
||||
}
|
||||
},
|
||||
});
|
||||
|
||||
/**
|
||||
|
|
|
@ -3,6 +3,27 @@
|
|||
background: white;
|
||||
height: inherit;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_view_nocontent {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
max-width: none;
|
||||
height: 100%;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_view_nocontent .oe_view_nocontent_content {
|
||||
margin-left: 90px;
|
||||
margin-top: 5px;
|
||||
max-width: 700px;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_view_nocontent .oe_view_nocontent_bg {
|
||||
background: #eeeeee;
|
||||
opacity: 0.7;
|
||||
position: absolute;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
z-index: -1;
|
||||
}
|
||||
.openerp .oe_kanban_view.oe_kanban_grouped .oe_kanban_dummy_cell {
|
||||
background: url(/web/static/src/img/form_sheetbg.png);
|
||||
width: 100%;
|
||||
|
@ -178,6 +199,7 @@
|
|||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_add {
|
||||
top: -8px;
|
||||
z-index: 2;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_header .oe_dropdown_toggle {
|
||||
top: -2px;
|
||||
|
@ -197,6 +219,9 @@
|
|||
width: 185px;
|
||||
padding: 10px;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_quick_create {
|
||||
z-index: 2;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_quick_create input {
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
|
@ -266,6 +291,18 @@
|
|||
font-weight: bold;
|
||||
margin: 2px 4px;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_record .oe_kanban_alias {
|
||||
margin: 0px 0 8px 0;
|
||||
}
|
||||
.openerp .oe_kanban_view .oe_kanban_record .oe_kanban_alias .oe_e {
|
||||
font-size: 30px;
|
||||
line-height: 6px;
|
||||
vertical-align: top;
|
||||
margin-right: 3px;
|
||||
color: white;
|
||||
text-shadow: 0px 0px 2px black;
|
||||
float: left;
|
||||
}
|
||||
.openerp .oe_kanban_view.oe_kanban_grouped .oe_kanban_record {
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
|
|
|
@ -51,9 +51,28 @@
|
|||
//background: url(data:image/pngbase64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAKElEQVQIHWP8DwTv379nAAFBQUEGhnfv3oHEwADEZgJLIRGMIClkLQCr3x2Htp/lLwAAAABJRU5ErkJggg==)
|
||||
background: white
|
||||
height: inherit
|
||||
&.oe_kanban_grouped .oe_kanban_dummy_cell
|
||||
background: url(/web/static/src/img/form_sheetbg.png)
|
||||
width: 100%
|
||||
.oe_view_nocontent
|
||||
position: relative
|
||||
z-index: 1
|
||||
max-width: none
|
||||
height: 100%
|
||||
.oe_view_nocontent_content
|
||||
margin-left: 90px
|
||||
margin-top: 5px
|
||||
max-width: 700px
|
||||
.oe_view_nocontent_bg
|
||||
background: #eee
|
||||
opacity: 0.7
|
||||
position: absolute
|
||||
top: 0
|
||||
bottom: 0
|
||||
left: 0
|
||||
right: 0
|
||||
z-index: -1
|
||||
&.oe_kanban_grouped
|
||||
.oe_kanban_dummy_cell
|
||||
background: url(/web/static/src/img/form_sheetbg.png)
|
||||
width: 100%
|
||||
.oe_kanban_group_length
|
||||
text-align: center
|
||||
display: none
|
||||
|
@ -195,6 +214,7 @@
|
|||
position: relative
|
||||
.oe_kanban_add
|
||||
top: -8px
|
||||
z-index: 2
|
||||
.oe_kanban_header .oe_dropdown_toggle
|
||||
top: -2px
|
||||
height: 14px
|
||||
|
@ -209,6 +229,8 @@
|
|||
.oe_kanban_no_group .oe_kanban_quick_create
|
||||
width: 185px
|
||||
padding: 10px
|
||||
.oe_kanban_quick_create
|
||||
z-index: 2
|
||||
.oe_kanban_quick_create input
|
||||
@include box-sizing(border-box)
|
||||
outline: none
|
||||
|
@ -258,6 +280,16 @@
|
|||
.oe_kanban_title
|
||||
font-weight: bold
|
||||
margin: 2px 4px
|
||||
.oe_kanban_alias
|
||||
margin: 0px 0 8px 0
|
||||
.oe_e
|
||||
font-size: 30px
|
||||
line-height: 6px
|
||||
vertical-align: top
|
||||
margin-right: 3px
|
||||
color: white
|
||||
text-shadow: 0px 0px 2px rgba(0, 0, 0, 1)
|
||||
float: left
|
||||
&.oe_kanban_grouped
|
||||
.oe_kanban_record
|
||||
margin-bottom: 4px
|
||||
|
|
|
@ -225,7 +225,6 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
|||
},
|
||||
do_search: function(domain, context, group_by) {
|
||||
var self = this;
|
||||
this.$el.find('.oe_view_nocontent').remove();
|
||||
this.search_domain = domain;
|
||||
this.search_context = context;
|
||||
this.search_group_by = group_by;
|
||||
|
@ -238,6 +237,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
|||
var grouping_fields = self.group_by ? [self.group_by].concat(_.keys(self.aggregates)) : undefined;
|
||||
var grouping = new instance.web.Model(self.dataset.model, context, domain).query().group_by(grouping_fields);
|
||||
return self.alive($.when(grouping)).done(function(groups) {
|
||||
self.remove_no_result();
|
||||
if (groups) {
|
||||
self.do_process_groups(groups);
|
||||
} else {
|
||||
|
@ -248,6 +248,7 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
|||
},
|
||||
do_process_groups: function(groups) {
|
||||
var self = this;
|
||||
this.$el.find('table:first').show();
|
||||
this.$el.removeClass('oe_kanban_ungrouped').addClass('oe_kanban_grouped');
|
||||
this.add_group_mutex.exec(function() {
|
||||
self.do_clear_groups();
|
||||
|
@ -256,13 +257,15 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
|||
self.no_result();
|
||||
return false;
|
||||
}
|
||||
self.nb_records = 0;
|
||||
var remaining = groups.length - 1,
|
||||
groups_array = [];
|
||||
return $.when.apply(null, _.map(groups, function (group, index) {
|
||||
var dataset = new instance.web.DataSetSearch(self, self.dataset.model,
|
||||
new instance.web.CompoundContext(self.dataset.get_context(), group.model.context()), group.model.domain());
|
||||
return dataset.read_slice(self.fields_keys.concat(['__last_update']), { 'limit': self.limit })
|
||||
.then(function(records) {
|
||||
.then(function (records) {
|
||||
self.nb_records += records.length;
|
||||
self.dataset.ids.push.apply(self.dataset.ids, dataset.ids);
|
||||
groups_array[index] = new instance.web_kanban.KanbanGroup(self, records, group, dataset);
|
||||
if (!remaining--) {
|
||||
|
@ -270,11 +273,16 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
|||
return self.do_add_groups(groups_array);
|
||||
}
|
||||
});
|
||||
}));
|
||||
})).then(function () {
|
||||
if(!self.nb_records) {
|
||||
self.no_result();
|
||||
}
|
||||
});
|
||||
});
|
||||
},
|
||||
do_process_dataset: function() {
|
||||
var self = this;
|
||||
this.$el.find('table:first').show();
|
||||
this.$el.removeClass('oe_kanban_grouped').addClass('oe_kanban_ungrouped');
|
||||
this.add_group_mutex.exec(function() {
|
||||
var def = $.Deferred();
|
||||
|
@ -313,6 +321,9 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
|||
var $last_td = self.$el.find('.oe_kanban_groups_headers td:last');
|
||||
var groups_started = _.map(this.groups, function(group) {
|
||||
if (!group.is_started) {
|
||||
group.on("add_record", self, function () {
|
||||
self.remove_no_result();
|
||||
});
|
||||
return group.insertBefore($last_td);
|
||||
}
|
||||
});
|
||||
|
@ -445,20 +456,22 @@ instance.web_kanban.KanbanView = instance.web.View.extend({
|
|||
}
|
||||
},
|
||||
no_result: function() {
|
||||
var self = this;
|
||||
if (this.groups.group_by
|
||||
|| !this.options.action
|
||||
|| !this.options.action.help) {
|
||||
|| (!this.options.action.help && !this.options.action.get_empty_list_help)) {
|
||||
return;
|
||||
}
|
||||
this.$el.find('.oe_view_nocontent').remove();
|
||||
this.$el.prepend(
|
||||
$('<div class="oe_view_nocontent">').html(this.options.action.help)
|
||||
);
|
||||
var create_nocontent = this.$buttons;
|
||||
this.$el.find('table:first').css("position", "absolute");
|
||||
$(QWeb.render('KanbanView.nocontent', { content : this.options.action.get_empty_list_help || this.options.action.help})).insertAfter(this.$('table:first'));
|
||||
this.$el.find('.oe_view_nocontent').click(function() {
|
||||
create_nocontent.openerpBounce();
|
||||
self.$buttons.openerpBounce();
|
||||
});
|
||||
},
|
||||
remove_no_result: function() {
|
||||
this.$el.find('table:first').css("position", false);
|
||||
this.$el.find('.oe_view_nocontent').remove();
|
||||
},
|
||||
|
||||
/*
|
||||
* postprocessing of fields type many2many
|
||||
|
@ -573,19 +586,26 @@ instance.web_kanban.KanbanGroup = instance.web.Widget.extend({
|
|||
});
|
||||
|
||||
this.$el.find('.oe_kanban_add').click(function () {
|
||||
if (self.quick) {
|
||||
return self.quick.trigger('close');
|
||||
if (self.view.quick) {
|
||||
self.view.quick.trigger('close');
|
||||
}
|
||||
if (self.quick) {
|
||||
return false;
|
||||
}
|
||||
self.view.$el.find('.oe_view_nocontent').hide();
|
||||
var ctx = {};
|
||||
ctx['default_' + self.view.group_by] = self.value;
|
||||
self.quick = new (get_class(self.view.quick_create_class))(this, self.dataset, ctx, true)
|
||||
.on('added', self, self.proxy('quick_created'))
|
||||
.on('close', self, function() {
|
||||
self.view.$el.find('.oe_view_nocontent').show();
|
||||
this.quick.destroy();
|
||||
delete self.view.quick;
|
||||
delete this.quick;
|
||||
});
|
||||
self.quick.appendTo($(".oe_kanban_group_list_header", self.$records));
|
||||
self.quick.focus();
|
||||
self.view.quick = self.quick;
|
||||
});
|
||||
// Add bounce effect on image '+' of kanban header when click on empty space of kanban grouped column.
|
||||
this.$records.on('click', '.oe_kanban_show_more', this.do_show_more);
|
||||
|
@ -722,6 +742,8 @@ instance.web_kanban.KanbanGroup = instance.web.Widget.extend({
|
|||
*/
|
||||
quick_created: function (record) {
|
||||
var id = record, self = this;
|
||||
self.view.remove_no_result();
|
||||
self.trigger("add_record");
|
||||
this.dataset.read_ids([id], this.view.fields_keys)
|
||||
.done(function (records) {
|
||||
self.view.dataset.ids.push(id);
|
||||
|
|
|
@ -100,4 +100,12 @@
|
|||
</div>
|
||||
</t>
|
||||
</div>
|
||||
<t t-name="KanbanView.nocontent">
|
||||
<div class="oe_view_nocontent">
|
||||
<div class="oe_view_nocontent_bg"></div>
|
||||
<div class="oe_view_nocontent_content">
|
||||
<t t-raw="content"/>
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
</template>
|
||||
|
|
Loading…
Reference in New Issue