[Merge]Merge Trunk

bzr revid: vja@tinyerp.com-20121023092426-b268cwaz9qh0gliq
This commit is contained in:
Vishmita
2012-10-23 14:54:26 +05:30
11 changed files with 2496 additions and 2941 deletions
+14 -14
View File
@@ -8,14 +8,14 @@ msgstr ""
"Project-Id-Version: openerp-web\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2012-07-02 09:06+0200\n"
"PO-Revision-Date: 2012-02-16 21:49+0000\n"
"Last-Translator: Davide Corio - agilebg.com <davide.corio@agilebg.com>\n"
"PO-Revision-Date: 2012-10-22 14:36+0000\n"
"Last-Translator: Marius Marolla <mariusmarolla@areablu.net>\n"
"Language-Team: Italian <it@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2012-10-21 05:02+0000\n"
"X-Generator: Launchpad (build 16165)\n"
"X-Launchpad-Export-Date: 2012-10-23 05:05+0000\n"
"X-Generator: Launchpad (build 16179)\n"
#. openerp-web
#: addons/web/static/src/js/chrome.js:176
@@ -129,56 +129,56 @@ msgstr "OpenERP - Unsupported/Community Version"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:619
msgid "less than a minute ago"
msgstr ""
msgstr "meno di un minuto fa"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:620
msgid "about a minute ago"
msgstr ""
msgstr "circa un minuto fa"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:621
#, python-format
msgid "%d minutes ago"
msgstr ""
msgstr "%d minuti fa"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:622
msgid "about an hour ago"
msgstr ""
msgstr "circa un'ora fa"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:623
#, python-format
msgid "%d hours ago"
msgstr ""
msgstr "%d ore fa"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:624
msgid "a day ago"
msgstr ""
msgstr "un giorno fa"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:625
#, python-format
msgid "%d days ago"
msgstr ""
msgstr "%d giorni fa"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:626
msgid "about a month ago"
msgstr ""
msgstr "circa un mese fa"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:627
#, python-format
msgid "%d months ago"
msgstr ""
msgstr "%d mesi fa"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:628
msgid "about a year ago"
msgstr ""
msgstr "circa un anno fa"
#. openerp-web
#: addons/web/static/src/js/coresetup.js:629
File diff suppressed because it is too large Load Diff
+31 -25
View File
@@ -120,7 +120,7 @@ $sheet-max-width: 860px
font-size: 1px
letter-spacing: -1px
color: transparent
font-weight: normal
font-weight: normal
&:before
font: 21px "mnmliconsRegular"
content: $icon-name
@@ -130,7 +130,7 @@ $sheet-max-width: 860px
font-size: 1px
letter-spacing: -1px
color: transparent
font-weight: normal
font-weight: normal
&:before
font: $size "entypoRegular"
content: $icon-name
@@ -144,7 +144,6 @@ $sheet-max-width: 860px
.openerp.openerp_webclient_container
height: 100%
position: relative
// jQueryUI css bug fixing
.text-tag .text-button
@@ -253,6 +252,10 @@ $sheet-max-width: 860px
.oe_bounce_container
display: inline-block
// bug noted in jquery ui CSS doesn't seem to occur in IE9,
// so remove position:relative
.ui-tabs
position: static
// Modal box
&.ui-dialog
display: none
@@ -612,7 +615,7 @@ $sheet-max-width: 860px
vertical-align: top
margin-top: 8px
//margin-left set at 3px to avoid a strange overflow
margin-left: 3px
margin-left: 3px
border-left: 4px solid transparent
border-right: 4px solid transparent
border-top: 4px solid#404040
@@ -805,7 +808,7 @@ $sheet-max-width: 860px
display: none
// }}}
// Top Menu {{{
.oe_topbar
width: 100%
height: 32px
@@ -978,7 +981,7 @@ $sheet-max-width: 860px
.oe_menu_counter
float: right
text-shadow: 0 1px 1px rgba(0,0,0,0.2)
margin: 1px
margin: 1px
padding: 1px 4px
border: none
&:hover
@@ -1070,7 +1073,7 @@ $sheet-max-width: 860px
// ViewManager common {{{
.oe_view_manager
.oe_view_manager_body
height: inherit
height: inherit
.oe_view_manager_view_kanban
height: inherit
@@ -1580,7 +1583,7 @@ $sheet-max-width: 860px
display: none !important
.oe_form .oe_form_field_date
width: auto
// Sheet and padding
// Sheet and padding
.oe_form_nosheet
margin: 16px
> header
@@ -1626,7 +1629,7 @@ $sheet-max-width: 860px
margin-left: 6px
// }}}
// FormView.custom tags and classes {{{
.oe_form
.oe_form
header
.oe_tags
margin: 5px 0 0 5px
@@ -1789,7 +1792,7 @@ $sheet-max-width: 860px
display: none
.oe_datepicker_root
display: inline-block
.oe_form_required
.oe_form_required
input:not([disabled]):not([readonly]), select:not([disabled]):not([readonly]), textarea:not([disabled]):not([readonly])
background-color: #D2D2FF !important
.oe_form_invalid
@@ -1825,10 +1828,10 @@ $sheet-max-width: 860px
position: relative
width: 600px
margin-left: 130px
margin-top: 32px
margin-top: 32px
margin-bottom: 32px
text-align: justify
.oe_form_editable
.oe_form
.oe_form_field_integer input
@@ -1906,7 +1909,7 @@ $sheet-max-width: 860px
display: inline-block
margin: 0
padding: 0 18px 0 0
li
li
display: inline-block
list-style-type: none
// It is probably a bad idea to modify this margin
@@ -1936,7 +1939,7 @@ $sheet-max-width: 860px
vertical-align: top
overflow: hidden
margin-left: -5px
span
span
position: relative
width: 24px
height: 24px
@@ -1949,7 +1952,7 @@ $sheet-max-width: 860px
@include transform(rotate(45deg))
li.oe_active
@include vertical-gradient(#729fcf, #3465a4)
.arrow span
.arrow span
@include skew-gradient(#729fcf, #3465a4)
.label
color: white
@@ -1957,20 +1960,20 @@ $sheet-max-width: 860px
ul.oe_form_status_clickable
li
cursor: pointer
&:hover
&:hover
@include vertical-gradient(darken(#fcfcfc, 8%), darken(#dedede, 8%))
.label
text-shadow: 0 -1px 1px #fcfcfc, 0 1px 1px #dedede
.arrow span
.arrow span
@include vertical-gradient(darken(#fcfcfc, 8%), darken(#dedede, 8%))
.label
color: $link-color
li.oe_active
&:hover
&:hover
@include vertical-gradient(darken(#729fcf, 10%), darken(#3465a4, 10%))
.label
text-shadow: 0 -1px 1px #729fcf, 0 1px 1px #3465a4
.arrow span
.arrow span
@include skew-gradient(darken(#729fcf, 10%), darken(#3465a4, 10%))
// }}}
// FormView.one2many {{{
@@ -2082,7 +2085,6 @@ $sheet-max-width: 860px
visibility: visible
.oe_list
position: relative
.oe_form
.oe_form_nosheet
margin: 0 // FIXME: either class or border should not be by default
@@ -2180,7 +2182,9 @@ $sheet-max-width: 860px
.oe_list_handle
@include text-to-entypo-icon("}",#E0E0E0,18px)
margin-right: 7px
.oe_list_cannot_create
.oe_view_nocontent_create
display: none
.oe_list_cannot_edit
.oe_list_header_handle, .oe_list_field_handle
display: none !important
@@ -2188,7 +2192,6 @@ $sheet-max-width: 860px
.oe_list_cannot_delete
.oe_list_record_delete
display: none !important
// }}}
// Tree view {{{
.tree_header
@@ -2239,7 +2242,6 @@ $sheet-max-width: 860px
background-image: url(/web/static/src/img/collapse.gif)
.treeview-tr.oe-treeview-first span, .treeview-td.oe-treeview-first span
margin-left: 16px
// }}}
// Debugging stuff {{{
.oe_layout_debugging
@@ -2282,7 +2284,6 @@ $sheet-max-width: 860px
background-attachment: fixed
>*
opacity: 0.70
// }}}
// The jQuery-ui overlay and Autocomplete are outside the .openerp div, please don't add indentation !!!
@@ -2304,7 +2305,7 @@ div.ui-widget-overlay
width: 100%
padding: 0
a
padding: 1px 16px
padding: 1px 16px
a.ui-corner-all
@include radius(0)
a.ui-state-active
@@ -2317,5 +2318,10 @@ div.ui-widget-overlay
.ui-corner-all
@include radius(3px)
.resolution table
width: 100%
line-height: 20px
td
valign: middle
// au BufWritePost,FileWritePost *.sass :!sass --style expanded --line-numbers <afile> > "%:p:r.css"
// vim:tabstop=4:shiftwidth=4:softtabstop=4:fdm=marker:
+15 -1
View File
@@ -987,7 +987,21 @@ instance.web.WebClient = instance.web.Client.extend({
start: function() {
var self = this;
return $.when(this._super()).pipe(function() {
self.$el.on('click', '.oe_logo', function() {
self.$el.on('contextmenu','.oe_logo',function(e) {
instance.web.dialog($(QWeb.render('Resolution')),{
title: "OpenERP Resolution" });
$(self.$el).click(function(){
$('.resolution').dialog('close');
})
$('.resolution a').click(function() {
self.$el.find('.oe_logo').css('width', $(this).attr('awidth')+"px");
self.$el.find('.oe_logo').css('height', $(this).attr('aheight')+"px");
self.$el.find('.oe_logo img').css('width', $(this).attr('imgw')+"px");
self.$el.find('.oe_logo img').css('height', $(this).attr('imgh')+"px");
})
})
self.$el.on('click', '.oe_logo', function(e) {
self.action_manager.do_action('home');
});
if (jQuery.param !== undefined && jQuery.deparam(jQuery.param.querystring()).kitten !== undefined) {
+3 -2
View File
@@ -135,6 +135,8 @@ instance.web.Query = instance.web.Class.extend({
}).pipe(function (results) {
return _(results).map(function (result) {
// FIX: querygroup initialization
result.__context = result.__context || {};
result.__context.group_by = result.__context.group_by || [];
_.defaults(result.__context, ctx);
return new instance.web.QueryGroup(
self._model.name, grouping[0], result);
@@ -557,8 +559,7 @@ instance.web.DataSet = instance.web.CallbackEnabled.extend({
return this._model.call('name_create', [name], {context: this._model.context()});
},
exec_workflow: function (id, signal) {
return this._model.exec_workflow(id, signal)
.pipe(function (result) { return { result: result }; });
return this._model.exec_workflow(id, signal);
},
get_context: function(request_context) {
return this._model.context(request_context);
+2 -1
View File
@@ -746,7 +746,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
this.on_invalid(search.errors);
return;
}
return this.trigger('search_data', search.domains, search.contexts, search.groupbys);
this.trigger('search_data', search.domains, search.contexts, search.groupbys);
},
/**
* Triggered after the SearchView has collected all relevant domains and
@@ -777,6 +777,7 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
*/
on_invalid: function (errors) {
this.do_notify(_t("Invalid Search"), _t("triggered from search view"));
this.trigger('invalid_search', errors);
}
});
+23 -4
View File
@@ -169,7 +169,6 @@ instance.web.FormView = instance.web.View.extend(instance.web.form.FieldManagerM
this.$buttons = $(QWeb.render("FormView.buttons", {'widget':self}));
if (this.options.$buttons) {
this.options.$buttons.children().remove();
this.$buttons.appendTo(this.options.$buttons);
} else {
this.$el.find('.oe_form_buttons').replaceWith(this.$buttons);
@@ -3131,8 +3130,10 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
if (!this.get("effective_readonly")) {
this.$input.val(str.split("\n")[0]);
this.current_display = this.$input.val();
if(this.is_false()){
if (this.is_false()) {
this.$('.oe_m2o_cm_button').css({'display':'none'});
} else {
this.$('.oe_m2o_cm_button').css({'display':'inline'});
}
} else {
var lines = _.escape(str).split("\n");
@@ -3362,6 +3363,13 @@ instance.web.form.FieldOne2Many = instance.web.form.AbstractField.extend({
controller.on('edit:before', self, function (e) {
e.cancel = true;
});
_(controller.columns).find(function (column) {
if (!column instanceof instance.web.list.Handle) {
return false;
}
column.modifiers.invisible = true;
return true;
});
}
} else if (view_type === "form") {
if (self.get("effective_readonly")) {
@@ -3597,6 +3605,7 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({
_template: 'One2Many.listview',
init: function (parent, dataset, view_id, options) {
this._super(parent, dataset, view_id, _.extend(options || {}, {
GroupsType: instance.web.form.One2ManyGroups,
ListType: instance.web.form.One2ManyList
}));
this.on('edit:before', this, this.proxy('_before_edit'));
@@ -3777,6 +3786,13 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({
});
}
});
instance.web.form.One2ManyGroups = instance.web.ListView.Groups.extend({
setup_resequence_rows: function () {
if (!this.view.o2m.get('effective_readonly')) {
this._super.apply(this, arguments);
}
}
});
instance.web.form.One2ManyList = instance.web.ListView.List.extend({
pad_table_to: function (count) {
if (!this.view.is_action_enabled('create')) {
@@ -4156,6 +4172,9 @@ instance.web.form.FieldMany2ManyKanban = instance.web.form.AbstractField.extend(
}
this._super(value_);
},
get_value: function() {
return [commands.replace_with(this.get('value'))];
},
load_view: function() {
var self = this;
this.kanban_view = new instance.web.form.Many2ManyKanbanView(this, this.dataset, false, {
@@ -4189,7 +4208,7 @@ instance.web.form.FieldMany2ManyKanban = instance.web.form.AbstractField.extend(
});
},
dataset_changed: function() {
this.set({'value': [commands.replace_with(this.dataset.ids)]});
this.set({'value': this.dataset.ids});
},
open_popup: function(type, unused) {
if (type !== "form")
@@ -4545,7 +4564,7 @@ instance.web.form.SelectCreatePopup = instance.web.form.AbstractFormPopup.extend
});
});
});
this.searchview.appendTo($(".oe_popup_list", self.$el));
this.searchview.appendTo($(".oe_popup_search", self.$el));
},
do_search: function(domains, contexts, groupbys) {
var self = this;
+21 -11
View File
@@ -24,10 +24,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
},
dialog_stop: function () {
if (this.dialog) {
this.dialog_widget.destroy();
this.dialog_widget = null;
this.dialog.destroy();
this.dialog = null;
}
},
/**
@@ -299,15 +296,14 @@ instance.web.ActionManager = instance.web.Widget.extend({
}
var widget = executor.widget();
if (executor.action.target === 'new') {
if (this.dialog_widget && ! this.dialog_widget.isDestroyed())
this.dialog_widget.destroy();
if (this.dialog === null || this.dialog.isDestroyed()) {
this.dialog = new instance.web.Dialog(this, {
buttons: {"Close": function() {$(this).dialog("close")}},
dialogClass: executor.klass,
});
this.dialog.on("closing", null, options.on_close);
this.dialog.init_dialog();
} else {
this.dialog_widget.destroy();
}
this.dialog.dialog_title = executor.action.name;
if (widget instanceof instance.web.ViewManager) {
@@ -317,6 +313,7 @@ instance.web.ActionManager = instance.web.Widget.extend({
});
}
this.dialog_widget = widget;
this.dialog_widget.setParent(this.dialog);
var initialized = this.dialog_widget.appendTo(this.dialog.$el);
this.dialog.open();
return initialized;
@@ -914,8 +911,17 @@ instance.web.ViewManagerAction = instance.web.ViewManager.extend({
view.set({ 'title': this.action.name });
return r;
},
get_action_manager: function() {
var cur = this;
while (cur = cur.getParent()) {
if (cur instanceof instance.web.ActionManager) {
return cur;
}
}
return undefined;
},
set_title: function(title) {
this.$el.find('.oe_breadcrumb_title:first').html(this.getParent().get_title());
this.$el.find('.oe_breadcrumb_title:first').html(this.get_action_manager().get_title());
},
do_push_state: function(state) {
if (this.getParent() && this.getParent().do_push_state) {
@@ -1061,9 +1067,11 @@ instance.web.Sidebar = instance.web.Widget.extend({
additional_context);
result.flags = result.flags || {};
result.flags.new_window = true;
self.do_action(result, function () {
// reload view
self.getParent().reload();
self.do_action(result, {
on_close: function() {
// reload view
self.getParent().reload();
},
});
});
});
@@ -1209,7 +1217,9 @@ instance.web.View = instance.web.Widget.extend({
/* niv: previously we were overriding once more with action_data.context,
* I assumed this was not a correct behavior and removed it
*/
return self.do_action(action, result_handler);
return self.do_action(action, {
on_close: result_handler,
});
}, null);
} else {
return result_handler();
+25 -3
View File
@@ -10,6 +10,27 @@
Loading...
</div>
</t>
<t t-name="Resolution">
<div class="resolution">
<table>
<tr>
<td colspan="2"><label>Resolution:</label></td>
</tr>
<tr>
<td><a awidth="150" aheight="60" imgw="100" imgh="30">150 x 60</a></td>
<td><a awidth="250" aheight="90" imgw="200" imgh="60">250 x 90</a></td>
</tr>
<tr>
<td><a awidth="290" aheight="90" imgw="225" imgh="60">290 x 90</a></td>
<td><a awidth="320" aheight="100" imgw="257" imgh="70">320 x 100</a></td>
</tr>
<tr>
<td></td>
<td style="float:right;"><a awidth="220" aheight="70" imgw="157" imgh="40">Original</a></td>
</tr>
</table>
</div>
</t>
<t t-name="Notification">
<div class="oe_notification" t-translation="off">
<div id="oe_notification_default">
@@ -404,7 +425,7 @@
</tr>
<tr>
<td class="oe_leftbar" valign="top">
<a class="oe_logo" href="#"><img t-att-src='_s + "/web/static/src/img/logo.png"'/></a>
<a class="oe_logo" href="#"><img onContextMenu="return false;" t-att-src='_s + "/web/static/src/img/logo.png"'/></a>
<div class="oe_secondary_menus_container"/>
<div class="oe_footer">
Powered by <a href="http://www.openerp.com" target="_blank"><span>OpenERP</span></a>
@@ -1090,7 +1111,7 @@
<div class="oe_form_field_image_controls oe_edit_only">
<t t-call="HiddenInputFile">
<t t-set="fileupload_id" t-value="widget.fileupload_id"/>
Edit
Edit
</t>
<div class="oe_form_binary_progress" style="display: none">
<img t-att-src='_s + "/web/static/src/img/throbber.gif"' width="16" height="16"/>
@@ -1297,7 +1318,8 @@
<div t-name="SearchView.InputView"
class="oe_searchview_input"
contenteditable="true"/>
contenteditable="true"
tabindex="0"/>
<!-- tabindex: makes div focusable -->
<div t-name="SearchView.FacetView"
class="oe_tag oe_tag_dark oe_searchview_facet"
+2 -1
View File
@@ -197,7 +197,8 @@ $(document).ready(function () {
var dataset = {model: 'dummy.model', get_context: function () { return {}; }};
var view = new instance.web.SearchView(null, dataset, false, defaults);
view.on_invalid.add(function () {
var self = this;
view.on('invalid_search', self, function () {
ok(false, JSON.stringify([].slice(arguments)));
});
return view;
+16 -1
View File
@@ -117,12 +117,27 @@ instance.web.DiagramView = instance.web.View.extend({
on_diagram_loaded: function(record) {
var id_record = record['id'];
if(id_record) {
if (id_record) {
this.id = id_record;
this.get_diagram_info();
this.do_push_state({id: id_record});
} else {
this.do_push_state({});
}
},
do_load_state: function(state, warm) {
if (state && state.id) {
if (!this.dataset.get_id_index(state.id)) {
this.dataset.ids.push(state.id);
}
this.dataset.select_id(state.id);
if (warm) {
this.do_show();
}
}
},
// Set-up the drawing elements of the diagram
draw_diagram: function(result) {
var self = this;