From 21344cbb70814c41c7570dff844707a386398722 Mon Sep 17 00:00:00 2001 From: "stefan@therp.nl" <> Date: Thu, 24 Mar 2011 17:42:00 +0100 Subject: [PATCH 001/233] [FIX] Cash and Bank journals are unintendedly created as refund journals lp bug: https://launchpad.net/bugs/741863 fixed bzr revid: stefan@therp.nl-20110324164200-npm4eo8ed2my838y --- addons/account/account.py | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/account/account.py b/addons/account/account.py index df27fc2e6bc..ed61da05cbe 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -2946,6 +2946,7 @@ class wizard_multi_charts_accounts(osv.osv_memory): analitical_bank_ids = analytic_journal_obj.search(cr,uid,[('type','=','situation')]) analitical_journal_bank = analitical_bank_ids and analitical_bank_ids[0] or False + vals_journal = {} vals_journal['name']= vals['name'] vals_journal['code']= _('BNK') + str(current_num) vals_journal['sequence_id'] = seq_id From a3f4cb4df31e362f10181b26995056b2d670b9eb Mon Sep 17 00:00:00 2001 From: "Jay Vora (OpenERP)" Date: Wed, 20 Apr 2011 13:17:05 +0530 Subject: [PATCH 002/233] [FIX] Chained locations: processing first move does not copy prod.lot in chained moves lp bug: https://launchpad.net/bugs/763437 fixed bzr revid: jvo@tinyerp.com-20110420074705-a6fmsamg7xzstk5m --- addons/stock/stock.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/addons/stock/stock.py b/addons/stock/stock.py index a728e06fb01..a9e19670d7e 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -2125,6 +2125,8 @@ class stock_move(osv.osv): self.write(cr, uid, [move.id], {'move_history_ids': [(4, move.move_dest_id.id)]}) #cr.execute('insert into stock_move_history_ids (parent_id,child_id) values (%s,%s)', (move.id, move.move_dest_id.id)) if move.move_dest_id.state in ('waiting', 'confirmed'): + if move.prodlot_id.id: + self.write(cr, uid, [move.move_dest_id.id], {'prodlot_id':move.prodlot_id.id}) self.force_assign(cr, uid, [move.move_dest_id.id], context=context) if move.move_dest_id.picking_id: wf_service.trg_write(uid, 'stock.picking', move.move_dest_id.picking_id.id, cr) From 0a7a91b22592eb100b07975425253b82d112d224 Mon Sep 17 00:00:00 2001 From: "Tejas (OpenERP)" Date: Wed, 27 Apr 2011 15:50:56 +0530 Subject: [PATCH 003/233] [FIX] 4635 create project from template and project duplication fixed bzr revid: tta@openerp.com-20110427102056-wndhpylsnzgdoxtv --- addons/project_long_term/project_long_term.py | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/addons/project_long_term/project_long_term.py b/addons/project_long_term/project_long_term.py index c2bc55db212..96811927c12 100644 --- a/addons/project_long_term/project_long_term.py +++ b/addons/project_long_term/project_long_term.py @@ -581,6 +581,37 @@ def Project_%d(): context = {} allocation = {} return allocation + def copy(self, cr, uid, id, default=None, context=None): + if context is None: + context = {} + if default is None: + default = {} + pool_task = self.pool.get('project.task') + pool_phase = self.pool.get('project.phase') + proj = self.browse(cr, uid, id, context=context) + map_phase = {} #maintains a dictionary of old to new phase + map_tasks = {} #maintains a dictionary of tasks either orphan to related to any phase + #Creating a list of new phases + for phase in proj.phase_ids: + map_phase[phase.id] = pool_phase.copy(cr, uid, phase.id, default={}, context=context) + list_phases = map_phase.keys() + map_phase.values() + + for phase_id in map_phase.values(): + for task in pool_phase.browse(cr, uid, phase_id, context).task_ids: + map_tasks[task.id] = phase_id + + #Creating a list of tasks which are not linked to phases + for task in proj.tasks: + if (not task.phase_id.id) or (task.phase_id.id and task.phase_id.id not in list_phases) or (task.phase_id.id and task.phase_id.id in list_phases and not task.active): + #Copy of Real tasks (without Phase) and inactive template tasks + default_phase = task.phase_id.id and {'phase_id' : map_phase.get(task.phase_id.id,False)} or {} + map_tasks[pool_task.copy(cr, uid, task.id, default_phase, context=context)] = map_phase.get(task.phase_id.id,False) + + default.update({'tasks':[(6,0, map_tasks.keys())]}) + default.update({'phase_ids':[(6,0, map_phase.values())]}) + + return super(project, self).copy(cr, uid, id, default, context) + def schedule_tasks(self, cr, uid, ids, context=None): """ From 8fd72aff40eb757013eaee6a0c182c9e1acee7c5 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Thu, 5 May 2011 18:12:21 +0200 Subject: [PATCH 004/233] [FIX] share: avoid crash in web addon with empty share filter bzr revid: odo@openerp.com-20110505161221-d4k3y8v81qz2wbrp --- addons/share/web/controllers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/share/web/controllers.py b/addons/share/web/controllers.py index aa689019259..1b57d960e99 100644 --- a/addons/share/web/controllers.py +++ b/addons/share/web/controllers.py @@ -13,7 +13,7 @@ class ShareWizardController(openerp.controllers.SecuredController): _cp_path = "/share" @expose() - def index(self, domain, search_domain, context, view_id, action_id=None): + def index(self, domain, context, view_id, search_domain='[]', action_id=None): context = ast.literal_eval(context) if not action_id: From ef4c13fad553cbdae08cc82a8f07991f4539f1b6 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Thu, 5 May 2011 18:14:26 +0200 Subject: [PATCH 005/233] [FIX] share: hide Share button when user does not belong to Sharing group bzr revid: odo@openerp.com-20110505161426-c4ocuy98mgbceq5w --- addons/share/web/editors.py | 14 ++++++++++---- addons/share/wizard/share_wizard.py | 12 ++++++++++++ 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/addons/share/web/editors.py b/addons/share/web/editors.py index fd6199a4fd6..1928b644073 100644 --- a/addons/share/web/editors.py +++ b/addons/share/web/editors.py @@ -11,8 +11,13 @@ class ShareActionEditor(openobject.templating.TemplateEditor): share_opener_insertion = output.index( '\n', output.index(self.ADD_SHARE_SECTION)) + 1 - return output[:share_opener_insertion] + \ - '''

${_("Sharing")}

+ return output[:share_opener_insertion] + ''' + <% + if 'has_share' not in cp.session: + cp.session['has_share'] = rpc.RPCProxy('share.wizard').has_share() + %> + % if cp.session['has_share']: +

${_("Sharing")}

  • ${_("Share")} @@ -33,8 +38,9 @@ class ShareActionEditor(openobject.templating.TemplateEditor): }); }); - \n''' + \ - output[share_opener_insertion:] + \n + % endif +''' + output[share_opener_insertion:] def edit(self, template, template_text): return self.insert_share_link( diff --git a/addons/share/wizard/share_wizard.py b/addons/share/wizard/share_wizard.py index 48243c57dda..755e4777eca 100644 --- a/addons/share/wizard/share_wizard.py +++ b/addons/share/wizard/share_wizard.py @@ -50,6 +50,18 @@ class share_create(osv.osv_memory): _name = 'share.wizard' _description = 'Share Wizard' + def has_group(self, cr, uid, module, group_xml_id, context=None): + """Returns True if current user is a member of the group identified by the module, group_xml_id pair.""" + # if the group was deleted or does not exist, we say NO (better safe than sorry) + try: + model, group_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, module, group_xml_id) + except ValueError: + return False + return group_id in self.pool.get('res.users').read(cr, uid, uid, ['groups_id'], context=context)['groups_id'] + + def has_share(self, cr, uid, context=None): + return self.has_group(cr, uid, module='share', group_xml_id='group_share_user', context=context) + _columns = { 'action_id': fields.many2one('ir.actions.act_window', 'Action to share', required=True, help="The action that opens the screen containing the data you wish to share."), From fe6bc5db26b55b8bc20a49036d30ac6aa0b98170 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Thu, 5 May 2011 18:15:39 +0200 Subject: [PATCH 006/233] [FIX] share: bumped up module version after changes to web addon This will notify the web clients to refresh the web addon. bzr revid: odo@openerp.com-20110505161539-cp21x19ii81wr3o6 --- addons/share/__openerp__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/share/__openerp__.py b/addons/share/__openerp__.py index 7a68936970d..9b1b331abb2 100644 --- a/addons/share/__openerp__.py +++ b/addons/share/__openerp__.py @@ -22,7 +22,7 @@ { "name" : "Sharing Tools", - "version" : "1.3", + "version" : "1.3.1", "depends" : ["base"], "author" : "OpenERP SA", "category": 'Generic Modules', From b26d354d34054eb102196f02bf79e2c8a956e6ce Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Thu, 5 May 2011 18:18:53 +0200 Subject: [PATCH 007/233] [FIX] share: share users with multi-shares should keep same home action Previously they were assigned the generic menu as home action but that is not very relevant because it does not contain their shortcuts most of the time, and also this breaks the web client in v6.0 as it does not support the Menu as home action. bzr revid: odo@openerp.com-20110505161853-y1gc21wdn6k2wg41 --- addons/share/wizard/share_wizard.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/addons/share/wizard/share_wizard.py b/addons/share/wizard/share_wizard.py index 755e4777eca..cae12ddbfe7 100644 --- a/addons/share/wizard/share_wizard.py +++ b/addons/share/wizard/share_wizard.py @@ -156,7 +156,6 @@ class share_create(osv.osv_memory): def _setup_action_and_shortcut(self, cr, uid, wizard_data, user_ids, new_users, context=None): user_obj = self.pool.get('res.users') - menu_action_id = user_obj._get_menu(cr, uid, context=context) values = { 'name': (_('%s (Shared)') % wizard_data.action_id.name)[:64], 'domain': wizard_data.domain, @@ -169,9 +168,11 @@ class share_create(osv.osv_memory): for user_id in user_ids: action_id = self._create_shortcut(cr, user_id, values) if new_users: + # We do this only for new share users, as existing ones already have their initial home + # action. Resetting to the default menu does not work well as the menu is rather empty + # and does not contain the shortcuts in most cases. user_obj.write(cr, 1, [user_id], {'action_id': action_id}) - else: - user_obj.write(cr, 1, [user_id], {'action_id': menu_action_id}) + def _get_recursive_relations(self, cr, uid, model, ttypes, relation_fields=None, suffix=None, context=None): """Returns list of tuples representing recursive relationships of type ``ttypes`` starting from From b1bcc6b036674f674ee3ef9f2568743faddfc4ee Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Thu, 5 May 2011 18:22:31 +0200 Subject: [PATCH 008/233] [FIX] share: use empty domain for shared actions, as ir.rules do enforce the filtering. We must not use a normal domain for the shared action, because it may be constructed with records the user may not see (e.g. sharing tasks from a certain project does not give right to see the project itself.) Evaluating the domain of an action requires rights that the user will not have. Moreover, this is useless because ir.rules are created with each share access to filter appropriately the records, and they are evaluated as root user without risk of failed access right. bzr revid: odo@openerp.com-20110505162231-vbkh4vqrtk93yg1q --- addons/share/wizard/share_wizard.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/share/wizard/share_wizard.py b/addons/share/wizard/share_wizard.py index cae12ddbfe7..f153f26f4d4 100644 --- a/addons/share/wizard/share_wizard.py +++ b/addons/share/wizard/share_wizard.py @@ -158,7 +158,7 @@ class share_create(osv.osv_memory): user_obj = self.pool.get('res.users') values = { 'name': (_('%s (Shared)') % wizard_data.action_id.name)[:64], - 'domain': wizard_data.domain, + 'domain': '[]', 'context': wizard_data.action_id.context, 'res_model': wizard_data.action_id.res_model, 'view_mode': wizard_data.action_id.view_mode, From 4d9ce4260f820a762095f97ea307859bc782d038 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Thu, 5 May 2011 18:25:08 +0200 Subject: [PATCH 009/233] [FIX] share: current user restrictions were not properly copied This could lead to security issues, because shared users could have more access rights than the user sharing the data. The mechanism was working to copy them, but unfortunately not working. bzr revid: odo@openerp.com-20110505162508-3r12bl7rg1hpyzps --- addons/share/wizard/share_wizard.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/share/wizard/share_wizard.py b/addons/share/wizard/share_wizard.py index f153f26f4d4..364e4127b93 100644 --- a/addons/share/wizard/share_wizard.py +++ b/addons/share/wizard/share_wizard.py @@ -271,21 +271,21 @@ class share_create(osv.osv_memory): user_obj = self.pool.get('res.users') rule_obj = self.pool.get('ir.rule') current_user = user_obj.browse(cr, uid, uid, context=context) - completed_models = set() + rules_done = set() for group in current_user.groups_id: for dummy, model in fields_relations: - if model.id in completed_models: - continue - completed_models.add(model.id) for rule in group.rule_groups: - if rule.model_id == model.id: + if rule.id in rules_done: + continue + rules_done.add(rule.id) + if rule.model_id.id == model.id: if 'user.' in rule.domain_force: # Above pattern means there is likely a condition # specific to current user, so we must copy the rule using # the evaluated version of the domain. # And it's better to copy one time too much than too few rule_obj.copy(cr, 1, rule.id, default={ - 'name': '%s (%s)' %(rule.name, _('(Copy for sharing)')), + 'name': '%s %s' %(rule.name, _('(Copy for sharing)')), 'groups': [(6,0,[group_id])], 'domain_force': rule.domain, # evaluated version! }) From 6d512bb2da7b113e7dd08b91f4c55adbfc167b24 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Thu, 5 May 2011 18:27:01 +0200 Subject: [PATCH 010/233] [FIX] share: multi-sharing with an empty filter was not working An empty share filter should be translated as a dummy ir.rule to make sure it is properly combined with other rules after multiple shared access are granted to the same user. bzr revid: odo@openerp.com-20110505162701-eq02jb3c0942x3bt --- addons/share/wizard/share_wizard.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/addons/share/wizard/share_wizard.py b/addons/share/wizard/share_wizard.py index 364e4127b93..c22be871b60 100644 --- a/addons/share/wizard/share_wizard.py +++ b/addons/share/wizard/share_wizard.py @@ -31,6 +31,9 @@ from tools.safe_eval import safe_eval FULL_ACCESS = ('perm_read', 'perm_write', 'perm_create', 'perm_unlink') READ_ONLY_ACCESS = ('perm_read',) +# Pseudo-domain to represent an empty filter, constructed using +# osv.expression's DUMMY_LEAF +DOMAIN_ALL = [(1, '=', 1)] RANDOM_PASS_CHARACTERS = [chr(x) for x in range(48, 58) + range(97, 123) + range(65, 91)] RANDOM_PASS_CHARACTERS.remove('l') #lowercase l, easily mistaken as one or capital i @@ -427,11 +430,12 @@ class share_create(osv.osv_memory): # to uid, and it must be replaced correctly) rule_obj = self.pool.get('ir.rule') # A. + main_domain = wizard_data.domain if wizard_data.domain != '[]' else DOMAIN_ALL rule_obj.create(cr, 1, { 'name': _('Sharing filter created by user %s (%s) for group %s') % \ (current_user.name, current_user.login, group_id), 'model_id': model.id, - 'domain_force': wizard_data.domain, + 'domain_force': main_domain, 'groups': [(4,group_id)] }) # B. From 7928a00024def2ff1f31ef4c1c7544b6e473477d Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Thu, 5 May 2011 18:55:30 +0200 Subject: [PATCH 011/233] [FIX] share: form view should share current record only Version bumped to force web addons updates bzr revid: odo@openerp.com-20110505165530-jnfglbocvzku6rkb --- addons/share/__openerp__.py | 2 +- addons/share/web/editors.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/addons/share/__openerp__.py b/addons/share/__openerp__.py index 9b1b331abb2..9a71412523a 100644 --- a/addons/share/__openerp__.py +++ b/addons/share/__openerp__.py @@ -22,7 +22,7 @@ { "name" : "Sharing Tools", - "version" : "1.3.1", + "version" : "1.3.2", "depends" : ["base"], "author" : "OpenERP SA", "category": 'Generic Modules', diff --git a/addons/share/web/editors.py b/addons/share/web/editors.py index 1928b644073..1e1573b05af 100644 --- a/addons/share/web/editors.py +++ b/addons/share/web/editors.py @@ -33,7 +33,9 @@ class ShareActionEditor(openobject.templating.TemplateEditor): domain: jQuery("#_terp_domain").val(), view_id: jQuery("#_terp_view_id").val(), action_id: jQuery("#_terp_action_id").val(), - search_domain: jQuery("#_terp_search_domain").val(), + search_domain: jQuery("#_terp_view_type").val() == "form" ? + ("[('id','=',"+jQuery("#_terp_id").val()+")]") : + jQuery("#_terp_search_domain").val(), })); }); }); From 1d746d88e1a7bdbaec5153fafcdb5d3598d6e1f4 Mon Sep 17 00:00:00 2001 From: "Anup (OpenERP)" Date: Mon, 16 May 2011 17:38:18 +0530 Subject: [PATCH 012/233] [FIX] base : Record Rules being ended in a single group now lp bug: https://launchpad.net/bugs/766982 fixed bzr revid: ach@tinyerp.com-20110516120818-56d17xau3bwo26lt --- bin/addons/base/ir/ir_rule.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/bin/addons/base/ir/ir_rule.py b/bin/addons/base/ir/ir_rule.py index befa47e25b0..9eacce9c6fd 100644 --- a/bin/addons/base/ir/ir_rule.py +++ b/bin/addons/base/ir/ir_rule.py @@ -126,10 +126,11 @@ class ir_rule(osv.osv): if group_domain: group_domains += group_domain count += 1 - if count and global_domain: - return ['&'] + global_domain + ['|'] * (count-1) + group_domains if count: - return ['|'] * (count-1) + group_domains + dom = ['&'] * (count-1) + group_domains + if global_domain: + return ['&'] + global_domain + dom + return dom return global_domain return [] From 8666a526152cd2033ca2c11d74d64bfe7b07bd2c Mon Sep 17 00:00:00 2001 From: Leonardo Pistone Date: Wed, 18 May 2011 12:03:56 +0200 Subject: [PATCH 013/233] [FIX] use only current company to choose a default account_id for a non-product invoice line lp bug: https://launchpad.net/bugs/784499 fixed bzr revid: leonardo.pistone@domsense.com-20110518100356-cs9gwtn663w85bpa --- addons/account_invoice_layout/account_invoice_layout.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/account_invoice_layout/account_invoice_layout.py b/addons/account_invoice_layout/account_invoice_layout.py index 3337710420f..1690ac4319e 100644 --- a/addons/account_invoice_layout/account_invoice_layout.py +++ b/addons/account_invoice_layout/account_invoice_layout.py @@ -165,7 +165,8 @@ class account_invoice_line(osv.osv): } def _default_account(self, cr, uid, context=None): - cr.execute("select id from account_account where parent_id IS NULL LIMIT 1") + current_company = self.pool.get('res.users').browse(cr,uid,uid).company_id.id + cr.execute("select id from account_account where company_id = %s and parent_id IS NULL LIMIT 1", [current_company]) res = cr.fetchone() return res[0] From 61aa21b90c74bc509f193677cdeede07de3c4563 Mon Sep 17 00:00:00 2001 From: "Amit Bhavsar (Open ERP)" Date: Wed, 18 May 2011 17:54:09 +0530 Subject: [PATCH 014/233] [usability] move action rules into administration, base_action_rule_view bzr revid: amb@tinyerp.com-20110518122409-3dpyvfdq0fai5hmj --- addons/base_action_rule/base_action_rule_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/base_action_rule/base_action_rule_view.xml b/addons/base_action_rule/base_action_rule_view.xml index 65c16edf4ae..a9262a6b746 100644 --- a/addons/base_action_rule/base_action_rule_view.xml +++ b/addons/base_action_rule/base_action_rule_view.xml @@ -118,7 +118,7 @@ + parent="base.menu_custom" action="base_action_rule_act" sequence="1"/> From 7992a309fc5c0f372309ddf31c6bb0667c8de148 Mon Sep 17 00:00:00 2001 From: "Hardik Ansodariy (OpenERP)" Date: Wed, 18 May 2011 18:37:27 +0530 Subject: [PATCH 015/233] [usability] improve product view, sale_view and point_of_sale_view bzr revid: han@tinyerp.com-20110518130727-rdi4p0cqrarlceyh --- addons/point_of_sale/point_of_sale_view.xml | 13 ++++++++----- addons/sale/sale_view.xml | 2 +- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/addons/point_of_sale/point_of_sale_view.xml b/addons/point_of_sale/point_of_sale_view.xml index acc0a72ff3b..1f63b6ed382 100644 --- a/addons/point_of_sale/point_of_sale_view.xml +++ b/addons/point_of_sale/point_of_sale_view.xml @@ -654,11 +654,14 @@ form - - - - - + + + + + + + + diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml index 9b6664daf20..67f8b5b9a90 100644 --- a/addons/sale/sale_view.xml +++ b/addons/sale/sale_view.xml @@ -521,7 +521,7 @@ From bcb7982ec8e607c878d5ec83685beb70e062752b Mon Sep 17 00:00:00 2001 From: "Anup (OpenERP)" Date: Thu, 19 May 2011 11:28:55 +0530 Subject: [PATCH 016/233] [FIX] report_webkit : Webkit reports now getting translated(setLang and formatLang fixed. Maintenance Case:5770) lp bug: https://launchpad.net/bugs/710061 fixed bzr revid: ach@tinyerp.com-20110519055855-nnblkst14g3vwvu0 --- addons/report_webkit/webkit_report.py | 2 + addons/report_webkit_sample/i18n/bg.po | 40 +++++++++---------- addons/report_webkit_sample/i18n/ca.po | 40 +++++++++---------- addons/report_webkit_sample/i18n/de.po | 40 +++++++++---------- addons/report_webkit_sample/i18n/es.po | 40 +++++++++---------- addons/report_webkit_sample/i18n/fr.po | 40 +++++++++---------- addons/report_webkit_sample/i18n/hu.po | 40 +++++++++---------- addons/report_webkit_sample/i18n/it.po | 40 +++++++++---------- addons/report_webkit_sample/i18n/nl.po | 40 +++++++++---------- addons/report_webkit_sample/i18n/pt.po | 40 +++++++++---------- addons/report_webkit_sample/i18n/pt_BR.po | 40 +++++++++---------- .../i18n/report_webkit_sample.pot | 40 +++++++++---------- 12 files changed, 222 insertions(+), 220 deletions(-) diff --git a/addons/report_webkit/webkit_report.py b/addons/report_webkit/webkit_report.py index 406013cef12..d4eabf13da7 100644 --- a/addons/report_webkit/webkit_report.py +++ b/addons/report_webkit/webkit_report.py @@ -294,6 +294,8 @@ class WebKitParser(report_sxw): #default_filters=['unicode', 'entity'] can be used to set global filter body_mako_tpl = mako_template(template) helper = WebKitHelper(cursor, uid, report_xml.id, context) + self.parser_instance.localcontext.update({'setLang':self.setLang}) + self.parser_instance.localcontext.update({'formatLang':self.formatLang}) try : html = body_mako_tpl.render( helper=helper, css=css, diff --git a/addons/report_webkit_sample/i18n/bg.po b/addons/report_webkit_sample/i18n/bg.po index 728abf1702a..f7d839acb72 100644 --- a/addons/report_webkit_sample/i18n/bg.po +++ b/addons/report_webkit_sample/i18n/bg.po @@ -23,12 +23,12 @@ msgid "WebKit invoice" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:35 +#: report:report.webkitaccount.invoice:35 msgid "Supplier Invoice" msgstr "Фактура към доставчик" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Unit Price" msgstr "Единична цена" @@ -53,91 +53,91 @@ msgid "Webkit Report Samples" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Disc.(%)" msgstr "Отстъпка (%)" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:22 +#: report:report.webkitaccount.invoice:22 msgid "Fax" msgstr "Факс" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Document" msgstr "Документ" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Description" msgstr "Описание" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Price" msgstr "Цена" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Invoice Date" msgstr "Дата на фактура" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "QTY" msgstr "КОЛ." #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:64 +#: report:report.webkitaccount.invoice:64 msgid "Base" msgstr "База" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Partner Ref." msgstr "Отпратка към контрагент" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Taxes" msgstr "Данъци" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:64 +#: report:report.webkitaccount.invoice:64 msgid "Amount" msgstr "Количество" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:28 +#: report:report.webkitaccount.invoice:28 msgid "VAT" msgstr "ДДС" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:37 +#: report:report.webkitaccount.invoice:37 msgid "Refund" msgstr "Обезщетение" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:19 +#: report:report.webkitaccount.invoice:19 msgid "Tel" msgstr "Тел" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:25 +#: report:report.webkitaccount.invoice:25 msgid "E-mail" msgstr "Имейл" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:33 +#: report:report.webkitaccount.invoice:33 msgid "Invoice" msgstr "Фактура" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:39 +#: report:report.webkitaccount.invoice:39 msgid "Supplier Refund" msgstr "Обезщетение на доставчик" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:76 +#: report:report.webkitaccount.invoice:76 msgid "Total" msgstr "Общо" diff --git a/addons/report_webkit_sample/i18n/ca.po b/addons/report_webkit_sample/i18n/ca.po index 96b73c3b6e7..d704661e1a0 100644 --- a/addons/report_webkit_sample/i18n/ca.po +++ b/addons/report_webkit_sample/i18n/ca.po @@ -23,12 +23,12 @@ msgid "WebKit invoice" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:35 +#: report:report.webkitaccount.invoice:35 msgid "Supplier Invoice" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Unit Price" msgstr "" @@ -53,91 +53,91 @@ msgid "Webkit Report Samples" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Disc.(%)" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:22 +#: report:report.webkitaccount.invoice:22 msgid "Fax" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Document" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Description" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Price" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Invoice Date" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "QTY" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:64 +#: report:report.webkitaccount.invoice:64 msgid "Base" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Partner Ref." msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Taxes" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:64 +#: report:report.webkitaccount.invoice:64 msgid "Amount" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:28 +#: report:report.webkitaccount.invoice:28 msgid "VAT" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:37 +#: report:report.webkitaccount.invoice:37 msgid "Refund" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:19 +#: report:report.webkitaccount.invoice:19 msgid "Tel" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:25 +#: report:report.webkitaccount.invoice:25 msgid "E-mail" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:33 +#: report:report.webkitaccount.invoice:33 msgid "Invoice" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:39 +#: report:report.webkitaccount.invoice:39 msgid "Supplier Refund" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:76 +#: report:report.webkitaccount.invoice:76 msgid "Total" msgstr "" diff --git a/addons/report_webkit_sample/i18n/de.po b/addons/report_webkit_sample/i18n/de.po index ea8491535fe..4b4e6e10e02 100644 --- a/addons/report_webkit_sample/i18n/de.po +++ b/addons/report_webkit_sample/i18n/de.po @@ -24,12 +24,12 @@ msgid "WebKit invoice" msgstr "Webkit Rechnung" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:35 +#: report:report.webkitaccount.invoice:35 msgid "Supplier Invoice" msgstr "Lieferanten Rechnung" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Unit Price" msgstr "Preis/ME" @@ -65,91 +65,91 @@ msgid "Webkit Report Samples" msgstr "Beispiele Webkit Reports" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Disc.(%)" msgstr "Rabatt (%)" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:22 +#: report:report.webkitaccount.invoice:22 msgid "Fax" msgstr "Fax" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Document" msgstr "Dokument" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Description" msgstr "Beschreibung" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Price" msgstr "Preis" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Invoice Date" msgstr "Datum Rechnung" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "QTY" msgstr "Anz." #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:64 +#: report:report.webkitaccount.invoice:64 msgid "Base" msgstr "Steuergrundbetrag" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Partner Ref." msgstr "Partner Ref." #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Taxes" msgstr "Steuern" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:64 +#: report:report.webkitaccount.invoice:64 msgid "Amount" msgstr "Betrag" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:28 +#: report:report.webkitaccount.invoice:28 msgid "VAT" msgstr "USt." #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:37 +#: report:report.webkitaccount.invoice:37 msgid "Refund" msgstr "Gutschrift" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:19 +#: report:report.webkitaccount.invoice:19 msgid "Tel" msgstr "Tel." #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:25 +#: report:report.webkitaccount.invoice:25 msgid "E-mail" msgstr "E-Mail" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:33 +#: report:report.webkitaccount.invoice:33 msgid "Invoice" msgstr "Rechnung" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:39 +#: report:report.webkitaccount.invoice:39 msgid "Supplier Refund" msgstr "Lieferanten Gutschrift" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:76 +#: report:report.webkitaccount.invoice:76 msgid "Total" msgstr "Summe" diff --git a/addons/report_webkit_sample/i18n/es.po b/addons/report_webkit_sample/i18n/es.po index c10ffa7ecaf..5affb1ab26f 100644 --- a/addons/report_webkit_sample/i18n/es.po +++ b/addons/report_webkit_sample/i18n/es.po @@ -24,12 +24,12 @@ msgid "WebKit invoice" msgstr "Factura Webkit" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:35 +#: report:report.webkitaccount.invoice:35 msgid "Supplier Invoice" msgstr "Factura de Proveedor" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Unit Price" msgstr "Precio unitario" @@ -65,91 +65,91 @@ msgid "Webkit Report Samples" msgstr "Informes Webkit de ejemplo" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Disc.(%)" msgstr "Desc.(%)" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:22 +#: report:report.webkitaccount.invoice:22 msgid "Fax" msgstr "Fax" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Document" msgstr "Documento" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Description" msgstr "Descripción" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Price" msgstr "Precio" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Invoice Date" msgstr "Fecha factura" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "QTY" msgstr "CTDAD" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:64 +#: report:report.webkitaccount.invoice:64 msgid "Base" msgstr "Base" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Partner Ref." msgstr "Ref. empresa" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Taxes" msgstr "Impuestos" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:64 +#: report:report.webkitaccount.invoice:64 msgid "Amount" msgstr "Importe" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:28 +#: report:report.webkitaccount.invoice:28 msgid "VAT" msgstr "CIF/NIF" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:37 +#: report:report.webkitaccount.invoice:37 msgid "Refund" msgstr "Reembolso" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:19 +#: report:report.webkitaccount.invoice:19 msgid "Tel" msgstr "Tel" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:25 +#: report:report.webkitaccount.invoice:25 msgid "E-mail" msgstr "E-mail" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:33 +#: report:report.webkitaccount.invoice:33 msgid "Invoice" msgstr "Factura" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:39 +#: report:report.webkitaccount.invoice:39 msgid "Supplier Refund" msgstr "Factura rectificativa (abono) de proveedor" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:76 +#: report:report.webkitaccount.invoice:76 msgid "Total" msgstr "Total" diff --git a/addons/report_webkit_sample/i18n/fr.po b/addons/report_webkit_sample/i18n/fr.po index 47046c1d142..5a4dee89fed 100644 --- a/addons/report_webkit_sample/i18n/fr.po +++ b/addons/report_webkit_sample/i18n/fr.po @@ -23,12 +23,12 @@ msgid "WebKit invoice" msgstr "facture WebKit" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:35 +#: report:report.webkitaccount.invoice:35 msgid "Supplier Invoice" msgstr "Facture fournisseur" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Unit Price" msgstr "Prix unitaire" @@ -63,91 +63,91 @@ msgid "Webkit Report Samples" msgstr "Exemples de rapports Webkit" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Disc.(%)" msgstr "Disc.(%)" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:22 +#: report:report.webkitaccount.invoice:22 msgid "Fax" msgstr "Fax" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Document" msgstr "Ref. document" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Description" msgstr "Description" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Price" msgstr "Prix" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Invoice Date" msgstr "Date de la facture" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "QTY" msgstr "QTÉ" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:64 +#: report:report.webkitaccount.invoice:64 msgid "Base" msgstr "Base" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Partner Ref." msgstr "Réf. partenaire" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Taxes" msgstr "Impôts" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:64 +#: report:report.webkitaccount.invoice:64 msgid "Amount" msgstr "Montant" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:28 +#: report:report.webkitaccount.invoice:28 msgid "VAT" msgstr "TVA" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:37 +#: report:report.webkitaccount.invoice:37 msgid "Refund" msgstr "Remboursement" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:19 +#: report:report.webkitaccount.invoice:19 msgid "Tel" msgstr "Tél" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:25 +#: report:report.webkitaccount.invoice:25 msgid "E-mail" msgstr "Courriel" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:33 +#: report:report.webkitaccount.invoice:33 msgid "Invoice" msgstr "Facture" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:39 +#: report:report.webkitaccount.invoice:39 msgid "Supplier Refund" msgstr "Remboursement fournisseur" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:76 +#: report:report.webkitaccount.invoice:76 msgid "Total" msgstr "Total" diff --git a/addons/report_webkit_sample/i18n/hu.po b/addons/report_webkit_sample/i18n/hu.po index f46d685afe8..6515766772c 100644 --- a/addons/report_webkit_sample/i18n/hu.po +++ b/addons/report_webkit_sample/i18n/hu.po @@ -22,12 +22,12 @@ msgid "WebKit invoice" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:35 +#: report:report.webkitaccount.invoice:35 msgid "Supplier Invoice" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Unit Price" msgstr "" @@ -52,91 +52,91 @@ msgid "Webkit Report Samples" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Disc.(%)" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:22 +#: report:report.webkitaccount.invoice:22 msgid "Fax" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Document" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Description" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Price" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Invoice Date" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "QTY" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:64 +#: report:report.webkitaccount.invoice:64 msgid "Base" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Partner Ref." msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Taxes" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:64 +#: report:report.webkitaccount.invoice:64 msgid "Amount" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:28 +#: report:report.webkitaccount.invoice:28 msgid "VAT" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:37 +#: report:report.webkitaccount.invoice:37 msgid "Refund" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:19 +#: report:report.webkitaccount.invoice:19 msgid "Tel" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:25 +#: report:report.webkitaccount.invoice:25 msgid "E-mail" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:33 +#: report:report.webkitaccount.invoice:33 msgid "Invoice" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:39 +#: report:report.webkitaccount.invoice:39 msgid "Supplier Refund" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:76 +#: report:report.webkitaccount.invoice:76 msgid "Total" msgstr "" diff --git a/addons/report_webkit_sample/i18n/it.po b/addons/report_webkit_sample/i18n/it.po index 876de152b4d..93dfbf37ca2 100644 --- a/addons/report_webkit_sample/i18n/it.po +++ b/addons/report_webkit_sample/i18n/it.po @@ -23,12 +23,12 @@ msgid "WebKit invoice" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:35 +#: report:report.webkitaccount.invoice:35 msgid "Supplier Invoice" msgstr "Fattura Fornitore" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Unit Price" msgstr "Prezzo unitario" @@ -53,91 +53,91 @@ msgid "Webkit Report Samples" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Disc.(%)" msgstr "Sconto (%)" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:22 +#: report:report.webkitaccount.invoice:22 msgid "Fax" msgstr "Fax" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Document" msgstr "Documento" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Description" msgstr "Descrizione" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Price" msgstr "Prezzo" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Invoice Date" msgstr "Data fattura" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "QTY" msgstr "Q.ta" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:64 +#: report:report.webkitaccount.invoice:64 msgid "Base" msgstr "Base" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Partner Ref." msgstr "Rif. Partner" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Taxes" msgstr "Tasse" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:64 +#: report:report.webkitaccount.invoice:64 msgid "Amount" msgstr "Importo" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:28 +#: report:report.webkitaccount.invoice:28 msgid "VAT" msgstr "IVA" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:37 +#: report:report.webkitaccount.invoice:37 msgid "Refund" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:19 +#: report:report.webkitaccount.invoice:19 msgid "Tel" msgstr "Tel." #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:25 +#: report:report.webkitaccount.invoice:25 msgid "E-mail" msgstr "Email" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:33 +#: report:report.webkitaccount.invoice:33 msgid "Invoice" msgstr "Fattura" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:39 +#: report:report.webkitaccount.invoice:39 msgid "Supplier Refund" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:76 +#: report:report.webkitaccount.invoice:76 msgid "Total" msgstr "Totale" diff --git a/addons/report_webkit_sample/i18n/nl.po b/addons/report_webkit_sample/i18n/nl.po index 4268d174904..7db14897851 100644 --- a/addons/report_webkit_sample/i18n/nl.po +++ b/addons/report_webkit_sample/i18n/nl.po @@ -23,12 +23,12 @@ msgid "WebKit invoice" msgstr "WebKit factuur" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:35 +#: report:report.webkitaccount.invoice:35 msgid "Supplier Invoice" msgstr "Inkoopfactuur" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Unit Price" msgstr "Stuksprijs" @@ -64,91 +64,91 @@ msgid "Webkit Report Samples" msgstr "Webkit overzicht voorbeelden" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Disc.(%)" msgstr "Krt. (%)" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:22 +#: report:report.webkitaccount.invoice:22 msgid "Fax" msgstr "Fax" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Document" msgstr "Document" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Description" msgstr "Omschrijving" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Price" msgstr "Prijs" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Invoice Date" msgstr "Factuurdatum" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "QTY" msgstr "AANT" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:64 +#: report:report.webkitaccount.invoice:64 msgid "Base" msgstr "Basis" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Partner Ref." msgstr "Relatie ref." #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Taxes" msgstr "BTW" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:64 +#: report:report.webkitaccount.invoice:64 msgid "Amount" msgstr "Bedrag" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:28 +#: report:report.webkitaccount.invoice:28 msgid "VAT" msgstr "BTW" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:37 +#: report:report.webkitaccount.invoice:37 msgid "Refund" msgstr "Creditnota" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:19 +#: report:report.webkitaccount.invoice:19 msgid "Tel" msgstr "Tel" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:25 +#: report:report.webkitaccount.invoice:25 msgid "E-mail" msgstr "E-mail" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:33 +#: report:report.webkitaccount.invoice:33 msgid "Invoice" msgstr "Factuur" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:39 +#: report:report.webkitaccount.invoice:39 msgid "Supplier Refund" msgstr "Creditfactuur inkoop" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:76 +#: report:report.webkitaccount.invoice:76 msgid "Total" msgstr "Totaal" diff --git a/addons/report_webkit_sample/i18n/pt.po b/addons/report_webkit_sample/i18n/pt.po index 256566369c5..da64345f81c 100644 --- a/addons/report_webkit_sample/i18n/pt.po +++ b/addons/report_webkit_sample/i18n/pt.po @@ -23,12 +23,12 @@ msgid "WebKit invoice" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:35 +#: report:report.webkitaccount.invoice:35 msgid "Supplier Invoice" msgstr "Factura de fornecedor" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Unit Price" msgstr "Preço unitário" @@ -53,91 +53,91 @@ msgid "Webkit Report Samples" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Disc.(%)" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:22 +#: report:report.webkitaccount.invoice:22 msgid "Fax" msgstr "Fax" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Document" msgstr "Documento" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Description" msgstr "Descrição" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Price" msgstr "Preço" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Invoice Date" msgstr "Data da fatura" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "QTY" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:64 +#: report:report.webkitaccount.invoice:64 msgid "Base" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Partner Ref." msgstr "Ref. do parceiro" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Taxes" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:64 +#: report:report.webkitaccount.invoice:64 msgid "Amount" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:28 +#: report:report.webkitaccount.invoice:28 msgid "VAT" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:37 +#: report:report.webkitaccount.invoice:37 msgid "Refund" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:19 +#: report:report.webkitaccount.invoice:19 msgid "Tel" msgstr "Telefone" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:25 +#: report:report.webkitaccount.invoice:25 msgid "E-mail" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:33 +#: report:report.webkitaccount.invoice:33 msgid "Invoice" msgstr "Fatura" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:39 +#: report:report.webkitaccount.invoice:39 msgid "Supplier Refund" msgstr "Reembolso de Fornecedor" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:76 +#: report:report.webkitaccount.invoice:76 msgid "Total" msgstr "Total" diff --git a/addons/report_webkit_sample/i18n/pt_BR.po b/addons/report_webkit_sample/i18n/pt_BR.po index febd7c23bf8..46e3797de2e 100644 --- a/addons/report_webkit_sample/i18n/pt_BR.po +++ b/addons/report_webkit_sample/i18n/pt_BR.po @@ -23,12 +23,12 @@ msgid "WebKit invoice" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:35 +#: report:report.webkitaccount.invoice:35 msgid "Supplier Invoice" msgstr "Fatura de Fornecedor" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Unit Price" msgstr "Preço Unitário" @@ -53,91 +53,91 @@ msgid "Webkit Report Samples" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Disc.(%)" msgstr "Desc.(%)" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:22 +#: report:report.webkitaccount.invoice:22 msgid "Fax" msgstr "Fax" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Document" msgstr "Documento" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Description" msgstr "Descrição" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Price" msgstr "Preço" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Invoice Date" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "QTY" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:64 +#: report:report.webkitaccount.invoice:64 msgid "Base" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Partner Ref." msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Taxes" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:64 +#: report:report.webkitaccount.invoice:64 msgid "Amount" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:28 +#: report:report.webkitaccount.invoice:28 msgid "VAT" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:37 +#: report:report.webkitaccount.invoice:37 msgid "Refund" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:19 +#: report:report.webkitaccount.invoice:19 msgid "Tel" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:25 +#: report:report.webkitaccount.invoice:25 msgid "E-mail" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:33 +#: report:report.webkitaccount.invoice:33 msgid "Invoice" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:39 +#: report:report.webkitaccount.invoice:39 msgid "Supplier Refund" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:76 +#: report:report.webkitaccount.invoice:76 msgid "Total" msgstr "" diff --git a/addons/report_webkit_sample/i18n/report_webkit_sample.pot b/addons/report_webkit_sample/i18n/report_webkit_sample.pot index c7e056003b8..a6acd48d0f7 100644 --- a/addons/report_webkit_sample/i18n/report_webkit_sample.pot +++ b/addons/report_webkit_sample/i18n/report_webkit_sample.pot @@ -21,12 +21,12 @@ msgid "WebKit invoice" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:35 +#: report:report.webkitaccount.invoice:35 msgid "Supplier Invoice" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Unit Price" msgstr "" @@ -48,92 +48,92 @@ msgid "Webkit Report Samples" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Disc.(%)" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:22 +#: report:report.webkitaccount.invoice:22 msgid "Fax" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Document" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Description" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Price" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Invoice Date" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "QTY" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:64 +#: report:report.webkitaccount.invoice:64 msgid "Base" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:44 +#: report:report.webkitaccount.invoice:44 msgid "Partner Ref." msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:49 +#: report:report.webkitaccount.invoice:49 msgid "Taxes" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:64 +#: report:report.webkitaccount.invoice:64 msgid "Amount" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:28 +#: report:report.webkitaccount.invoice:28 msgid "VAT" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:37 +#: report:report.webkitaccount.invoice:37 msgid "Refund" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:19 +#: report:report.webkitaccount.invoice:19 msgid "Tel" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:25 +#: report:report.webkitaccount.invoice:25 msgid "E-mail" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:33 +#: report:report.webkitaccount.invoice:33 msgid "Invoice" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:39 +#: report:report.webkitaccount.invoice:39 msgid "Supplier Refund" msgstr "" #. module: report_webkit_sample -#: report:addons/report_webkit_sample/report/report_webkit_html.mako:76 +#: report:report.webkitaccount.invoice:76 msgid "Total" msgstr "" From 8ade69632e43b7c1ea5a33933e39f0de0958ccd8 Mon Sep 17 00:00:00 2001 From: "Amit Bhavsar (Open ERP)" Date: Thu, 19 May 2011 12:02:55 +0530 Subject: [PATCH 017/233] [usability], with project task in calendar view replaced the start date with deadline date bzr revid: amb@tinyerp.com-20110519063255-lao3cufauxk6sfpe --- addons/project/project_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml index d3b28c0d562..a2c52d3d85b 100644 --- a/addons/project/project_view.xml +++ b/addons/project/project_view.xml @@ -356,7 +356,7 @@ calendar - + From 26b4bcfde8bb19267189adb8006e6979186dd2c3 Mon Sep 17 00:00:00 2001 From: "Hardik Ansodariy (OpenERP)" Date: Thu, 19 May 2011 12:52:39 +0530 Subject: [PATCH 018/233] [IMP]:point_of_sale:add seprator above point_of_sale's fields bzr revid: han@tinyerp.com-20110519072239-itbv5am3kkfbq5ck --- addons/point_of_sale/point_of_sale_view.xml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/addons/point_of_sale/point_of_sale_view.xml b/addons/point_of_sale/point_of_sale_view.xml index 1f63b6ed382..6c85fbfd9e1 100644 --- a/addons/point_of_sale/point_of_sale_view.xml +++ b/addons/point_of_sale/point_of_sale_view.xml @@ -654,7 +654,8 @@ form - + + @@ -662,7 +663,7 @@ - + From 42d29b0af67eb4863acb9237a21b2e1c305d22b9 Mon Sep 17 00:00:00 2001 From: "Hardik Ansodariy (OpenERP)" Date: Thu, 19 May 2011 12:56:19 +0530 Subject: [PATCH 019/233] [IMP]:point_of_sale:removed comments bzr revid: han@tinyerp.com-20110519072619-7cd3ln1q0g2fd7y5 --- addons/point_of_sale/point_of_sale_view.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/point_of_sale/point_of_sale_view.xml b/addons/point_of_sale/point_of_sale_view.xml index 6c85fbfd9e1..32cc6ba6f03 100644 --- a/addons/point_of_sale/point_of_sale_view.xml +++ b/addons/point_of_sale/point_of_sale_view.xml @@ -655,7 +655,6 @@ - From 0c0065a913995ac03e5a64e8451aaacc1aa89906 Mon Sep 17 00:00:00 2001 From: "Hardik Ansodariy (OpenERP)" Date: Thu, 19 May 2011 15:53:40 +0530 Subject: [PATCH 020/233] [IMP]:partner, base contact is reset to addresses bzr revid: han@tinyerp.com-20110519102340-jeds70ggm76di2st --- addons/base_contact/base_contact_view.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/base_contact/base_contact_view.xml b/addons/base_contact/base_contact_view.xml index 659307e289c..30174e746c3 100644 --- a/addons/base_contact/base_contact_view.xml +++ b/addons/base_contact/base_contact_view.xml @@ -125,7 +125,7 @@ - + + From fca888b1c89e873814ee850859fb65805da43598 Mon Sep 17 00:00:00 2001 From: "Amit Bhavsar (Open ERP)" Date: Thu, 19 May 2011 18:07:47 +0530 Subject: [PATCH 023/233] [usability],change in manu automated action bzr revid: amb@tinyerp.com-20110519123747-ysmde794md2m1esg --- addons/base_action_rule/base_action_rule_view.xml | 6 +++--- addons/process/process_view.xml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/base_action_rule/base_action_rule_view.xml b/addons/base_action_rule/base_action_rule_view.xml index a9262a6b746..57c862cb2fe 100644 --- a/addons/base_action_rule/base_action_rule_view.xml +++ b/addons/base_action_rule/base_action_rule_view.xml @@ -3,7 +3,7 @@ + parent="base.menu_custom" sequence="3" /> From 184cdbe346e3ed3dc87d4d2baf43e6aa23e8a315 Mon Sep 17 00:00:00 2001 From: "Amit Bhavsar (Open ERP)" Date: Fri, 20 May 2011 11:30:11 +0530 Subject: [PATCH 024/233] [usability],text improvement in outlook module bzr revid: amb@tinyerp.com-20110520060011-prkqbpuon7x4ns3u --- addons/outlook/installer.py | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/addons/outlook/installer.py b/addons/outlook/installer.py index c6947263996..21332551fc2 100644 --- a/addons/outlook/installer.py +++ b/addons/outlook/installer.py @@ -51,21 +51,19 @@ class outlook_installer(osv.osv_memory): 'doc_name' : 'Installation Guide to OpenERP Outlook Plug-in.doc', 'description' : """ * Save the Outlook plug­-in. -* Follows these steps to install outlook plug­in. -Pre-requirements : - 1. Python 2.6+ . - 2. Python for Windows extensions - PyWin32 this module for python must be installed for appropriate version of the Python. - 3.1 If With MS Outlook 2007 it is required to install externally "Collaboration Data Objects, version 1.2.1". - - http://www.microsoft.com/downloads/en/details.aspx?FamilyID=2714320D-C997-4DE1-986F-24F081725D36&displaylang=en - 3.2 With MS Outlook2003 Install inbuilt Collaboration Data Objects(CDO) while installing Outlook. +* steps to install outlook plug­in. + Required : + 1. Python 2.6+ . + 2. Python for Windows extensions - PyWin32 this module for python must be installed for appropriate version of the Python. + 3.1 With MS Outlook 2007, install externally "Collaboration Data Objects, version 1.2.1". - http://www.microsoft.com/downloads/en/details.aspx?FamilyID=2714320D-C997-4DE1-986F-24F081725D36&displaylang=en + 3.2 With MS Outlook2003 Install inbuilt Collaboration Data Objects(CDO) while installing Outlook. -How to install openerp-outlook plug-in? - 1. Save the executable plug-in file. - 2. Close Outlook Application if Running. - 3. Run executable plug-in file and the folllow the instruction. - -Note : - Please refer README file for dependecies external link, openobject-addons/outlook/README. + * install openerp-outlook plug-in? + 1. Save the executable plug-in file. + 2. Close Outlook Application if Running. + 3. Run executable plug-in file and folllow the instruction. + * Note : + Please refer README file for dependecies external link, openobject-addons/outlook/README. """ } outlook_installer() From a1135313a6a2c97cb64bfa6111b6453bae65f385 Mon Sep 17 00:00:00 2001 From: skh Date: Fri, 20 May 2011 13:05:20 +0530 Subject: [PATCH 025/233] [FIX] Product: name_search() corrected while duplicating ids in sale_order_line (Ref : Case 5861) bzr revid: skh@tinyerp.com-20110520073520-5abu4xp34x74dhxu --- addons/product/product.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/product/product.py b/addons/product/product.py index f82e5791fd7..b566ac681e9 100644 --- a/addons/product/product.py +++ b/addons/product/product.py @@ -563,8 +563,7 @@ class product_product(osv.osv): if not len(ids): ids = self.search(cr, user, [('ean13','=',name)]+ args, limit=limit, context=context) if not len(ids): - ids = self.search(cr, user, [('default_code',operator,name)]+ args, limit=limit, context=context) - ids += self.search(cr, user, [('name',operator,name)]+ args, limit=limit, context=context) + ids = self.search(cr, user, ['|',('name',operator,name),('default_code',operator,name)] + args, limit=limit, context=context) if not len(ids): ptrn=re.compile('(\[(.*?)\])') res = ptrn.search(name) From 601a0799ca55d6a38955fc8a53f0c7784aacc7ce Mon Sep 17 00:00:00 2001 From: "Amit Bhavsar (Open ERP)" Date: Fri, 20 May 2011 14:10:37 +0530 Subject: [PATCH 026/233] [usability],improve text with thunderbird module bzr revid: amb@tinyerp.com-20110520084037-44s4vus359ezxpqf --- addons/thunderbird/installer.py | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/addons/thunderbird/installer.py b/addons/thunderbird/installer.py index ef8fc2fced4..943e97ede9f 100644 --- a/addons/thunderbird/installer.py +++ b/addons/thunderbird/installer.py @@ -52,19 +52,19 @@ class thunderbird_installer(osv.osv_memory): 'name' : 'openerp_plugin.xpi', 'description' : """ * Save the Thunderbird plug-­in. - * Follow these steps to install Thunderbird plug-­in. - 1. From Menu Bar of Thunderbird, open Tools ­> Add-ons. - 2. Click "Install" button. - 3. Select the plug-in(openerp_plugin.xpi file) - 5. Click "Install Now". - 6. Restart Thunderbird. - * Follow the steps to configure OpenERP in Thunderbird. - 1. Go to Tools > OpenERP Configuration. - 2. Check data (configured by default). - 3. Click "Connect". - 4. A message appears with the state of your connection. - 5. If your connection failed, check if your database is opened, and check data again. - 6. If your database is connected successfully, you can start to archive your e-mail in OpenERP. """ + * Steps to install Thunderbird plug-­in. + 1. From Menu Bar of Thunderbird, open Tools ­> Add-ons. + 2. Click "Install" + 3. Select the plug-in (openerp_plugin.xpi file) + 5. Click "Install Now". + 6. Restart Thunderbird. + * Steps to configure OpenERP in Thunderbird. + 1. Go to Tools > OpenERP Configuration. + 2. Check data (configured by default). + 3. Click "Connect". + 4. A message appears with the state of your connection. + 5. If your connection failed, check if your database is opened, and check data again. + 6. If database is connected successfully, start to archive e-mails in OpenERP. """ } thunderbird_installer() From 7c3c8956311289317bb858c3240c30d82b0963b0 Mon Sep 17 00:00:00 2001 From: "Amit (OpenERP)" Date: Fri, 20 May 2011 15:46:07 +0530 Subject: [PATCH 027/233] [IMP]:point_of_sale: Added two products in the module data : - "Cash In" with field "Product for Input" set (it must appear in Point of Sale / Configuration / Products for Input Operations) - "Cash Out" with field "Product for expenses" set (it must appear in Point of Sale / Configuration / Products for Output Operations) Rename the fields: - income_pdt as "Product for Input Operation" - expense_pdt as "Product for Output Operation" In Journal view (Accounting/Configuration/Financial Accounting/ Journals/Journals): - Changed the label "Users" to "POS Users. - Fixed separator label "Extended Configureation" -> "Extended Configuration. - In demo data, the journal type "Cash" should have field check_dtls set. - Renamed "check details" into "Check Cash Balance." bzr revid: apa@tinyerp.com-20110520101607-5ilo2t7zna392s63 --- .../point_of_sale/account_statement_demo.xml | 3 +++ .../point_of_sale/account_statement_view.xml | 6 +++--- addons/point_of_sale/point_of_sale_demo.xml | 18 ++++++++++++++++++ addons/point_of_sale/point_of_sale_view.xml | 4 ++-- 4 files changed, 26 insertions(+), 5 deletions(-) diff --git a/addons/point_of_sale/account_statement_demo.xml b/addons/point_of_sale/account_statement_demo.xml index c4850ded0a3..7cdbbf99596 100644 --- a/addons/point_of_sale/account_statement_demo.xml +++ b/addons/point_of_sale/account_statement_demo.xml @@ -5,6 +5,7 @@ Visa Journal VIJ cash + @@ -30,6 +31,7 @@ Bancontact Journal BACJ cash + @@ -68,6 +70,7 @@ + diff --git a/addons/point_of_sale/account_statement_view.xml b/addons/point_of_sale/account_statement_view.xml index 2b09639588b..45f89c5062c 100644 --- a/addons/point_of_sale/account_statement_view.xml +++ b/addons/point_of_sale/account_statement_view.xml @@ -10,12 +10,12 @@ - - + + - + diff --git a/addons/point_of_sale/point_of_sale_demo.xml b/addons/point_of_sale/point_of_sale_demo.xml index b022bd86693..e95ce05256f 100644 --- a/addons/point_of_sale/point_of_sale_demo.xml +++ b/addons/point_of_sale/point_of_sale_demo.xml @@ -7,6 +7,24 @@ + + + buy + + Cash In + + Cash In + + + + + buy + + Cash Out + + Cash Out + + POS/019 diff --git a/addons/point_of_sale/point_of_sale_view.xml b/addons/point_of_sale/point_of_sale_view.xml index bf21eca349f..e08ec7cbaf9 100644 --- a/addons/point_of_sale/point_of_sale_view.xml +++ b/addons/point_of_sale/point_of_sale_view.xml @@ -657,8 +657,8 @@ - - + + From b25bf17013565154b4c4e65cd28747d03048735a Mon Sep 17 00:00:00 2001 From: "Tejas (OpenERP)" Date: Mon, 23 May 2011 12:55:24 +0530 Subject: [PATCH 028/233] [usability] purchase improvement , added picking to invoice bzr revid: tta@openerp.com-20110523072524-1sid4yhe9u1dqt9m --- addons/purchase/stock_view.xml | 57 ++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/addons/purchase/stock_view.xml b/addons/purchase/stock_view.xml index a65f557a3b2..fff91c4e627 100644 --- a/addons/purchase/stock_view.xml +++ b/addons/purchase/stock_view.xml @@ -57,5 +57,62 @@ + + + + stock.picking.in.search + stock.picking + search + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Picking to Invoice + stock.picking + ir.actions.act_window + form + tree,form,calendar + [('type','=','in')] + + {"search_default_done":1,"search_default_to_invoice":1} + + + + Create invoice from picking. If you selected this invoice method in the purchase order, all reception done are available here to be invoiced. + + + + From 44a6af1f4ee1fbb30ead1ddf4ca52c29c3c46280 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Mon, 23 May 2011 10:56:25 +0200 Subject: [PATCH 029/233] [FIX] in POS, rename all 'Product for expenses' into 'Product for Output' bzr revid: rco@openerp.com-20110523085625-t1r3k84umw3u31ww --- addons/point_of_sale/i18n/ar.po | 2 +- addons/point_of_sale/i18n/bg.po | 2 +- addons/point_of_sale/i18n/bs.po | 2 +- addons/point_of_sale/i18n/ca.po | 2 +- addons/point_of_sale/i18n/cs.po | 2 +- addons/point_of_sale/i18n/da.po | 2 +- addons/point_of_sale/i18n/de.po | 2 +- addons/point_of_sale/i18n/el.po | 2 +- addons/point_of_sale/i18n/es.po | 2 +- addons/point_of_sale/i18n/es_AR.po | 2 +- addons/point_of_sale/i18n/es_EC.po | 4 ++-- addons/point_of_sale/i18n/et.po | 2 +- addons/point_of_sale/i18n/fi.po | 2 +- addons/point_of_sale/i18n/fr.po | 2 +- addons/point_of_sale/i18n/hi.po | 2 +- addons/point_of_sale/i18n/hr.po | 2 +- addons/point_of_sale/i18n/hu.po | 2 +- addons/point_of_sale/i18n/id.po | 2 +- addons/point_of_sale/i18n/it.po | 2 +- addons/point_of_sale/i18n/ko.po | 2 +- addons/point_of_sale/i18n/lt.po | 2 +- addons/point_of_sale/i18n/mn.po | 2 +- addons/point_of_sale/i18n/nl.po | 2 +- addons/point_of_sale/i18n/nl_BE.po | 2 +- addons/point_of_sale/i18n/pl.po | 2 +- addons/point_of_sale/i18n/point_of_sale.pot | 2 +- addons/point_of_sale/i18n/pt.po | 2 +- addons/point_of_sale/i18n/pt_BR.po | 2 +- addons/point_of_sale/i18n/ro.po | 2 +- addons/point_of_sale/i18n/ru.po | 2 +- addons/point_of_sale/i18n/sl.po | 2 +- addons/point_of_sale/i18n/sq.po | 2 +- addons/point_of_sale/i18n/sr.po | 2 +- addons/point_of_sale/i18n/sr@latin.po | 2 +- addons/point_of_sale/i18n/sv.po | 2 +- addons/point_of_sale/i18n/tlh.po | 2 +- addons/point_of_sale/i18n/tr.po | 2 +- addons/point_of_sale/i18n/uk.po | 2 +- addons/point_of_sale/i18n/vi.po | 2 +- addons/point_of_sale/i18n/zh_CN.po | 2 +- addons/point_of_sale/i18n/zh_HK.po | 2 +- addons/point_of_sale/i18n/zh_TW.po | 2 +- addons/point_of_sale/point_of_sale.py | 2 +- 43 files changed, 44 insertions(+), 44 deletions(-) diff --git a/addons/point_of_sale/i18n/ar.po b/addons/point_of_sale/i18n/ar.po index 9e123debacc..b51c591718e 100644 --- a/addons/point_of_sale/i18n/ar.po +++ b/addons/point_of_sale/i18n/ar.po @@ -768,7 +768,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/bg.po b/addons/point_of_sale/i18n/bg.po index a013c85335d..1b96cb6a671 100644 --- a/addons/point_of_sale/i18n/bg.po +++ b/addons/point_of_sale/i18n/bg.po @@ -768,7 +768,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/bs.po b/addons/point_of_sale/i18n/bs.po index 7a704f6f381..feca51685c8 100644 --- a/addons/point_of_sale/i18n/bs.po +++ b/addons/point_of_sale/i18n/bs.po @@ -768,7 +768,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/ca.po b/addons/point_of_sale/i18n/ca.po index c7e564988ad..e67ad396923 100644 --- a/addons/point_of_sale/i18n/ca.po +++ b/addons/point_of_sale/i18n/ca.po @@ -769,7 +769,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/cs.po b/addons/point_of_sale/i18n/cs.po index 3d378e19bd2..6572c211ff4 100644 --- a/addons/point_of_sale/i18n/cs.po +++ b/addons/point_of_sale/i18n/cs.po @@ -768,7 +768,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/da.po b/addons/point_of_sale/i18n/da.po index 50d77c82e79..5d826a9ce85 100644 --- a/addons/point_of_sale/i18n/da.po +++ b/addons/point_of_sale/i18n/da.po @@ -769,7 +769,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/de.po b/addons/point_of_sale/i18n/de.po index 59e772f8cb4..4d29f3ae7bb 100644 --- a/addons/point_of_sale/i18n/de.po +++ b/addons/point_of_sale/i18n/de.po @@ -778,7 +778,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "Produkt für Ausgaben" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/el.po b/addons/point_of_sale/i18n/el.po index a2ce1c4beed..639edf9dd3a 100644 --- a/addons/point_of_sale/i18n/el.po +++ b/addons/point_of_sale/i18n/el.po @@ -769,7 +769,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/es.po b/addons/point_of_sale/i18n/es.po index 0f02805713f..de505a2b245 100644 --- a/addons/point_of_sale/i18n/es.po +++ b/addons/point_of_sale/i18n/es.po @@ -778,7 +778,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "Producto para gastos" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/es_AR.po b/addons/point_of_sale/i18n/es_AR.po index 44f81e309aa..ea0e6cd29aa 100644 --- a/addons/point_of_sale/i18n/es_AR.po +++ b/addons/point_of_sale/i18n/es_AR.po @@ -768,7 +768,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/es_EC.po b/addons/point_of_sale/i18n/es_EC.po index 0abeddfbfff..d0258d26334 100644 --- a/addons/point_of_sale/i18n/es_EC.po +++ b/addons/point_of_sale/i18n/es_EC.po @@ -777,8 +777,8 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" -msgstr "Product for expenses" +msgid "Product for Output" +msgstr "Product for Output" #. module: point_of_sale #: model:ir.actions.act_window,name:point_of_sale.action_report_pos_sales_user_today_current_user diff --git a/addons/point_of_sale/i18n/et.po b/addons/point_of_sale/i18n/et.po index b337178faa3..ad1de47d48b 100644 --- a/addons/point_of_sale/i18n/et.po +++ b/addons/point_of_sale/i18n/et.po @@ -774,7 +774,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/fi.po b/addons/point_of_sale/i18n/fi.po index 05261c37364..9d9b3aa8ba2 100644 --- a/addons/point_of_sale/i18n/fi.po +++ b/addons/point_of_sale/i18n/fi.po @@ -769,7 +769,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/fr.po b/addons/point_of_sale/i18n/fr.po index 79287926ac9..c98b071164d 100644 --- a/addons/point_of_sale/i18n/fr.po +++ b/addons/point_of_sale/i18n/fr.po @@ -780,7 +780,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "Produits pour Sortie de Caisse" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/hi.po b/addons/point_of_sale/i18n/hi.po index 03a905d7cb8..fe1aa7b0671 100644 --- a/addons/point_of_sale/i18n/hi.po +++ b/addons/point_of_sale/i18n/hi.po @@ -769,7 +769,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/hr.po b/addons/point_of_sale/i18n/hr.po index abb2fdb1054..18196580bed 100644 --- a/addons/point_of_sale/i18n/hr.po +++ b/addons/point_of_sale/i18n/hr.po @@ -768,7 +768,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/hu.po b/addons/point_of_sale/i18n/hu.po index 16bd5c42fec..47e1947d562 100644 --- a/addons/point_of_sale/i18n/hu.po +++ b/addons/point_of_sale/i18n/hu.po @@ -769,7 +769,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/id.po b/addons/point_of_sale/i18n/id.po index 5c5db29269a..cd444e5c830 100644 --- a/addons/point_of_sale/i18n/id.po +++ b/addons/point_of_sale/i18n/id.po @@ -768,7 +768,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/it.po b/addons/point_of_sale/i18n/it.po index e978536e1c0..803a569482b 100644 --- a/addons/point_of_sale/i18n/it.po +++ b/addons/point_of_sale/i18n/it.po @@ -778,7 +778,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "Prodotto per spese" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/ko.po b/addons/point_of_sale/i18n/ko.po index 52c56982b36..0bad0a5c2ab 100644 --- a/addons/point_of_sale/i18n/ko.po +++ b/addons/point_of_sale/i18n/ko.po @@ -769,7 +769,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/lt.po b/addons/point_of_sale/i18n/lt.po index 8d5faeb01c7..a5e452458a4 100644 --- a/addons/point_of_sale/i18n/lt.po +++ b/addons/point_of_sale/i18n/lt.po @@ -768,7 +768,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/mn.po b/addons/point_of_sale/i18n/mn.po index 162ca31703d..9bd79ac9cbf 100644 --- a/addons/point_of_sale/i18n/mn.po +++ b/addons/point_of_sale/i18n/mn.po @@ -769,7 +769,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/nl.po b/addons/point_of_sale/i18n/nl.po index 05814df59e4..d7dd3e5ba65 100644 --- a/addons/point_of_sale/i18n/nl.po +++ b/addons/point_of_sale/i18n/nl.po @@ -768,7 +768,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/nl_BE.po b/addons/point_of_sale/i18n/nl_BE.po index f9b0fbe4e97..3d7f392cb2b 100644 --- a/addons/point_of_sale/i18n/nl_BE.po +++ b/addons/point_of_sale/i18n/nl_BE.po @@ -768,7 +768,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/pl.po b/addons/point_of_sale/i18n/pl.po index 323efb6f2b4..aff595ac16a 100644 --- a/addons/point_of_sale/i18n/pl.po +++ b/addons/point_of_sale/i18n/pl.po @@ -772,7 +772,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/point_of_sale.pot b/addons/point_of_sale/i18n/point_of_sale.pot index e4dcfccbe50..d9fb20dccbb 100644 --- a/addons/point_of_sale/i18n/point_of_sale.pot +++ b/addons/point_of_sale/i18n/point_of_sale.pot @@ -793,7 +793,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/pt.po b/addons/point_of_sale/i18n/pt.po index f7857c6568b..ea2d62aa43b 100644 --- a/addons/point_of_sale/i18n/pt.po +++ b/addons/point_of_sale/i18n/pt.po @@ -774,7 +774,7 @@ msgstr "O montante do vale deve ser o mesmo que o da linha do extracto" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "Produto para despesas" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/pt_BR.po b/addons/point_of_sale/i18n/pt_BR.po index 4aba5f89473..bf2472cd7bf 100644 --- a/addons/point_of_sale/i18n/pt_BR.po +++ b/addons/point_of_sale/i18n/pt_BR.po @@ -768,7 +768,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "Produto para Despesas" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/ro.po b/addons/point_of_sale/i18n/ro.po index 4e1629bbc55..b9a9c4bcbea 100644 --- a/addons/point_of_sale/i18n/ro.po +++ b/addons/point_of_sale/i18n/ro.po @@ -768,7 +768,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/ru.po b/addons/point_of_sale/i18n/ru.po index 50fe81005c5..6d119a7d14d 100644 --- a/addons/point_of_sale/i18n/ru.po +++ b/addons/point_of_sale/i18n/ru.po @@ -768,7 +768,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/sl.po b/addons/point_of_sale/i18n/sl.po index 19ddfbc1d79..f0d246e826e 100644 --- a/addons/point_of_sale/i18n/sl.po +++ b/addons/point_of_sale/i18n/sl.po @@ -768,7 +768,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/sq.po b/addons/point_of_sale/i18n/sq.po index a359cfd3088..072137798d9 100644 --- a/addons/point_of_sale/i18n/sq.po +++ b/addons/point_of_sale/i18n/sq.po @@ -769,7 +769,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/sr.po b/addons/point_of_sale/i18n/sr.po index 28b674dfdd7..d3246cf3262 100644 --- a/addons/point_of_sale/i18n/sr.po +++ b/addons/point_of_sale/i18n/sr.po @@ -769,7 +769,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "Proizvodi za Troskove" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/sr@latin.po b/addons/point_of_sale/i18n/sr@latin.po index c52da341fa9..250c8ee3580 100644 --- a/addons/point_of_sale/i18n/sr@latin.po +++ b/addons/point_of_sale/i18n/sr@latin.po @@ -769,7 +769,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "Proizvodi za Troskove" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/sv.po b/addons/point_of_sale/i18n/sv.po index 5801d102015..2fd7656fa66 100644 --- a/addons/point_of_sale/i18n/sv.po +++ b/addons/point_of_sale/i18n/sv.po @@ -768,7 +768,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/tlh.po b/addons/point_of_sale/i18n/tlh.po index 52563a6c3f7..e2bfba37d81 100644 --- a/addons/point_of_sale/i18n/tlh.po +++ b/addons/point_of_sale/i18n/tlh.po @@ -768,7 +768,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/tr.po b/addons/point_of_sale/i18n/tr.po index 79f1801e7a6..683103d47e6 100644 --- a/addons/point_of_sale/i18n/tr.po +++ b/addons/point_of_sale/i18n/tr.po @@ -806,7 +806,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/uk.po b/addons/point_of_sale/i18n/uk.po index 28508a5c583..c0c1dbe6bcd 100644 --- a/addons/point_of_sale/i18n/uk.po +++ b/addons/point_of_sale/i18n/uk.po @@ -768,7 +768,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/vi.po b/addons/point_of_sale/i18n/vi.po index be5a240147e..d67353905fd 100644 --- a/addons/point_of_sale/i18n/vi.po +++ b/addons/point_of_sale/i18n/vi.po @@ -769,7 +769,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/zh_CN.po b/addons/point_of_sale/i18n/zh_CN.po index 450b2a6b160..e3a3804294a 100644 --- a/addons/point_of_sale/i18n/zh_CN.po +++ b/addons/point_of_sale/i18n/zh_CN.po @@ -768,7 +768,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/zh_HK.po b/addons/point_of_sale/i18n/zh_HK.po index 1f3b56d7bcf..cbe4d6e10f6 100644 --- a/addons/point_of_sale/i18n/zh_HK.po +++ b/addons/point_of_sale/i18n/zh_HK.po @@ -769,7 +769,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/i18n/zh_TW.po b/addons/point_of_sale/i18n/zh_TW.po index d407a999d9e..e4f64e6fb10 100644 --- a/addons/point_of_sale/i18n/zh_TW.po +++ b/addons/point_of_sale/i18n/zh_TW.po @@ -768,7 +768,7 @@ msgstr "" #. module: point_of_sale #: field:product.product,expense_pdt:0 -msgid "Product for expenses" +msgid "Product for Output" msgstr "" #. module: point_of_sale diff --git a/addons/point_of_sale/point_of_sale.py b/addons/point_of_sale/point_of_sale.py index 4eeb7b2dd9f..1f4df6e482f 100644 --- a/addons/point_of_sale/point_of_sale.py +++ b/addons/point_of_sale/point_of_sale.py @@ -1231,7 +1231,7 @@ class product_product(osv.osv): _inherit = 'product.product' _columns = { 'income_pdt': fields.boolean('Product for Input'), - 'expense_pdt': fields.boolean('Product for expenses'), + 'expense_pdt': fields.boolean('Product for Output'), 'am_out': fields.boolean('Control for Output Operations'), 'disc_controle': fields.boolean('Discount Control'), } From 7dcc7ce82812562e1d7109344bf4efacfb9aa329 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Mon, 23 May 2011 11:06:56 +0200 Subject: [PATCH 030/233] [IMP] remove unused modules bzr revid: rco@openerp.com-20110523090656-qfuk3rquictzlprj --- addons/thunderbird/installer.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/addons/thunderbird/installer.py b/addons/thunderbird/installer.py index 69644f55579..5bf11218842 100644 --- a/addons/thunderbird/installer.py +++ b/addons/thunderbird/installer.py @@ -21,11 +21,9 @@ from osv import fields from osv import osv -from tools import config import base64 import addons -import difflib class thunderbird_installer(osv.osv_memory): _name = 'thunderbird.installer' From e9581423e2410a070d28baa1f702a439219036b8 Mon Sep 17 00:00:00 2001 From: "Ravi Gohil (Open ERP)" Date: Mon, 23 May 2011 15:07:11 +0530 Subject: [PATCH 031/233] [FIX] stock : lambda missing with dates in _defaults fixed lp bug: https://launchpad.net/bugs/761460 fixed bzr revid: rgo@tinyerp.com-20110523093711-wjujxn7kf7qm9goy --- addons/stock/stock.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/addons/stock/stock.py b/addons/stock/stock.py index 5591b0e6333..99ee5e4de7f 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -440,7 +440,7 @@ class stock_location(osv.osv): total = 0.0 results2 = 0.0 - + for r in results: amount = pool_uom._compute_qty(cr, uid, r['product_uom'], r['product_qty'], context.get('uom', False)) results2 += amount @@ -494,7 +494,7 @@ class stock_tracking(osv.osv): _defaults = { 'active': 1, 'name': make_sscc, - 'date': time.strftime('%Y-%m-%d %H:%M:%S'), + 'date': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'), } def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=100): @@ -657,7 +657,7 @@ class stock_picking(osv.osv): 'move_type': 'direct', 'type': 'in', 'invoice_state': 'none', - 'date': time.strftime('%Y-%m-%d %H:%M:%S'), + 'date': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'), 'company_id': lambda self, cr, uid, c: self.pool.get('res.company')._company_default_get(cr, uid, 'stock.picking', context=c) } def action_process(self, cr, uid, ids, context=None): @@ -1413,7 +1413,7 @@ class stock_production_lot(osv.osv): 'move_ids': fields.one2many('stock.move', 'prodlot_id', 'Moves for this production lot', readonly=True), } _defaults = { - 'date': time.strftime('%Y-%m-%d %H:%M:%S'), + 'date': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'), 'name': lambda x, y, z, c: x.pool.get('ir.sequence').get(y, z, 'stock.lot.serial'), 'product_id': lambda x, y, z, c: c.get('product_id', False), } @@ -1449,7 +1449,7 @@ class stock_production_lot_revision(osv.osv): _defaults = { 'author_id': lambda x, y, z, c: z, - 'date': time.strftime('%Y-%m-%d'), + 'date': lambda *a: time.strftime('%Y-%m-%d'), } stock_production_lot_revision() @@ -1614,9 +1614,9 @@ class stock_move(osv.osv): 'priority': '1', 'product_qty': 1.0, 'scrapped' : False, - 'date': time.strftime('%Y-%m-%d %H:%M:%S'), + 'date': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'), 'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'stock.move', context=c), - 'date_expected': time.strftime('%Y-%m-%d %H:%M:%S'), + 'date_expected': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'), } def write(self, cr, uid, ids, vals, context=None): @@ -2257,7 +2257,7 @@ class stock_move(osv.osv): new_move = self.copy(cr, uid, move.id, default_val) res += [new_move] - + for (id, name) in product_obj.name_get(cr, uid, [move.product_id.id]): self.log(cr, uid, move.id, "%s x %s %s" % (move.product_qty, name, _("were scrapped"))) @@ -2527,7 +2527,7 @@ class stock_inventory(osv.osv): } _defaults = { - 'date': time.strftime('%Y-%m-%d %H:%M:%S'), + 'date': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'), 'state': 'draft', 'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'stock.inventory', context=c) } From fe75955b1c30bc8f9e6c48849518667f71f87b6d Mon Sep 17 00:00:00 2001 From: "Ravi Gohil (Open ERP)" Date: Mon, 23 May 2011 15:19:40 +0530 Subject: [PATCH 032/233] [FIX] crm : missing partner information while schedule phone call is fixed lp bug: https://launchpad.net/bugs/777347 fixed bzr revid: rgo@tinyerp.com-20110523094940-q1p8amsjr05qup4t --- addons/crm/crm_phonecall_menu.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/addons/crm/crm_phonecall_menu.xml b/addons/crm/crm_phonecall_menu.xml index f223ee16be9..cfaf5720cb1 100644 --- a/addons/crm/crm_phonecall_menu.xml +++ b/addons/crm/crm_phonecall_menu.xml @@ -9,6 +9,7 @@ src_model="res.partner" view_mode="calendar,tree,form" context="{'search_default_partner_id': [active_id], 'default_duration': 1.0}" + domain="[('partner_id', '=', active_id)]" groups="base.group_extended" /> From ac86286670637e1af8e2702cf39eb81099d8aa8e Mon Sep 17 00:00:00 2001 From: "Ravi Gohil (Open ERP)" Date: Mon, 23 May 2011 15:43:58 +0530 Subject: [PATCH 033/233] [FIX] stock : correct value in field creation date of stock_inventory object lp bug: https://launchpad.net/bugs/783361 fixed bzr revid: rgo@tinyerp.com-20110523101358-1z9az90dqss9weye --- addons/stock/stock.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/stock/stock.py b/addons/stock/stock.py index 5591b0e6333..f97d7d202af 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -2527,7 +2527,7 @@ class stock_inventory(osv.osv): } _defaults = { - 'date': time.strftime('%Y-%m-%d %H:%M:%S'), + 'date': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'), 'state': 'draft', 'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'stock.inventory', context=c) } From 4a71ddbb1b105d3834542932b6723210d58f3eb3 Mon Sep 17 00:00:00 2001 From: "Tejas (OpenERP)" Date: Tue, 24 May 2011 14:43:58 +0530 Subject: [PATCH 034/233] [usability] in user form : department, sales team and project should be on the same level. bzr revid: tta@openerp.com-20110524091358-0dwzrnr8jc7zwjbs --- addons/hr/hr_department_view.xml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/addons/hr/hr_department_view.xml b/addons/hr/hr_department_view.xml index 08fa5e0d7d8..fe6f75244ef 100644 --- a/addons/hr/hr_department_view.xml +++ b/addons/hr/hr_department_view.xml @@ -71,11 +71,9 @@ res.users - - + - - + From 26d26a234b3ff66cb0dfd209ef4f491a8b2e3818 Mon Sep 17 00:00:00 2001 From: "Hardik Ansodariy (OpenERP)" Date: Tue, 24 May 2011 18:27:03 +0530 Subject: [PATCH 035/233] [IMP]:hr_evaluation:i have add two data in this module 1)Employee Evaluation 2)job Survey bzr revid: han@tinyerp.com-20110524125703-6nt9o8hgckwh2c6i --- addons/hr_evaluation/__openerp__.py | 3 +- addons/hr_evaluation/hr_evaluation_data.xml | 597 ++++++++++++++ addons/hr_evaluation/hr_evaluation_demo.xml | 772 ------------------ addons/hr_recruitment/hr_recruitment_data.xml | 372 +++++++++ addons/hr_recruitment/hr_recruitment_demo.xml | 437 ---------- addons/survey/survey_data.xml | 15 +- addons/survey/survey_demo.xml | 4 +- 7 files changed, 986 insertions(+), 1214 deletions(-) create mode 100644 addons/hr_evaluation/hr_evaluation_data.xml diff --git a/addons/hr_evaluation/__openerp__.py b/addons/hr_evaluation/__openerp__.py index 1a611768d7e..3e45d38156e 100644 --- a/addons/hr_evaluation/__openerp__.py +++ b/addons/hr_evaluation/__openerp__.py @@ -47,7 +47,8 @@ in the form of pdf file. Implements a dashboard for My Current Evaluations "wizard/hr_evaluation_mail_view.xml", "hr_evaluation_view.xml", "report/hr_evaluation_report_view.xml", - "board_hr_evaluation_view.xml" + "board_hr_evaluation_view.xml", + "hr_evaluation_data.xml" ], "test": ["test/test_hr_evaluation.yml"], "active": False, diff --git a/addons/hr_evaluation/hr_evaluation_data.xml b/addons/hr_evaluation/hr_evaluation_data.xml new file mode 100644 index 00000000000..769522e876b --- /dev/null +++ b/addons/hr_evaluation/hr_evaluation_data.xml @@ -0,0 +1,597 @@ + + + + + Employee Evaluation + 20 + + + + 5 + open + + + Employee Evaluation Form + + + + + Work Plan + + + + + Employee Performance In Key Areas + + + The appraiser should rate the employee’s major work accomplishments and performance according to the metric provided below : + 1 - Significantly exceeds standards and expectations required of the position + 2 - Exceeds standards and expectations + 3 - Meet standards and expectations + 4 - Did not meet standards and expectations + 5 - Significantly below standards and expectations + + + Professional Development And Performance Plan (optional) + + + Identify professional, performance, or project objectives you recommend for employee’s continued career development over the coming year. + + + Employee Comments + + + + + 1 + do_not_validate + do_not_validate + Please enter a comment. + The choices need to add up to [enter sum here]. + + The comment you entered is in an invalid format. + + This question requires an answer. + + Employee Information + + multiple_textboxes_diff_type + The comment you entered is in an invalid format. + + + + Other + + + + + 1 + do_not_validate + do_not_validate + Please enter a comment. + The choices need to add up to [enter sum here]. + + The comment you entered is in an invalid format. + + This question requires an answer. + + Overall Purpose Of Employee Appraisal + + descriptive_text + The comment you entered is in an invalid format. + * To initiate a clear and open communication of performance expectations + +* To assist employees in their professional growth, through the identification of strengths and opportunities for development + + + + Other + + + + + 1 + do_not_validate + do_not_validate + Please enter a comment. + The choices need to add up to [enter sum here]. + + The comment you entered is in an invalid format. + + This question requires an answer. + + At the outset of the appraisal time period + + descriptive_text + The comment you entered is in an invalid format. + * It is the joint responsibility of the employee and the supervisor (appraiser) to establish a feasible work plan for the coming year, including major employee responsibilities and corresponding benchmarks against which results will be evaluated. +* Critical or key elements of performance and professional development needs (if any), should also be noted at this time + + + + Other + + + + + 1 + do_not_validate + do_not_validate + Please enter a comment. + The choices need to add up to [enter sum here]. + + The comment you entered is in an invalid format. + + This question requires an answer. + + At the conclusion of the appraisal time period + + descriptive_text + The comment you entered is in an invalid format. + * The employee will be responsible for completing a draft of the Appraisal Form as a tool for self-evaluation and a starting point for the supervisor’s evaluation. The employee can add examples of achievements for each criterion. +Once the form had been filled, the employee send it to his supervisor. + +* It is the primary responsibility of the supervisor to gather the necessary input from the appropriate sources of feedback (internal and/or external customers, peers). In case of collaboration with OpenERP SA Belgium, the supervisor must receive completed evaluation form from the employee's Belgian project manager. + +* The supervisor synthesizes and integrates all input into the completed appraisal. He motivates his evaluation in the ad hoc fields. + +* The employee may choose to offer comments or explanation regarding the completed review. + +* The supervisor send the form to the HR department in India and in Belgium. + + + + Other + + + + + 1 + do_not_validate + do_not_validate + Please enter a comment. + The choices need to add up to [enter sum here]. + + The comment you entered is in an invalid format. + + This question requires an answer. + + Work Plan + + table + The comment you entered is in an invalid format. + + + + Other + + + + + + 1 + do_not_validate + do_not_validate + Please enter a comment. + The choices need to add up to [enter sum here]. + + The comment you entered is in an invalid format. + + This question requires an answer. + + Additional comments : + + comment + The comment you entered is in an invalid format. + + + + Other + + + + + 1 + do_not_validate + do_not_validate + Please enter a comment. + The choices need to add up to [enter sum here]. + + The comment you entered is in an invalid format. + + This question requires an answer. + + Subject + + matrix_of_choices_only_one_ans + Recommendations / Evaluations + The comment you entered is in an invalid format. + + + + Other + + + + + 1 + do_not_validate + do_not_validate + Please enter a comment. + The choices need to add up to [enter sum here]. + + The comment you entered is in an invalid format. + + This question requires an answer. + + Supervisors only : + + matrix_of_choices_only_one_ans + Recommendations / Evaluations + The comment you entered is in an invalid format. + + + + Other + + + + + 1 + do_not_validate + do_not_validate + Please enter a comment. + The choices need to add up to [enter sum here]. + + The comment you entered is in an invalid format. + + This question requires an answer. + + Overall Performance Summary Rating + + descriptive_text + The comment you entered is in an invalid format. + including the project evaluation form (if any) + + + + Other + + + + + 1 + do_not_validate + do_not_validate + Please enter a comment. + The choices need to add up to [enter sum here]. + + The comment you entered is in an invalid format. + + This question requires an answer. + + Professional Development Objectives + + comment + The comment you entered is in an invalid format. + + + + Other + + + + + 1 + do_not_validate + do_not_validate + Please enter a comment. + The choices need to add up to [enter sum here]. + + The comment you entered is in an invalid format. + + This question requires an answer. + + Personal Performance Objectives + + comment + The comment you entered is in an invalid format. + + + + Other + + + + + 1 + do_not_validate + do_not_validate + Please enter a comment. + The choices need to add up to [enter sum here]. + + The comment you entered is in an invalid format. + + This question requires an answer. + + Project Objectives + + comment + The comment you entered is in an invalid format. + + + + Other + + + + + 1 + do_not_validate + do_not_validate + Please enter a comment. + The choices need to add up to [enter sum here]. + + The comment you entered is in an invalid format. + + This question requires an answer. + + Use the following space to make any comments regarding the above performance evaluation. + + comment + The comment you entered is in an invalid format. + + + + Other + + + + + Name + + char + + + + Position Title + + char + + + + Appraisal for Period + + char + + + + Date of Review + + datetime + + + + Appraiser + + char + + + + Title + + char + + + + 1 + 1 + 1 + + + + 1 + 1 + 2 + + + + 1 + 1 + 3 + + + + 1 + 1 + 4 + + + + 1 + 1 + 5 + + + + 1 + Ability to cope with multidisciplinary of team + + + + + 1 + Enthusiasm & implication toward projects/assignments + + + + + 1 + Compliance to internal rules and processes (timesheets completion, etc.) + + + + + 1 + Team spirit : ability to work efficiently with peers, manage the conflicts with diplomacy + + + + + 1 + Initiative and self autonomy + + + + + 1 + Ability to follow and complete work as instructed + + + + + 1 + Decision making + + + + + 1 + Customer commitment + + + + + 1 + Communication skills ( written & verbally): clearness, concision, exactitude + + + + + 1 + Technical skills regarding to the job requirements + + + + + 1 + Analytical and synthetic mind + + + + + 1 + Promptness and attendance record + + + + + 1 + Adaptability : Ability to adapt oneself to organizational changes while keeping efficiency + + + + + 1 + Creativity and forward looking aptitude + + + + + 1 + Time management : projects/tasks are completed on time + + + + + 1 + 1 + 1 + + + + 1 + 1 + 2 + + + + 1 + 1 + 3 + + + + 1 + 1 + 4 + + + + 1 + 1 + 5 + + + + 1 + Results of the bottom-up survey and mitigation actions to face technical, organizational, structural and/or relational issues + + + + + 1 + Delegation : Ability to efficiently assign tasks to other people + + + + + 1 + Leadership: create a challenging and motivating work environment aligned with the company's strategy + + + + + 1 + Leadership: sustain subordinates in their professional growth + + + + + 1 + Ability to manage planning resources, risks, budgets and deadlines + + + + + 1 + 1 + Objectives + + + + 1 + 1 + Results + + + + 1 + 1 + Comments + + + + 1 + At the conclusion of the appraisal time period: + + + + + 1 + At the outset of the appraisal time period: + + + + + diff --git a/addons/hr_evaluation/hr_evaluation_demo.xml b/addons/hr_evaluation/hr_evaluation_demo.xml index 59396717d49..a7be585272f 100644 --- a/addons/hr_evaluation/hr_evaluation_demo.xml +++ b/addons/hr_evaluation/hr_evaluation_demo.xml @@ -1,17 +1,5 @@ - - - - Employee Evaluation - 20 - - - - 5 - open - - @@ -24,14 +12,6 @@ - - - Employee Evaluation Form - - - - - Process @@ -40,45 +20,6 @@ - - - Work Plan - - - - - - - - Employee Performance In Key Areas - - - The appraiser should rate the employee’s major work accomplishments and performance according to the metric provided below : - 1 - Significantly exceeds standards and expectations required of the position - 2 - Exceeds standards and expectations - 3 - Meet standards and expectations - 4 - Did not meet standards and expectations - 5 - Significantly below standards and expectations - - - - - - Professional Development And Performance Plan (optional) - - - Identify professional, performance, or project objectives you recommend for employee’s continued career development over the coming year. - - - - - - Employee Comments - - - - - Survey @@ -112,31 +53,6 @@ - - - 1 - do_not_validate - do_not_validate - Please enter a comment. - The choices need to add up to [enter sum here]. - - The comment you entered is in an invalid format. - - This question requires an answer. - - Employee Information - - multiple_textboxes_diff_type - The comment you entered is in an invalid format. - - - - Other - - - - - 1 @@ -162,32 +78,6 @@ - - - 1 - do_not_validate - do_not_validate - Please enter a comment. - The choices need to add up to [enter sum here]. - - The comment you entered is in an invalid format. - - This question requires an answer. - - Subject - - matrix_of_choices_only_one_ans - Recommendations / Evaluations - The comment you entered is in an invalid format. - - - - Other - - - - - 1 @@ -213,58 +103,6 @@ - - - 1 - do_not_validate - do_not_validate - Please enter a comment. - The choices need to add up to [enter sum here]. - - The comment you entered is in an invalid format. - - This question requires an answer. - - Supervisors only : - - matrix_of_choices_only_one_ans - Recommendations / Evaluations - The comment you entered is in an invalid format. - - - - Other - - - - - - - - 1 - do_not_validate - do_not_validate - Please enter a comment. - The choices need to add up to [enter sum here]. - - The comment you entered is in an invalid format. - - This question requires an answer. - - Work Plan - - table - The comment you entered is in an invalid format. - - - - Other - - - - - - 1 @@ -315,31 +153,6 @@ - - - 1 - do_not_validate - do_not_validate - Please enter a comment. - The choices need to add up to [enter sum here]. - - The comment you entered is in an invalid format. - - This question requires an answer. - - Additional comments : - - comment - The comment you entered is in an invalid format. - - - - Other - - - - - 1 @@ -365,60 +178,6 @@ - - - 1 - do_not_validate - do_not_validate - Please enter a comment. - The choices need to add up to [enter sum here]. - - The comment you entered is in an invalid format. - - This question requires an answer. - - Overall Performance Summary Rating - - descriptive_text - The comment you entered is in an invalid format. - including the project evaluation form (if any) - - - - Other - - - - - - - - 1 - do_not_validate - do_not_validate - Please enter a comment. - The choices need to add up to [enter sum here]. - - The comment you entered is in an invalid format. - - This question requires an answer. - - Overall Purpose Of Employee Appraisal - - descriptive_text - The comment you entered is in an invalid format. - * To initiate a clear and open communication of performance expectations - -* To assist employees in their professional growth, through the identification of strengths and opportunities for development - - - - Other - - - - - 1 @@ -469,68 +228,6 @@ - - - 1 - do_not_validate - do_not_validate - Please enter a comment. - The choices need to add up to [enter sum here]. - - The comment you entered is in an invalid format. - - This question requires an answer. - - At the outset of the appraisal time period - - descriptive_text - The comment you entered is in an invalid format. - * It is the joint responsibility of the employee and the supervisor (appraiser) to establish a feasible work plan for the coming year, including major employee responsibilities and corresponding benchmarks against which results will be evaluated. -* Critical or key elements of performance and professional development needs (if any), should also be noted at this time - - - - Other - - - - - - - - 1 - do_not_validate - do_not_validate - Please enter a comment. - The choices need to add up to [enter sum here]. - - The comment you entered is in an invalid format. - - This question requires an answer. - - At the conclusion of the appraisal time period - - descriptive_text - The comment you entered is in an invalid format. - * The employee will be responsible for completing a draft of the Appraisal Form as a tool for self-evaluation and a starting point for the supervisor’s evaluation. The employee can add examples of achievements for each criterion. -Once the form had been filled, the employee send it to his supervisor. - -* It is the primary responsibility of the supervisor to gather the necessary input from the appropriate sources of feedback (internal and/or external customers, peers). In case of collaboration with OpenERP SA Belgium, the supervisor must receive completed evaluation form from the employee's Belgian project manager. - -* The supervisor synthesizes and integrates all input into the completed appraisal. He motivates his evaluation in the ad hoc fields. - -* The employee may choose to offer comments or explanation regarding the completed review. - -* The supervisor send the form to the HR department in India and in Belgium. - - - - Other - - - - - 1 @@ -566,197 +263,6 @@ Once the form had been filled, the employee send it to his supervisor. - - - - 1 - do_not_validate - do_not_validate - Please enter a comment. - The choices need to add up to [enter sum here]. - - The comment you entered is in an invalid format. - - This question requires an answer. - - Professional Development Objectives - - comment - The comment you entered is in an invalid format. - - - - Other - - - - - - - - 1 - do_not_validate - do_not_validate - Please enter a comment. - The choices need to add up to [enter sum here]. - - The comment you entered is in an invalid format. - - This question requires an answer. - - Personal Performance Objectives - - comment - The comment you entered is in an invalid format. - - - - Other - - - - - - - - 1 - do_not_validate - do_not_validate - Please enter a comment. - The choices need to add up to [enter sum here]. - - The comment you entered is in an invalid format. - - This question requires an answer. - - Project Objectives - - comment - The comment you entered is in an invalid format. - - - - Other - - - - - - - - 1 - do_not_validate - do_not_validate - Please enter a comment. - The choices need to add up to [enter sum here]. - - The comment you entered is in an invalid format. - - This question requires an answer. - - Use the following space to make any comments regarding the above performance evaluation. - - comment - The comment you entered is in an invalid format. - - - - Other - - - - - - - - 1 - 1 - 1 - - - - - - - 1 - 1 - 2 - - - - - - - 1 - 1 - 3 - - - - - - - 1 - 1 - 4 - - - - - - - 1 - 1 - 5 - - - - - - - 1 - 1 - 1 - - - - - - - 1 - 1 - 2 - - - - - - - 1 - 1 - 3 - - - - - - - 1 - 1 - 4 - - - - - - - 1 - 1 - 5 - - - - 1 @@ -1036,15 +542,6 @@ Once the form had been filled, the employee send it to his supervisor. - - - Name - - char - - - - 1 @@ -1119,15 +616,6 @@ Once the form had been filled, the employee send it to his supervisor. - - - Position Title - - char - - - - 1 @@ -1210,15 +698,6 @@ Once the form had been filled, the employee send it to his supervisor. - - - Appraisal for Period - - char - - - - 1 @@ -1255,113 +734,6 @@ Once the form had been filled, the employee send it to his supervisor. - - - Date of Review - - datetime - - - - - - - 1 - Time management : projects/tasks are completed on time - - - - - - - - 1 - Results of the bottom-up survey and mitigation actions to face technical, organizational, structural and/or relational issues - - - - - - - - 1 - Delegation : Ability to efficiently assign tasks to other people - - - - - - - - Appraiser - - char - - - - - - - 1 - Ability to cope with multidisciplinary of team - - - - - - - - 1 - Enthusiasm & implication toward projects/assignments - - - - - - - - 1 - Compliance to internal rules and processes (timesheets completion, etc.) - - - - - - - - 1 - Team spirit : ability to work efficiently with peers, manage the conflicts with diplomacy - - - - - - - - 1 - Leadership: create a challenging and motivating work environment aligned with the company's strategy - - - - - - - - 1 - Leadership: sustain subordinates in their professional growth - - - - - - - - 1 - Ability to manage planning resources, risks, budgets and deadlines - - - - @@ -1381,150 +753,6 @@ Once the form had been filled, the employee send it to his supervisor. - - - 1 - Initiative and self autonomy - - - - - - - - 1 - Ability to follow and complete work as instructed - - - - - - - - 1 - Decision making - - - - - - - - 1 - At the conclusion of the appraisal time period: - - - - - - - - 1 - At the outset of the appraisal time period: - - - - - - - - 1 - Customer commitment - - - - - - - - 1 - Communication skills ( written & verbally): clearness, concision, exactitude - - - - - - - - 1 - Technical skills regarding to the job requirements - - - - - - - - 1 - Analytical and synthetic mind - - - - - - - - 1 - Promptness and attendance record - - - - - - - - 1 - Adaptability : Ability to adapt oneself to organizational changes while keeping efficiency - - - - - - - - 1 - Creativity and forward looking aptitude - - - - - - - - Title - - char - - - - - - - 1 - 1 - Objectives - - - - - - - 1 - 1 - Results - - - - - - - 1 - 1 - Comments - - - - diff --git a/addons/hr_recruitment/hr_recruitment_data.xml b/addons/hr_recruitment/hr_recruitment_data.xml index 7985ddb42f0..2287f3c05c3 100644 --- a/addons/hr_recruitment/hr_recruitment_data.xml +++ b/addons/hr_recruitment/hr_recruitment_data.xml @@ -65,6 +65,378 @@ 7 + + Job Survey + draft + 20 + + + + 5 + + + Default Section + + + + + Education & Activities + + + + + Importance + + + + + 1 + do_not_validate + do_not_validate + Please enter a comment. + The choices need to add up to [enter sum here]. + + The comment you entered is in an invalid format. + + This question requires an answer. + + From which university will you graduate? + + single_textbox + The comment you entered is in an invalid format. + + + + Other + + + + + 1 + do_not_validate + do_not_validate + Please enter a comment. + The choices need to add up to [enter sum here]. + + The comment you entered is in an invalid format. + + This question requires an answer. + + Rate the Importance + + matrix_of_choices_only_one_ans + The comment you entered is in an invalid format. + + + + Other + + + + + 1 + do_not_validate + do_not_validate + Please enter a comment. + The choices need to add up to [enter sum here]. + + The comment you entered is in an invalid format. + + This question requires an answer. + + Education + + comment + The comment you entered is in an invalid format. + + + + Other + + + + + 1 + do_not_validate + do_not_validate + Please enter a comment. + The choices need to add up to [enter sum here]. + + The comment you entered is in an invalid format. + + This question requires an answer. + + Knowledge + + comment + The comment you entered is in an invalid format. + + + + Other + + + + + 1 + do_not_validate + do_not_validate + Please enter a comment. + The choices need to add up to [enter sum here]. + + The comment you entered is in an invalid format. + + This question requires an answer. + + What is your gender? + + multiple_choice_only_one_ans + The comment you entered is in an invalid format. + + + + Other + + + + + 1 + Male + + + + + + 1 + Female + + + + + + 1 + do_not_validate + do_not_validate + Please enter a comment. + The choices need to add up to [enter sum here]. + + The comment you entered is in an invalid format. + + This question requires an answer. + + What age group do you belong to? + + multiple_choice_only_one_ans + The comment you entered is in an invalid format. + + + + Other + + + + + + 1 + 0 - 15 + + + + + 1 + 16 - 20 + + + + + 1 + 21 - 30 + + + + + 1 + 31 - 40 + + + + + 1 + 41 - 50 + + + + + 1 + 51 - 60 + + + + + 1 + 61 - 70 + + + + + 1 + 71 + + + + + + + 1 + do_not_validate + do_not_validate + Please enter a comment. + The choices need to add up to [enter sum here]. + + The comment you entered is in an invalid format. + + This question requires an answer. + + Exprience + + comment + The comment you entered is in an invalid format. + + + + Other + + + + + 1 + do_not_validate + do_not_validate + Please enter a comment. + The choices need to add up to [enter sum here]. + + The comment you entered is in an invalid format. + + This question requires an answer. + + Activities + + comment + The comment you entered is in an invalid format. + + + + Other + + + + + + Not important + + + + + + Somewhat important + + + + + + Important + + + + + + Very important + + + + + + Most important + + + + + 1 + Good pay + + + + + 1 + Getting on with colleagues + + + + + 1 + Office environment (décor, light, space etc) + + + + + 1 + Desk space + + + + + 1 + State of the art technology + + + + + 1 + Office location (proximity to home) + + + + + 1 + Good management/boss + + + + + 1 + Freebies such as tea, coffee and stationery + + + + + 1 + Perks such as free parking, gym passes etc + + + + + 1 + No out of hours working + + + + + 1 + Dress code + + + + + 1 + Regular meetings + + + + + 1 + Good social life (office nights out, good Christmas parties etc) + + + diff --git a/addons/hr_recruitment/hr_recruitment_demo.xml b/addons/hr_recruitment/hr_recruitment_demo.xml index 4811e2b91a2..df34ec093c8 100644 --- a/addons/hr_recruitment/hr_recruitment_demo.xml +++ b/addons/hr_recruitment/hr_recruitment_demo.xml @@ -134,442 +134,5 @@ - - - - - Job Survey - draft - 20 - - - - 5 - - - - - Default Section - - - - - - - Education & Activities - - - - - - - Importance - - - - - - - 1 - do_not_validate - do_not_validate - Please enter a comment. - The choices need to add up to [enter sum here]. - - The comment you entered is in an invalid format. - - This question requires an answer. - - From which university will you graduate? - - single_textbox - The comment you entered is in an invalid format. - - - - Other - - - - - - - 1 - do_not_validate - do_not_validate - Please enter a comment. - The choices need to add up to [enter sum here]. - - The comment you entered is in an invalid format. - - This question requires an answer. - - Rate the Importance - - matrix_of_choices_only_one_ans - The comment you entered is in an invalid format. - - - - Other - - - - - - - 1 - do_not_validate - do_not_validate - Please enter a comment. - The choices need to add up to [enter sum here]. - - The comment you entered is in an invalid format. - - This question requires an answer. - - Education - - comment - The comment you entered is in an invalid format. - - - - Other - - - - - - - 1 - do_not_validate - do_not_validate - Please enter a comment. - The choices need to add up to [enter sum here]. - - The comment you entered is in an invalid format. - - This question requires an answer. - - Knowledge - - comment - The comment you entered is in an invalid format. - - - - Other - - - - - - - 1 - do_not_validate - do_not_validate - Please enter a comment. - The choices need to add up to [enter sum here]. - - The comment you entered is in an invalid format. - - This question requires an answer. - - What is your gender? - - multiple_choice_only_one_ans - The comment you entered is in an invalid format. - - - - Other - - - - - - 1 - Male - - - - - - 1 - Female - - - - - - - - 1 - do_not_validate - do_not_validate - Please enter a comment. - The choices need to add up to [enter sum here]. - - The comment you entered is in an invalid format. - - This question requires an answer. - - What age group do you belong to? - - multiple_choice_only_one_ans - The comment you entered is in an invalid format. - - - - Other - - - - - - 1 - 0 - 15 - - - - - 1 - 16 - 20 - - - - - 1 - 21 - 30 - - - - - 1 - 31 - 40 - - - - - 1 - 41 - 50 - - - - - 1 - 51 - 60 - - - - - 1 - 61 - 70 - - - - - 1 - 71 + - - - - - - - - 1 - do_not_validate - do_not_validate - Please enter a comment. - The choices need to add up to [enter sum here]. - - The comment you entered is in an invalid format. - - This question requires an answer. - - Exprience - - comment - The comment you entered is in an invalid format. - - - - Other - - - - - - - 1 - do_not_validate - do_not_validate - Please enter a comment. - The choices need to add up to [enter sum here]. - - The comment you entered is in an invalid format. - - This question requires an answer. - - Activities - - comment - The comment you entered is in an invalid format. - - - - Other - - - - - - - - Not important - - - - - - - - Somewhat important - - - - - - - - Important - - - - - - - - Very important - - - - - - - - Most important - - - - - - - - 1 - Good pay - - - - - - - 1 - Getting on with colleagues - - - - - - - 1 - Office environment (décor, light, space etc) - - - - - - - 1 - Desk space - - - - - - - 1 - State of the art technology - - - - - - - 1 - Office location (proximity to home) - - - - - - - 1 - Good management/boss - - - - - - - 1 - Freebies such as tea, coffee and stationery - - - - - - - 1 - Perks such as free parking, gym passes etc - - - - - - - 1 - No out of hours working - - - - - - - 1 - Dress code - - - - - - - 1 - Regular meetings - - - - - - - 1 - Good social life (office nights out, good Christmas parties etc) - - - - - diff --git a/addons/survey/survey_data.xml b/addons/survey/survey_data.xml index c057868d6de..7627c5d54b0 100644 --- a/addons/survey/survey_data.xml +++ b/addons/survey/survey_data.xml @@ -1,6 +1,17 @@ - + + Human Resources + Human Resources + + + Customer Feeback + Customer Feeback + + + Supplier Selection + Supplier Selection + - \ No newline at end of file + diff --git a/addons/survey/survey_demo.xml b/addons/survey/survey_demo.xml index c8fa9c269ff..e9e4821e957 100644 --- a/addons/survey/survey_demo.xml +++ b/addons/survey/survey_demo.xml @@ -6,7 +6,7 @@ - + From 5285ccfae52e442157fe277a06ab5222c867abe3 Mon Sep 17 00:00:00 2001 From: "Hardik Ansodariy (OpenERP)" Date: Tue, 24 May 2011 18:40:38 +0530 Subject: [PATCH 036/233] [IMP]:survey, removed commented code bzr revid: han@tinyerp.com-20110524131038-4s4rhg7b72bnage7 --- addons/survey/survey_demo.xml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/addons/survey/survey_demo.xml b/addons/survey/survey_demo.xml index e9e4821e957..97e8daeb5b4 100644 --- a/addons/survey/survey_demo.xml +++ b/addons/survey/survey_demo.xml @@ -6,19 +6,6 @@ - - OpenERP Partner Feedback From d3b701d97cc8dc0f2dcc83f28ad862d8b516df87 Mon Sep 17 00:00:00 2001 From: skh Date: Wed, 25 May 2011 17:21:33 +0530 Subject: [PATCH 037/233] [FIX]: Change in data[] and init_xml[] in the stable 6.0 addons (Ref : Case 5661) bzr revid: skh@tinyerp.com-20110525115133-nif4bdakz2rd222i --- addons/auction/auction_data.xml | 2 +- addons/base_iban/base_iban_data.xml | 2 +- addons/base_report_designer/wizard/base_report_design_view.xml | 2 +- addons/crm/__openerp__.py | 1 - addons/document_ics/document_data.xml | 2 +- addons/hr_timesheet/hr_timesheet_data.xml | 2 +- addons/l10n_ch/dta_data.xml | 2 +- addons/l10n_ch/journal_data.xml | 2 +- addons/l10n_ch/sterchi_chart/fiscal_position.xml | 2 +- addons/l10n_cn/base_data.xml | 2 +- addons/l10n_es/taxes_data.xml | 2 +- addons/project_timesheet/project_timesheet_data.xml | 2 +- addons/survey/survey_data.xml | 2 +- 13 files changed, 12 insertions(+), 13 deletions(-) diff --git a/addons/auction/auction_data.xml b/addons/auction/auction_data.xml index d1f3f94a510..632219b80a5 100644 --- a/addons/auction/auction_data.xml +++ b/addons/auction/auction_data.xml @@ -1,6 +1,6 @@ - + diff --git a/addons/base_iban/base_iban_data.xml b/addons/base_iban/base_iban_data.xml index dae3999505e..e4c03b63996 100644 --- a/addons/base_iban/base_iban_data.xml +++ b/addons/base_iban/base_iban_data.xml @@ -1,6 +1,6 @@ - + diff --git a/addons/l10n_cn/base_data.xml b/addons/l10n_cn/base_data.xml index 252a04feb18..8ef15a80ca8 100644 --- a/addons/l10n_cn/base_data.xml +++ b/addons/l10n_cn/base_data.xml @@ -1,6 +1,6 @@ - + diff --git a/addons/l10n_es/taxes_data.xml b/addons/l10n_es/taxes_data.xml index 1c6e7e00a3a..09759e033e7 100644 --- a/addons/l10n_es/taxes_data.xml +++ b/addons/l10n_es/taxes_data.xml @@ -1,6 +1,6 @@ - + + + + + + + notify.message.search From ba16e35fef39c9aafba708c38e98fac99da85f0e Mon Sep 17 00:00:00 2001 From: rch-openerp Date: Mon, 13 Jun 2011 16:47:47 +0530 Subject: [PATCH 090/233] [FIX] webkit: User friendly popup error message displayed when webkit report's path does not exist. lp bug: https://launchpad.net/bugs/747284 fixed bzr revid: rch@tinyerp.com-20110613111747-nh9j1t8kfss2o8vu --- addons/report_webkit/webkit_report.py | 44 +++++++++++++-------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/addons/report_webkit/webkit_report.py b/addons/report_webkit/webkit_report.py index 406013cef12..226c27f59bf 100644 --- a/addons/report_webkit/webkit_report.py +++ b/addons/report_webkit/webkit_report.py @@ -1,7 +1,7 @@ # -*- coding: utf-8 -*- ############################################################################## # -# Copyright (c) 2010 Camptocamp SA (http://www.camptocamp.com) +# Copyright (c) 2010 Camptocamp SA (http://www.camptocamp.com) # All Right Reserved # # Author : Nicolas Bessi (Camptocamp) @@ -60,12 +60,12 @@ class WebKitParser(report_sxw): """Custom class that use webkit to render HTML reports Code partially taken from report openoffice. Thanks guys :) """ - - def __init__(self, name, table, rml=False, parser=False, + + def __init__(self, name, table, rml=False, parser=False, header=True, store=False): self.parser_instance = False self.localcontext={} - report_sxw.__init__(self, name, table, rml, parser, + report_sxw.__init__(self, name, table, rml, parser, header, store) def get_lib(self, cursor, uid, company) : @@ -81,7 +81,7 @@ class WebKitParser(report_sxw): ' http://code.google.com/p/wkhtmltopdf/downloads/list and set the'+ ' path to the executable on the Company form.'+ 'Minimal version is 0.9.9') - ) + ) if os.path.isabs(path) : if (os.path.exists(path) and os.access(path, os.X_OK)\ and os.path.basename(path).startswith('wkhtmltopdf')): @@ -118,7 +118,7 @@ class WebKitParser(report_sxw): head_file = file( os.path.join( tmp_dir, str(time.time()) + '.head.html' - ), + ), 'w' ) head_file.write(header) @@ -129,14 +129,14 @@ class WebKitParser(report_sxw): foot_file = file( os.path.join( tmp_dir, str(time.time()) + '.foot.html' - ), + ), 'w' ) foot_file.write(footer) foot_file.close() file_to_del.append(foot_file.name) command.extend(['--footer-html', foot_file.name]) - + if webkit_header.margin_top : command.extend(['--margin-top', str(webkit_header.margin_top).replace(',', '.')]) if webkit_header.margin_bottom : @@ -163,7 +163,7 @@ class WebKitParser(report_sxw): status = subprocess.call(command, stderr=subprocess.PIPE) # ignore stderr if status : raise except_osv( - _('Webkit raise an error' ), + _('Webkit raise an error' ), status ) except Exception: @@ -176,8 +176,8 @@ class WebKitParser(report_sxw): os.unlink(out) return pdf - - + + def setLang(self, lang): if not lang: lang = 'en_US' @@ -189,8 +189,8 @@ class WebKitParser(report_sxw): res = ir_translation._get_source(self.parser_instance.cr, self.parser_instance.uid, self.name, 'report', self.localcontext.get('lang', 'en_US'), src) if not res : return src - return res - + return res + def formatLang(self, value, digits=None, date=False, date_time=False, grouping=True, monetary=False): """format using the know cursor, language from localcontext""" if digits is None: @@ -199,7 +199,7 @@ class WebKitParser(report_sxw): return '' pool_lang = self.pool.get('res.lang') lang = self.localcontext['lang'] - + lang_ids = pool_lang.search(self.parser_instance.cr, self.parser_instance.uid, [('code','=',lang)])[0] lang_obj = pool_lang.browse(self.parser_instance.cr, self.parser_instance.uid, lang_ids) @@ -225,7 +225,7 @@ class WebKitParser(report_sxw): # override needed to keep the attachments' storing procedure def create_single_pdf(self, cursor, uid, ids, data, report_xml, context=None): """generate the PDF""" - + if context is None: context={} @@ -247,7 +247,7 @@ class WebKitParser(report_sxw): if report_xml.report_file : path = addons.get_module_resource(report_xml.report_file) - if os.path.exists(path) : + if path and os.path.exists(path) : template = file(path).read() if not template and report_xml.report_webkit_data : template = report_xml.report_webkit_data @@ -266,7 +266,7 @@ class WebKitParser(report_sxw): - '%i for i in jslist]) + + # css tags + csslist = ['/base/webclient/css'] + if 1: # debug == 1 + csslist = manifest_glob(['base'], 'css') + css = "\n ".join([''%i for i in csslist]) + r = template % (js, css) + return r + class Database(openerpweb.Controller): _cp_path = "/base/database" @@ -71,37 +164,6 @@ class Database(openerpweb.Controller): class Session(openerpweb.Controller): _cp_path = "/base/session" - def manifest_glob(self, addons, key): - files = [] - for addon in addons: - globlist = openerpweb.addons_manifest.get(addon, {}).get(key, []) - - files.extend([ - resource_path[len(openerpweb.path_addons):] - for pattern in globlist - for resource_path in glob.glob(os.path.join( - openerpweb.path_addons, addon, pattern)) - ]) - return files - - def concat_files(self, file_list): - """ Concatenate file content - return (concat,timestamp) - concat: concatenation of file content - timestamp: max(os.path.getmtime of file_list) - """ - root = openerpweb.path_root - files_content = [] - files_timestamp = 0 - for i in file_list: - fname = os.path.join(root, i) - ftime = os.path.getmtime(fname) - if ftime > files_timestamp: - files_timestamp = ftime - files_content = open(fname).read() - files_concat = "".join(files_content) - return files_concat - @openerpweb.jsonrequest def login(self, req, db, login, password): req.session.login(db, login, password) @@ -122,28 +184,6 @@ class Session(openerpweb.Controller): for name, manifest in openerpweb.addons_manifest.iteritems() if manifest.get('active', True)]} - @openerpweb.jsonrequest - def csslist(self, req, mods='base'): - return {'files': self.manifest_glob(mods.split(','), 'css')} - - @openerpweb.jsonrequest - def jslist(self, req, mods='base'): - return {'files': self.manifest_glob(mods.split(','), 'js')} - - def css(self, req, mods='base'): - files = self.manifest_glob(mods.split(','), 'css') - concat = self.concat_files(files)[0] - # TODO request set the Date of last modif and Etag - return concat - css.exposed = True - - def js(self, req, mods='base'): - files = self.manifest_glob(mods.split(','), 'js') - concat = self.concat_files(files)[0] - # TODO request set the Date of last modif and Etag - return concat - js.exposed = True - @openerpweb.jsonrequest def eval_domain_and_context(self, req, contexts, domains, group_by_seq=None): diff --git a/addons/base/static/src/base.html b/addons/base/static/src/base.html deleted file mode 100644 index 0c615ed8903..00000000000 --- a/addons/base/static/src/base.html +++ /dev/null @@ -1,56 +0,0 @@ - - - - - OpenERP - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/addons/base/static/src/js/chrome.js b/addons/base/static/src/js/chrome.js index 72782625d67..590955fffab 100644 --- a/addons/base/static/src/js/chrome.js +++ b/addons/base/static/src/js/chrome.js @@ -453,13 +453,13 @@ openerp.base.Session = openerp.base.Controller.extend( /** @lends openerp.base.S this.rpc('/base/session/modules', {}, function(result) { self.module_list = result['modules']; var modules = self.module_list.join(','); - self.rpc('/base/session/csslist', {mods: modules}, self.do_load_css); - self.rpc('/base/session/jslist', {"mods": modules}, self.debug ? self.do_load_modules_debug : self.do_load_modules_prod); + self.rpc('/base/webclient/csslist', {mods: modules}, self.do_load_css); + self.rpc('/base/webclient/jslist', {"mods": modules}, self.debug ? self.do_load_modules_debug : self.do_load_modules_prod); openerp._modules_loaded = true; }); }, do_load_css: function (result) { - _.each(result.files, function (file) { + _.each(result, function (file) { $('head').append($('', { 'href': file, 'rel': 'stylesheet', @@ -469,7 +469,7 @@ openerp.base.Session = openerp.base.Controller.extend( /** @lends openerp.base.S }, do_load_modules_debug: function(result) { $LAB.setOptions({AlwaysPreserveOrder: true}) - .script(result.files) + .script(result) .wait(this.on_modules_loaded); }, do_load_modules_prod: function() { @@ -845,7 +845,7 @@ openerp.base.WebClient = openerp.base.Controller.extend({ init: function(element_id) { this._super(null, element_id); - QWeb.add_template("xml/base.xml"); + QWeb.add_template("/base/static/src/xml/base.xml"); var params = {}; if(jQuery.param != undefined && jQuery.deparam(jQuery.param.querystring()).kitten != undefined) { this.$element.addClass("kitten-mode-activated"); diff --git a/openerpweb/openerpweb.py b/openerpweb/openerpweb.py index eee0a4eec20..1e5c3cf8b92 100644 --- a/openerpweb/openerpweb.py +++ b/openerpweb/openerpweb.py @@ -407,7 +407,7 @@ class Root(object): if path_addons not in sys.path: sys.path.insert(0, path_addons) for i in os.listdir(path_addons): - if i not in sys.modules: + if i not in addons_module: manifest_path = os.path.join(path_addons, i, '__openerp__.py') if os.path.isfile(manifest_path): manifest = eval(open(manifest_path).read()) @@ -445,7 +445,7 @@ class Root(object): #for the mobile web client we are supposed to use a different url to just add '/mobile' raise cherrypy.HTTPRedirect('/web_mobile/static/src/web_mobile.html', 301) else: - raise cherrypy.HTTPRedirect('/base/static/src/base.html', 301) + raise cherrypy.HTTPRedirect('/base/webclient/home', 301) default.exposed = True def main(argv): From e92ea8a7accf6632f30ba03004b4bd6b239ff700 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Fri, 22 Jul 2011 17:01:14 +0200 Subject: [PATCH 201/233] [ADD] resequencing of list rows bzr revid: xmo@openerp.com-20110722150114-paufrw3vjt9n3uec --- addons/base/static/src/js/list.js | 40 +++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/addons/base/static/src/js/list.js b/addons/base/static/src/js/list.js index 6bed26ce692..1c3b1cfdc4c 100644 --- a/addons/base/static/src/js/list.js +++ b/addons/base/static/src/js/list.js @@ -1086,6 +1086,45 @@ openerp.base.ListView.Groups = openerp.base.Class.extend( /** @lends openerp.bas }); return d.promise(); }, + setup_resequence_rows: function (list, dataset) { + // drag and drop enabled if list is not sorted and there is a + // "sequence" column in the view. + if ((dataset.sort && dataset.sort()) + || !_(this.columns).any(function (column) { + return column.name === 'sequence'; })) { + return; + } + // ondrop, move relevant record & fix sequences + list.$current.sortable({ + stop: function (event, ui) { + var from = ui.item.data('index'), + to = ui.item.prev().data('index') || 0; + if (from === to) { return; } + list.rows.splice(to, 0, list.rows.splice(from, 1)[0]); + + ui.item.parent().children().each(function (i, e) { + // reset record-index accelerators on rows and even/odd + var even = i%2 === 0; + $(e).data('index', i) + .toggleClass('even', even) + .toggleClass('odd', !even); + }); + + // resequencing time! + var data, index = to, + // if drag to 1st row (to = 0), start sequencing from 0 + // (exclusive lower bound) + seq = to ? list.rows[to - 1].data.sequence.value : 0; + while (++seq, data = list.rows[index++].data) { + data.sequence.value = seq; + // write are independent from one another, so we can just + // launch them all at the same time and we don't really + // give a fig about when they're done + dataset.write(data.id.value, {sequence: seq}); + } + } + }); + }, render: function (post_render) { var self = this; var $element = $(''); @@ -1104,6 +1143,7 @@ openerp.base.ListView.Groups = openerp.base.Class.extend( /** @lends openerp.bas self.children[null] = list; self.elements = [list.$current.replaceAll($element)[0]]; + self.setup_resequence_rows(list, dataset); if (post_render) { post_render(); } }); }); From b15b501b8a8fd199d63a2cf2715944d2cca55c1a Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Fri, 22 Jul 2011 17:05:37 +0200 Subject: [PATCH 202/233] [imp] managed filters startup bzr revid: nicolas.vanhoren@openerp.com-20110722150537-i01yezky8fcar90h --- addons/base/static/src/js/search.js | 8 +++++++- addons/base/static/src/xml/base.xml | 16 +++++++++++----- 2 files changed, 18 insertions(+), 6 deletions(-) diff --git a/addons/base/static/src/js/search.js b/addons/base/static/src/js/search.js index e6df3767f4a..444a3a8d545 100644 --- a/addons/base/static/src/js/search.js +++ b/addons/base/static/src/js/search.js @@ -141,7 +141,13 @@ openerp.base.SearchView = openerp.base.Controller.extend({ }).value(); // filters management - this.$element.find(".oe_search-view-filters-management").change(this.on_filters_management); + var self = this; + var filters_set = new openerp.base.DataSetStatic(this, "ir.filters"); + filters_set.call("get_filters", [this.dataset.model]).then(function(result) { + var filters = self.$element.find(".oe_search-view-filters-management"); + filters.html(QWeb.render("SearchView.managed-filters", {filters: result})); + filters.change(self.on_filters_management); + }); var self = this; $.when.apply(null, widget_starts).then(function () { diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml index 04841a2e297..b95d9da5aea 100644 --- a/addons/base/static/src/xml/base.xml +++ b/addons/base/static/src/xml/base.xml @@ -62,7 +62,7 @@ - + + + + + + + + + + From 30fcc6872fc2545b0843113a3ae396bf2b501ae2 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Fri, 22 Jul 2011 17:17:52 +0200 Subject: [PATCH 203/233] [fix] problem with attachments loading in o2m bzr revid: nicolas.vanhoren@openerp.com-20110722151752-l89h16x7j9loh2qi --- addons/base/static/src/js/form.js | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index e28e42385ec..790a442f810 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -407,20 +407,19 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV this.notification.notify("Cancelling form"); }, do_update_sidebar: function() { - if (this.flags.sidebar === false) { + if (this.flags.sidebar === false || this.view_manager.sidebar === undefined) { return; } if (!this.datarecord.id) { this.on_attachments_loaded([]); } else { - // TODO fme: modify this so it doesn't try to load attachments when there is not sidebar - /*(new openerp.base.DataSetSearch( + (new openerp.base.DataSetSearch( this, 'ir.attachment', this.dataset.get_context(), [['res_model', '=', this.dataset.model], ['res_id', '=', this.datarecord.id], ['type', 'in', ['binary', 'url']]])).read_slice( ['name', 'url', 'type'], false, false, - this.on_attachments_loaded);*/ + this.on_attachments_loaded); } }, on_attachments_loaded: function(attachments) { From 95ccd74114399b6a668e66f8d1fb81cb484051d5 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Fri, 22 Jul 2011 17:35:05 +0200 Subject: [PATCH 204/233] [imp] made usage of a managed filter possible bzr revid: nicolas.vanhoren@openerp.com-20110722153505-g5mukqwfmd6eup2t --- addons/base/controllers/main.py | 9 +++++++++ addons/base/static/src/js/search.js | 10 +++++++--- addons/base/static/src/xml/base.xml | 5 +++-- 3 files changed, 19 insertions(+), 5 deletions(-) diff --git a/addons/base/controllers/main.py b/addons/base/controllers/main.py index da471499087..6bc323901e0 100644 --- a/addons/base/controllers/main.py +++ b/addons/base/controllers/main.py @@ -721,6 +721,15 @@ class SearchView(View): if field.get('context'): field["context"] = self.parse_domain(field["context"], req.session) return {'fields': fields} + + @openerpweb.jsonrequest + def get_filters(self, req, model): + Model = req.session.model("ir.filters") + filters = Model.get_filters(model) + for filter in filters: + filter["context"] = req.session.eval_context(self.parse_context(filter["context"], req.session)) + filter["domain"] = req.session.eval_domain(self.parse_domain(filter["domain"], req.session)) + return filters class Binary(openerpweb.Controller): _cp_path = "/base/binary" diff --git a/addons/base/static/src/js/search.js b/addons/base/static/src/js/search.js index 444a3a8d545..f226b537cdc 100644 --- a/addons/base/static/src/js/search.js +++ b/addons/base/static/src/js/search.js @@ -142,8 +142,10 @@ openerp.base.SearchView = openerp.base.Controller.extend({ // filters management var self = this; - var filters_set = new openerp.base.DataSetStatic(this, "ir.filters"); - filters_set.call("get_filters", [this.dataset.model]).then(function(result) { + return this.rpc('/base/searchview/get_filters', { + model: this.dataset.model + }).then(function(result) { + self.managed_filters = result; var filters = self.$element.find(".oe_search-view-filters-management"); filters.html(QWeb.render("SearchView.managed-filters", {filters: result})); filters.change(self.on_filters_management); @@ -166,7 +168,9 @@ openerp.base.SearchView = openerp.base.Controller.extend({ return; if (val.slice(0, "get:".length) == "get:") { val = val.slice("get:".length); - //TODO niv + val = parseInt(val); + var filter = this.managed_filters[val]; + this.on_search([filter.domain], [filter.context], []); } else if (val == "save_filter") { //TODO niv } else { // manage_filters diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml index b95d9da5aea..414dd0ed183 100644 --- a/addons/base/static/src/xml/base.xml +++ b/addons/base/static/src/xml/base.xml @@ -664,15 +664,16 @@ + - + + From 70ae6c03261e5df42ea766faae66d61e9bb4a666 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Fri, 22 Jul 2011 17:44:19 +0200 Subject: [PATCH 205/233] [fix] some bugs related to combo box for filters management bzr revid: nicolas.vanhoren@openerp.com-20110722154419-9g31mwfsuv67rjz3 --- addons/base/static/src/js/search.js | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/addons/base/static/src/js/search.js b/addons/base/static/src/js/search.js index f226b537cdc..6607faa6a79 100644 --- a/addons/base/static/src/js/search.js +++ b/addons/base/static/src/js/search.js @@ -140,6 +140,10 @@ openerp.base.SearchView = openerp.base.Controller.extend({ return widget.start(); }).value(); + $.when.apply(null, widget_starts).then(function () { + self.ready.resolve(); + }); + // filters management var self = this; return this.rpc('/base/searchview/get_filters', { @@ -150,30 +154,28 @@ openerp.base.SearchView = openerp.base.Controller.extend({ filters.html(QWeb.render("SearchView.managed-filters", {filters: result})); filters.change(self.on_filters_management); }); - - var self = this; - $.when.apply(null, widget_starts).then(function () { - self.ready.resolve(); - }); }, /** * Handle event when the user make a selection in the filters management select box. */ on_filters_management: function(e) { - var select = this.$element.find(".oe_search-view-filters-management"), - val = select.val(); - select.val("_filters"); + var select = this.$element.find(".oe_search-view-filters-management"); + var val = select.val(); - if (val.slice(0,1) == "_") // useless action + if (val.slice(0,1) == "_") { // useless action + select.val("_filters"); return; + } if (val.slice(0, "get:".length) == "get:") { val = val.slice("get:".length); val = parseInt(val); var filter = this.managed_filters[val]; this.on_search([filter.domain], [filter.context], []); } else if (val == "save_filter") { + select.val("_filters"); //TODO niv } else { // manage_filters + select.val("_filters"); //TODO niv } }, @@ -189,6 +191,10 @@ openerp.base.SearchView = openerp.base.Controller.extend({ * @param e jQuery event object coming from the "Search" button */ do_search: function (e) { + // reset filters management + var select = this.$element.find(".oe_search-view-filters-management"); + select.val("_filters"); + if (e && e.preventDefault) { e.preventDefault(); } var domains = [], From 6f1fd6c29a7c4b33d04cbea272ddedd846ae0435 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Fri, 22 Jul 2011 17:51:10 +0200 Subject: [PATCH 206/233] [FIX] hr_evaluation: include missing file in descriptor - quickfix for previous commit breaking the tests bzr revid: odo@openerp.com-20110722155110-vw2zsqxtw2a11wmb --- addons/hr_evaluation/__openerp__.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/addons/hr_evaluation/__openerp__.py b/addons/hr_evaluation/__openerp__.py index 67c75854a25..d2e0702f067 100644 --- a/addons/hr_evaluation/__openerp__.py +++ b/addons/hr_evaluation/__openerp__.py @@ -39,18 +39,17 @@ level of employee hierarchy fills what and final review and evaluation is done by the manager.Every evaluation filled by the employees can be viewed in the form of pdf file. Implements a dashboard for My Current Evaluations """, - "init_xml": [], - "demo_xml": ["hr_evaluation_demo.xml", - ], - "update_xml": [ + "demo": ["hr_evaluation_demo.xml", ], + "data": [ "security/ir.model.access.csv", "security/hr_evaluation_security.xml", "wizard/hr_evaluation_mail_view.xml", "hr_evaluation_view.xml", "report/hr_evaluation_report_view.xml", "board_hr_evaluation_view.xml", - 'hr_evaluation_installer_view.xml' - ], + 'hr_evaluation_installer_view.xml', + 'hr_evaluation_data.xml', + ], "test": ["test/test_hr_evaluation.yml"], "active": False, "installable": True, From 899f79d9441d284136cae579498b7abaaad4136e Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Fri, 22 Jul 2011 17:57:07 +0200 Subject: [PATCH 207/233] [FIX] hr_evaluation: isample data must be noupdate=True bzr revid: odo@openerp.com-20110722155707-wlyeg9ywc5prj4mx --- addons/hr_evaluation/hr_evaluation_data.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/hr_evaluation/hr_evaluation_data.xml b/addons/hr_evaluation/hr_evaluation_data.xml index 769522e876b..a83caa71173 100644 --- a/addons/hr_evaluation/hr_evaluation_data.xml +++ b/addons/hr_evaluation/hr_evaluation_data.xml @@ -1,6 +1,6 @@ - + Employee Evaluation 20 From 09a3f7b86cd66704ca9afccf737459b92a6685bd Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Fri, 22 Jul 2011 17:59:48 +0200 Subject: [PATCH 208/233] [fix] corrected al's apparent inability to copy paste without adding bugs bzr revid: nicolas.vanhoren@openerp.com-20110722155948-1vgw3g03jqr0ni6b --- addons/base/static/src/js/chrome.js | 1 + addons/base/static/src/js/controller.js | 7 +++++-- addons/base/static/src/js/views.js | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/addons/base/static/src/js/chrome.js b/addons/base/static/src/js/chrome.js index 33aa311e9a2..75f8a015fa8 100644 --- a/addons/base/static/src/js/chrome.js +++ b/addons/base/static/src/js/chrome.js @@ -534,6 +534,7 @@ openerp.base.BaseWidget = openerp.base.Controller.extend({ if(this.$element != null) { this.$element.remove(); } + this._super(); }, /** * Render the widget. This.template must be defined. diff --git a/addons/base/static/src/js/controller.js b/addons/base/static/src/js/controller.js index a5c7bca4b53..10355a267a3 100644 --- a/addons/base/static/src/js/controller.js +++ b/addons/base/static/src/js/controller.js @@ -137,8 +137,7 @@ instance.base.BasicController = instance.base.Class.extend( /** @lends instance. instance.screen[element_id] = this; } // save the parent children relationship - this.controller_parent = null; - this.controller_children = []; + this.children = []; this.parent = parent; if(this.parent && this.parent.children) { this.parent.children.push(this); @@ -174,6 +173,10 @@ instance.base.BasicController = instance.base.Class.extend( /** @lends instance. return $.Deferred().done().promise(); }, stop: function() { + if (this.parent && this.parent.children) { + this.parent.children = _.without(this.parent.children, this); + } + this.parent = null; }, log: function() { var args = Array.prototype.slice.call(arguments); diff --git a/addons/base/static/src/js/views.js b/addons/base/static/src/js/views.js index d14fdcbc12f..1ee17bdab4b 100644 --- a/addons/base/static/src/js/views.js +++ b/addons/base/static/src/js/views.js @@ -11,7 +11,7 @@ openerp.base.ActionManager = openerp.base.Controller.extend({ this.viewmanager = null; this.current_dialog = null; // Temporary linking view_manager to session. - // Will use controller_parent to find it when implementation will be done. + // Will use parent to find it when implementation will be done. this.session.action_manager = this; }, /** From a6d404cc47519ec424e8532bfd687de66cce112b Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Fri, 22 Jul 2011 18:03:34 +0200 Subject: [PATCH 209/233] [imp] changed DataSet behavior to be more logical bzr revid: nicolas.vanhoren@openerp.com-20110722160334-03ok2myefe804wn1 --- addons/base/static/src/js/data.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/addons/base/static/src/js/data.js b/addons/base/static/src/js/data.js index c9892ff4706..2e89dacceb8 100644 --- a/addons/base/static/src/js/data.js +++ b/addons/base/static/src/js/data.js @@ -240,11 +240,12 @@ openerp.base.DataSet = openerp.base.Controller.extend( /** @lends openerp.base. * @constructs * @extends openerp.base.Controller * - * @param {openerp.base.Session} session current OpenERP session * @param {String} model the OpenERP model this dataset will manage */ - init: function(parent, model, context) { - this._super(parent); + init: function(source_controller, model, context) { + // we don't want the dataset to be a child of anything! + this._super(null); + this.session = source_controller ? source_controller.session : undefined; this.model = model; this.context = context || {}; this.index = null; From 7d0a18e84c933ba7febe1b51f92b62f8dbc22c08 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Fri, 22 Jul 2011 18:27:01 +0200 Subject: [PATCH 210/233] [fix] lot of bugs with contollers due to merge bzr revid: nicolas.vanhoren@openerp.com-20110722162701-me9jag18dp5m05wz --- addons/base/static/src/js/chrome.js | 1 + addons/base/static/src/js/controller.js | 2 ++ addons/base/static/src/js/search.js | 4 +++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/addons/base/static/src/js/chrome.js b/addons/base/static/src/js/chrome.js index 590955fffab..85f92c7b572 100644 --- a/addons/base/static/src/js/chrome.js +++ b/addons/base/static/src/js/chrome.js @@ -234,6 +234,7 @@ openerp.base.BaseWidget = openerp.base.Controller.extend({ if(this.$element != null) { this.$element.remove(); } + this._super(); } }); diff --git a/addons/base/static/src/js/controller.js b/addons/base/static/src/js/controller.js index 54e876295f7..c9ca3193e70 100644 --- a/addons/base/static/src/js/controller.js +++ b/addons/base/static/src/js/controller.js @@ -202,8 +202,10 @@ instance.base.Controller = instance.base.Class.extend( /** @lends instance.base. stop: function() { if (this.parent && this.parent.children) { this.parent.children = _.without(this.parent.children, this); + this.parent.controller_children = this.parent.children; } this.parent = null; + this.controller_parent = null; }, log: function() { var args = Array.prototype.slice.call(arguments); diff --git a/addons/base/static/src/js/search.js b/addons/base/static/src/js/search.js index 6607faa6a79..026f19db5b1 100644 --- a/addons/base/static/src/js/search.js +++ b/addons/base/static/src/js/search.js @@ -863,7 +863,9 @@ openerp.base.search.ExtendedSearch = openerp.base.BaseWidget.extend({ }, check_last_element: function() { _.each(this.children, function(x) {x.set_last_group(false);}); - this.children[this.children.length - 1].set_last_group(true); + if (this.children.length >= 1) { + this.children[this.children.length - 1].set_last_group(true); + } } }); From 1866e1c953430231be5bbdcb413da714e1ee1cff Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Fri, 22 Jul 2011 18:50:56 +0200 Subject: [PATCH 211/233] [FIX] temporarly disable date, datetime bzr revid: al@openerp.com-20110722165056-1u6d2zqfuqmhq042 --- addons/base/static/src/js/chrome.js | 19 +++++++++++++++++++ addons/base/static/src/js/form.js | 6 ++++-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/addons/base/static/src/js/chrome.js b/addons/base/static/src/js/chrome.js index 85f92c7b572..8305552e640 100644 --- a/addons/base/static/src/js/chrome.js +++ b/addons/base/static/src/js/chrome.js @@ -469,6 +469,25 @@ openerp.base.Session = openerp.base.Controller.extend( /** @lends openerp.base.S }); }, do_load_modules_debug: function(result) { +// function create_script_load_listener(elem,registry_item,flag,onload) { +// elem.onload = elem.onreadystatechange = function() { +// if ((elem.readyState && elem.readyState != "complete" && elem.readyState != "loaded") || registry_item[flag]) return; +// elem.onload = elem.onreadystatechange = null; +// onload(); +// }; + +// domscript.onload = function() { +// if ( ! domscript.onloadDone ) { +// domscript.onloadDone = true; +// init(); +// } +// }; +// domscript.onreadystatechange = function() { +// if ( ( "loaded" === domscript.readyState || "complete" === domscript.readyState ) && ! domscript.onloadDone ) { +// domscript.onloadDone = true; +// init(); +// } +// } $LAB.setOptions({AlwaysPreserveOrder: true}) .script(result) .wait(this.on_modules_loaded); diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index 790a442f810..25dcca611bd 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -2218,8 +2218,10 @@ openerp.base.form.widgets = new openerp.base.Registry({ 'url' : 'openerp.base.form.FieldUrl', 'text' : 'openerp.base.form.FieldText', 'text_wiki' : 'openerp.base.form.FieldText', - 'date' : 'openerp.base.form.FieldDate', - 'datetime' : 'openerp.base.form.FieldDatetime', +// 'date' : 'openerp.base.form.FieldDate', +// 'datetime' : 'openerp.base.form.FieldDatetime', + 'date' : 'openerp.base.form.FieldChar', + 'datetime' : 'openerp.base.form.FieldChar', 'selection' : 'openerp.base.form.FieldSelection', 'many2one' : 'openerp.base.form.FieldMany2One', 'many2many' : 'openerp.base.form.FieldMany2Many', From 64fb0b4b99d0015ecd75313b21ffb5408f859e31 Mon Sep 17 00:00:00 2001 From: Olivier Dony Date: Fri, 22 Jul 2011 20:02:12 +0200 Subject: [PATCH 212/233] [FIX] stock: buttons are not supported in hierarchical tree views - removed bzr revid: odo@openerp.com-20110722180212-yq5exmi5gl237akd --- addons/stock/stock_view.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml index 3957494955c..1a212582368 100644 --- a/addons/stock/stock_view.xml +++ b/addons/stock/stock_view.xml @@ -437,7 +437,6 @@ - From 4110cb0828ff29337cfb568ebc17b06305594f7e Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 25 Jul 2011 12:46:30 +0200 Subject: [PATCH 222/233] [IMP] re-enable min and max aggregation functions because why not bzr revid: xmo@openerp.com-20110725104630-vs4wi5740340dtyj --- addons/base/static/src/js/list.js | 47 ++++++++++++++++++++++--------- 1 file changed, 33 insertions(+), 14 deletions(-) diff --git a/addons/base/static/src/js/list.js b/addons/base/static/src/js/list.js index 8c017596a57..4b0142ab365 100644 --- a/addons/base/static/src/js/list.js +++ b/addons/base/static/src/js/list.js @@ -25,8 +25,11 @@ openerp.base.list = { } var record = row_data[column.id]; - if (record.value === false) { - return value_if_empty === undefined ? '' : value_if_empty; + switch (record.value) { + case false: + case Infinity: + case -Infinity: + return value_if_empty === undefined ? '' : value_if_empty; } switch (column.widget || column.type) { case 'integer': @@ -353,10 +356,6 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi } var aggregation_func = column['group_operator'] || 'sum'; - if (!column[aggregation_func]) { - return {}; - } - return _.extend({}, column, { 'function': aggregation_func, label: column[aggregation_func] @@ -566,7 +565,6 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi compute_aggregates: function (records) { var columns = _(this.aggregate_columns).filter(function (column) { return column['function']; }); - if (_.isEmpty(columns)) { return; } if (_.isEmpty(records)) { @@ -574,17 +572,39 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi } var count = 0, sums = {}; - _(columns).each(function (column) { sums[column.id] = 0; }); + _(columns).each(function (column) { + switch (column['function']) { + case 'max': + sums[column.id] = -Infinity; + break; + case 'min': + sums[column.id] = Infinity; + break; + default: + sums[column.id] = 0; + } + }); _(records).each(function (record) { count += record.count || 1; _(columns).each(function (column) { - var field = column.id; + var field = column.id, + value = record.values[field]; switch (column['function']) { case 'sum': - sums[field] += record.values[field]; + sums[field] += value; break; case 'avg': - sums[field] += record.count * record.values[field]; + sums[field] += record.count * value; + break; + case 'min': + if (sums[field] > value) { + sums[field] = value; + } + break; + case 'max': + if (sums[field] < value) { + sums[field] = value; + } break; } }); @@ -594,12 +614,11 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi _(columns).each(function (column) { var field = column.id; switch (column['function']) { - case 'sum': - aggregates[field] = {value: sums[field]}; - break; case 'avg': aggregates[field] = {value: sums[field] / count}; break; + default: + aggregates[field] = {value: sums[field]}; } }); From fb0c16e24e502e168ea7ee9373fc0f1933ac4bc9 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 25 Jul 2011 13:37:40 +0200 Subject: [PATCH 223/233] [imp] added possibility to save filters bzr revid: nicolas.vanhoren@openerp.com-20110725113740-8q9vo1rlvexertc1 --- addons/base/controllers/main.py | 19 ++++++++++ addons/base/static/src/js/search.js | 57 ++++++++++++++++++++++++----- addons/base/static/src/xml/base.xml | 7 ++++ 3 files changed, 74 insertions(+), 9 deletions(-) diff --git a/addons/base/controllers/main.py b/addons/base/controllers/main.py index 79de302f069..628a086e3d6 100644 --- a/addons/base/controllers/main.py +++ b/addons/base/controllers/main.py @@ -773,6 +773,25 @@ class SearchView(View): filter["context"] = req.session.eval_context(self.parse_context(filter["context"], req.session)) filter["domain"] = req.session.eval_domain(self.parse_domain(filter["domain"], req.session)) return filters + + @openerpweb.jsonrequest + def save_filter(self, req, model, name, context_to_save, domain): + Model = req.session.model("ir.filters") + ctx = openerpweb.nonliterals.CompoundContext(context_to_save) + ctx.session = req.session + ctx = ctx.evaluate() + domain = openerpweb.nonliterals.CompoundDomain(domain) + domain.session = req.session + domain = domain.evaluate() + uid = req.session._uid + context = req.session.eval_context(req.context) + to_return = Model.create_or_replace({"context": ctx, + "domain": domain, + "model_id": model, + "name": name, + "user_id": uid + }, context) + return to_return class Binary(openerpweb.Controller): _cp_path = "/base/binary" diff --git a/addons/base/static/src/js/search.js b/addons/base/static/src/js/search.js index 779cd74c999..36f0aef1b90 100644 --- a/addons/base/static/src/js/search.js +++ b/addons/base/static/src/js/search.js @@ -145,7 +145,10 @@ openerp.base.SearchView = openerp.base.Controller.extend({ self.ready.resolve(); }); - // filters management + this.reload_managed_filters(); + }, + reload_managed_filters: function() { + var self = this; return this.rpc('/base/searchview/get_filters', { model: this.dataset.model }).then(function(result) { @@ -159,6 +162,7 @@ openerp.base.SearchView = openerp.base.Controller.extend({ * Handle event when the user make a selection in the filters management select box. */ on_filters_management: function(e) { + var self = this; var select = this.$element.find(".oe_search-view-filters-management"); var val = select.val(); @@ -173,7 +177,38 @@ openerp.base.SearchView = openerp.base.Controller.extend({ this.on_search([filter.domain], [filter.context], []); } else if (val == "save_filter") { select.val("_filters"); - //TODO niv + var data = this.build_search_data(); + var context = new openerp.base.CompoundContext(); + _.each(data.contexts, function(x) { + context.add(x); + }); + var domain = new openerp.base.CompoundDomain(); + _.each(data.domains, function(x) { + domain.add(x); + }); + var dial_html = QWeb.render("SearchView.managed-filters.add"); + var $dial = $(dial_html); + $dial.dialog({ + modal: true, + title: "Filter Entry", + buttons: { + Cancel: function() { + $(this).dialog("close"); + }, + OK: function() { + $(this).dialog("close"); + var name = $(this).find("input").val(); + self.rpc('/base/searchview/save_filter', { + model: self.dataset.model, + context_to_save: context, + domain: domain, + name: name + }).then(function(result) { + self.reload_managed_filters(); + }); + }, + } + }); } else { // manage_filters select.val("_filters"); //TODO niv @@ -197,6 +232,16 @@ openerp.base.SearchView = openerp.base.Controller.extend({ if (e && e.preventDefault) { e.preventDefault(); } + var data = this.build_search_data(); + + if (data.errors.length) { + this.on_invalid(data.errors); + return; + } + + this.on_search(data.domains, data.contexts, data.groupbys); + }, + build_search_data: function() { var domains = [], contexts = [], errors = []; @@ -221,19 +266,13 @@ openerp.base.SearchView = openerp.base.Controller.extend({ } }); - if (errors.length) { - this.on_invalid(errors); - return; - } - // TODO: do we need to handle *fields* with group_by in their context? var groupbys = _(this.enabled_filters) .chain() .map(function (filter) { return filter.get_context();}) .compact() .value(); - - this.on_search(domains, contexts, groupbys); + return {domains: domains, contexts: contexts, errors: errors, groupbys: groupbys}; }, /** * Triggered after the SearchView has collected all relevant domains and diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml index faab1eb3d6d..5570415fdde 100644 --- a/addons/base/static/src/xml/base.xml +++ b/addons/base/static/src/xml/base.xml @@ -679,6 +679,13 @@ + +
    +

    Filter Name:

    + +

    (Any existing filter with the same name will be replaced)

    +
    +
    - +
    From 6a22efdef027c4c10937bda52b344efc6aaaca16 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 25 Jul 2011 14:09:40 +0200 Subject: [PATCH 224/233] [fix] wrong storage of session cookie bzr revid: nicolas.vanhoren@openerp.com-20110725120940-f6vfi6wu6xy9js8x --- addons/base/static/src/js/chrome.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/base/static/src/js/chrome.js b/addons/base/static/src/js/chrome.js index 67738d7a348..492e7c62b5d 100644 --- a/addons/base/static/src/js/chrome.js +++ b/addons/base/static/src/js/chrome.js @@ -425,7 +425,7 @@ openerp.base.Session = openerp.base.Controller.extend( /** @lends openerp.base.S for(var i=0; i Date: Mon, 25 Jul 2011 14:10:01 +0200 Subject: [PATCH 225/233] [imp] added manage filters link bzr revid: nicolas.vanhoren@openerp.com-20110725121001-95af30c1incqg4kl --- addons/base/static/src/js/search.js | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/addons/base/static/src/js/search.js b/addons/base/static/src/js/search.js index 36f0aef1b90..b6d9e797ec0 100644 --- a/addons/base/static/src/js/search.js +++ b/addons/base/static/src/js/search.js @@ -211,7 +211,14 @@ openerp.base.SearchView = openerp.base.Controller.extend({ }); } else { // manage_filters select.val("_filters"); - //TODO niv + this.do_action({ + res_model: 'ir.filters', + views: [[false, 'list'], [false, 'form']], + type: 'ir.actions.act_window', + context: {"search_default_user_id": this.session.uid, + "search_default_model_id": this.dataset.model}, + target: "current" + }); } }, /** From a30bef7be660dc2665ae6497c07988252cf9a5d4 Mon Sep 17 00:00:00 2001 From: niv-openerp Date: Mon, 25 Jul 2011 14:18:23 +0200 Subject: [PATCH 226/233] [fix] made the managed filters auto_search bzr revid: nicolas.vanhoren@openerp.com-20110725121823-gekerf0s3pn78kqo --- addons/base/static/src/js/search.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/addons/base/static/src/js/search.js b/addons/base/static/src/js/search.js index b6d9e797ec0..8a51abe1335 100644 --- a/addons/base/static/src/js/search.js +++ b/addons/base/static/src/js/search.js @@ -217,7 +217,9 @@ openerp.base.SearchView = openerp.base.Controller.extend({ type: 'ir.actions.act_window', context: {"search_default_user_id": this.session.uid, "search_default_model_id": this.dataset.model}, - target: "current" + target: "current", + limit : 80, + auto_search : true }); } }, From e29a5204f761a099d6a4929829c01d88177b8994 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 25 Jul 2011 15:35:53 +0200 Subject: [PATCH 227/233] [FIX] NaN values being displayed in list footers (aggregated values) bzr revid: xmo@openerp.com-20110725133553-bs4x2f747vdj1a02 --- addons/base/static/src/js/list.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/base/static/src/js/list.js b/addons/base/static/src/js/list.js index 4b0142ab365..7b12da67697 100644 --- a/addons/base/static/src/js/list.js +++ b/addons/base/static/src/js/list.js @@ -25,6 +25,9 @@ openerp.base.list = { } var record = row_data[column.id]; + + // If NaN value, display as with a `false` (empty cell) + if (isNaN(record.value)) { record.value = false; } switch (record.value) { case false: case Infinity: From f8b552e5b5d3ea96e49e3493479c318c4d715411 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 25 Jul 2011 16:06:56 +0200 Subject: [PATCH 228/233] [FIX] session initialization bzr revid: xmo@openerp.com-20110725140656-ow3mr78psuianqyc --- addons/base/static/src/js/chrome.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/base/static/src/js/chrome.js b/addons/base/static/src/js/chrome.js index 492e7c62b5d..34333abf1be 100644 --- a/addons/base/static/src/js/chrome.js +++ b/addons/base/static/src/js/chrome.js @@ -246,7 +246,7 @@ openerp.base.Session = openerp.base.Controller.extend( /** @lends openerp.base.S * @param port */ init: function(parent, element_id, server, port) { - this._super(element_id); + this._super(parent, element_id); this.server = (server == undefined) ? location.hostname : server; this.port = (port == undefined) ? location.port : port; this.rpc_mode = (server == location.hostname) ? "ajax" : "jsonp"; From 9c8a2c33abd0dcd93eb4fff9c40d5104cf68d351 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Mon, 25 Jul 2011 16:11:03 +0200 Subject: [PATCH 229/233] [FIX] check that a value is a number before checking for isNaN: strings are NaN and so are objects also alias 'record.value', so we don't have to go through the indirection 11 times bzr revid: xmo@openerp.com-20110725141103-2ix5mhec6lk47en6 --- addons/base/static/src/js/list.js | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/addons/base/static/src/js/list.js b/addons/base/static/src/js/list.js index 7b12da67697..a2fca3aa89e 100644 --- a/addons/base/static/src/js/list.js +++ b/addons/base/static/src/js/list.js @@ -24,11 +24,13 @@ openerp.base.list = { ].join('') } - var record = row_data[column.id]; + var value = row_data[column.id].value; // If NaN value, display as with a `false` (empty cell) - if (isNaN(record.value)) { record.value = false; } - switch (record.value) { + if (typeof value === 'number' && isNaN(value)) { + value = false; + } + switch (value) { case false: case Infinity: case -Infinity: @@ -36,23 +38,23 @@ openerp.base.list = { } switch (column.widget || column.type) { case 'integer': - return _.sprintf('%d', record.value); + return _.sprintf('%d', value); case 'float': var precision = column.digits ? column.digits[1] : 2; - return _.sprintf('%.' + precision + 'f', record.value); + return _.sprintf('%.' + precision + 'f', value); case 'float_time': return _.sprintf("%02d:%02d", - Math.floor(record.value), - Math.round((record.value % 1) * 60)); + Math.floor(value), + Math.round((value % 1) * 60)); case 'progressbar': return _.sprintf( '%.2f%%', - record.value, record.value); + value, value); case 'many2one': // name_get value format - return record.value[1]; + return value[1]; default: - return record.value; + return value; } } }; From 8784297248e8f0a7cb0bd048bf1757fdf2613ddd Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Mon, 25 Jul 2011 16:28:05 +0200 Subject: [PATCH 230/233] [FIX] in do_action(), on_closed() callback not honored for new tabs bzr revid: fme@openerp.com-20110725142805-bsvio3q4tsgkc77b --- addons/base/static/src/js/views.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/addons/base/static/src/js/views.js b/addons/base/static/src/js/views.js index d01d847843e..1b5452bb5a3 100644 --- a/addons/base/static/src/js/views.js +++ b/addons/base/static/src/js/views.js @@ -61,6 +61,9 @@ openerp.base.ActionManager = openerp.base.Controller.extend({ var url = window.location.protocol + "//" + window.location.host + window.location.pathname + "?" + jQuery.param({ s_action : "" + key }); window.open(url); + if (on_closed) { + on_closed(); + } }); } else { if (this.viewmanager) { From 3b9b028c1ecf0ec66a4d9f230d0078e3c8e82fd6 Mon Sep 17 00:00:00 2001 From: Antony Lesuisse Date: Mon, 25 Jul 2011 16:28:31 +0200 Subject: [PATCH 231/233] [FIX] remove customer flag from company 1 bzr revid: al@openerp.com-20110725142831-gttjdyeh9trtna0w --- openerp/addons/base/base_data.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/openerp/addons/base/base_data.xml b/openerp/addons/base/base_data.xml index 6c073a769a7..75de4a5fee5 100644 --- a/openerp/addons/base/base_data.xml +++ b/openerp/addons/base/base_data.xml @@ -1006,6 +1006,7 @@ + From 5070784ba2b04d7ffb8935c9cf01dacfd7f03b26 Mon Sep 17 00:00:00 2001 From: Xavier Morel Date: Tue, 26 Jul 2011 12:01:36 +0200 Subject: [PATCH 232/233] [FIX] correctly call on_close callback when clicking on a dialog's close button bzr revid: xmo@openerp.com-20110726100136-1i858bxyipiboz0o --- addons/base/static/src/js/chrome.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/base/static/src/js/chrome.js b/addons/base/static/src/js/chrome.js index 34333abf1be..cc28aea4157 100644 --- a/addons/base/static/src/js/chrome.js +++ b/addons/base/static/src/js/chrome.js @@ -532,6 +532,7 @@ openerp.base.Dialog = openerp.base.BaseWidget.extend({ dialog_title: "", identifier_prefix: 'dialog', init: function (parent, options) { + var self = this; this._super(parent); this.options = { modal: true, @@ -542,7 +543,10 @@ openerp.base.Dialog = openerp.base.BaseWidget.extend({ min_height: 0, max_height: '100%', autoOpen: false, - buttons: {} + buttons: {}, + close: function () { + self.stop(); + } }; for (var f in this) { if (f.substr(0, 10) == 'on_button_') { @@ -605,11 +609,7 @@ openerp.base.Dialog = openerp.base.BaseWidget.extend({ this.set_options(options); this.$dialog.dialog(this.options).dialog('open'); }, - close: function(options) { - this.$dialog.dialog('close'); - }, stop: function () { - this.close(); this.$dialog.dialog('destroy'); } }); From d0234fa5dd424e7722443fda7e41f955d857027a Mon Sep 17 00:00:00 2001 From: Fabien Meghazi Date: Tue, 26 Jul 2011 23:00:05 +0200 Subject: [PATCH 233/233] [IMP] new Sidebar controller Now, the views are responsible of the management of their own sidebar. There is one sidebar per view. The viewmanager creates the divs for each sidebar (as it does for each view). The new Sidebar controller allows custom section with their own controller. bzr revid: fme@openerp.com-20110726210005-xyalvw764y2xhvte --- addons/base/static/src/css/base.css | 4 + addons/base/static/src/js/form.js | 130 +++++++++++++---------- addons/base/static/src/js/list.js | 19 ++-- addons/base/static/src/js/views.js | 157 ++++++++++++++++------------ addons/base/static/src/xml/base.xml | 54 +++++----- 5 files changed, 210 insertions(+), 154 deletions(-) diff --git a/addons/base/static/src/css/base.css b/addons/base/static/src/css/base.css index dbb7d101f96..bbf8cba0fe7 100644 --- a/addons/base/static/src/css/base.css +++ b/addons/base/static/src/css/base.css @@ -1020,6 +1020,10 @@ background: linear-gradient(top, #ffffff 0%,#ebe9e9 100%); /* W3C */ .openerp .closed-sidebar .toggle-sidebar { border-left: none; } +.openerp li.oe_sidebar_print { + padding-left: 20px; + background: 1px 3px url(../img/icons/gtk-print.png) no-repeat; +} .openerp.kitten-mode-activated .main_table { background: url(http://placekitten.com/g/1500/800) repeat; diff --git a/addons/base/static/src/js/form.js b/addons/base/static/src/js/form.js index 25dcca611bd..e66a073643c 100644 --- a/addons/base/static/src/js/form.js +++ b/addons/base/static/src/js/form.js @@ -1,7 +1,7 @@ openerp.base.form = function (openerp) { openerp.base.views.add('form', 'openerp.base.FormView'); -openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormView# */{ +openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormView# */{ /** * Indicates that this view is not searchable, and thus that no search * view should be displayed (if there is one active). @@ -19,6 +19,7 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV */ init: function(parent, element_id, dataset, view_id, options) { this._super(parent, element_id); + this.set_default_options(); this.view_manager = parent || new openerp.base.NullViewManager(); this.dataset = dataset; this.model = dataset.model; @@ -53,10 +54,14 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV context.add(this.view_manager.action.context); } return this.rpc("/base/formview/load", {"model": this.model, "view_id": this.view_id, - toolbar:!!this.flags.sidebar, context: context}, this.on_loaded); + toolbar: this.options.sidebar, context: context}, this.on_loaded); } }, stop: function() { + if (this.sidebar) { + this.sidebar.attachments.stop(); + this.sidebar.stop(); + } _.each(this.widgets, function(w) { w.stop(); }); @@ -85,12 +90,16 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV $('' + openerp.base.json_node_to_xml(self.fields_view.arch, true) + '').dialog({ width: '95%', height: 600}); }); - if(this.view_manager.sidebar) - this.view_manager.sidebar.set_toolbar(data.fields_view.toolbar); + if (this.options.sidebar && this.options.sidebar_id) { + this.sidebar = new openerp.base.Sidebar(this, this.options.sidebar_id); + this.sidebar.start(); + this.sidebar.attachments = new openerp.base.form.SidebarAttachments(this.sidebar, this.sidebar.add_section("Attachments"), this); + this.sidebar.add_toolbar(data.fields_view.toolbar); + this.sidebar.do_unfold(); + } this.has_been_loaded.resolve(); }, do_show: function () { - var self = this; var promise; if (this.dataset.index === null) { // null index means we should start a new record @@ -98,13 +107,17 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV } else { promise = this.dataset.read_index(_.keys(this.fields_view.fields), this.on_record_loaded); } - self.$element.show(); - if(this.view_manager.sidebar) - this.view_manager.sidebar.do_refresh(true); + this.$element.show(); + if (this.sidebar) { + this.sidebar.$element.show(); + } return promise; }, do_hide: function () { this.$element.hide(); + if (this.sidebar) { + this.sidebar.$element.hide(); + } }, on_record_loaded: function(record) { if (!record) { @@ -144,7 +157,9 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV this.on_form_changed(); this.show_invalid = this.ready = true; this.do_update_pager(record.id == null); - this.do_update_sidebar(); + if (this.sidebar) { + this.sidebar.attachments.do_update(); + } if (this.default_focus_field) { this.default_focus_field.focus(); } @@ -389,7 +404,9 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV this.dataset.index = 0; } this.do_update_pager(); - this.do_update_sidebar(); + if (this.sidebar) { + this.sidebar.attachments.do_update(); + } this.notification.notify("Record created", "The record has been created with id #" + this.datarecord.id); if (success) { success(_.extend(r, {created: true})); @@ -406,51 +423,6 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV do_cancel: function () { this.notification.notify("Cancelling form"); }, - do_update_sidebar: function() { - if (this.flags.sidebar === false || this.view_manager.sidebar === undefined) { - return; - } - if (!this.datarecord.id) { - this.on_attachments_loaded([]); - } else { - (new openerp.base.DataSetSearch( - this, 'ir.attachment', this.dataset.get_context(), - [['res_model', '=', this.dataset.model], - ['res_id', '=', this.datarecord.id], - ['type', 'in', ['binary', 'url']]])).read_slice( - ['name', 'url', 'type'], false, false, - this.on_attachments_loaded); - } - }, - on_attachments_loaded: function(attachments) { - this.$sidebar = this.view_manager.sidebar.$element.find('.sidebar-attachments'); - this.attachments = attachments; - this.$sidebar.html(QWeb.render('FormView.sidebar.attachments', this)); - this.$sidebar.find('.oe-sidebar-attachment-delete').click(this.on_attachment_delete); - this.$sidebar.find('.oe-binary-file').change(this.on_attachment_changed); - }, - on_attachment_changed: function(e) { - window[this.element_id + '_iframe'] = this.do_update_sidebar; - var $e = $(e.target); - if ($e.val() != '') { - this.$sidebar.find('form.oe-binary-form').submit(); - $e.parent().find('input[type=file]').attr('disabled', 'true'); - $e.parent().find('button').attr('disabled', 'true').find('img, span').toggle(); - } - }, - on_attachment_delete: function(e) { - var self = this, $e = $(e.currentTarget); - var name = _.trim($e.parent().find('a.oe-sidebar-attachments-link').text()); - if (confirm("Do you really want to delete the attachment " + name + " ?")) { - this.rpc('/base/dataset/unlink', { - model: 'ir.attachment', - ids: [parseInt($e.attr('data-id'))] - }, function(r) { - $e.parent().remove(); - self.notification.notify("Delete an attachment", "The attachment '" + name + "' has been deleted"); - }); - } - }, reload: function() { if (this.datarecord.id) { this.dataset.read_index(_.keys(this.fields_view.fields), this.on_record_loaded); @@ -471,6 +443,54 @@ openerp.base.FormView = openerp.base.View.extend( /** @lends openerp.base.FormV /** @namespace */ openerp.base.form = {}; +openerp.base.form.SidebarAttachments = openerp.base.Controller.extend({ + init: function(parent, element_id, form_view) { + this._super(parent, element_id); + this.view = form_view; + }, + do_update: function() { + if (!this.view.datarecord.id) { + this.on_attachments_loaded([]); + } else { + (new openerp.base.DataSetSearch( + this, 'ir.attachment', this.view.dataset.get_context(), + [['res_model', '=', this.view.dataset.model], + ['res_id', '=', this.view.datarecord.id], + ['type', 'in', ['binary', 'url']]])).read_slice( + ['name', 'url', 'type'], false, false, + this.on_attachments_loaded); + } + }, + on_attachments_loaded: function(attachments) { + this.attachments = attachments; + this.$element.html(QWeb.render('FormView.sidebar.attachments', this)); + this.$element.find('.oe-binary-file').change(this.on_attachment_changed); + this.$element.find('.oe-sidebar-attachment-delete').click(this.on_attachment_delete); + }, + on_attachment_changed: function(e) { + window[this.element_id + '_iframe'] = this.do_update; + var $e = $(e.target); + if ($e.val() != '') { + this.$element.find('form.oe-binary-form').submit(); + $e.parent().find('input[type=file]').attr('disabled', 'true'); + $e.parent().find('button').attr('disabled', 'true').find('img, span').toggle(); + } + }, + on_attachment_delete: function(e) { + var self = this, $e = $(e.currentTarget); + var name = _.trim($e.parent().find('a.oe-sidebar-attachments-link').text()); + if (confirm("Do you really want to delete the attachment " + name + " ?")) { + this.rpc('/base/dataset/unlink', { + model: 'ir.attachment', + ids: [parseInt($e.attr('data-id'))] + }, function(r) { + $e.parent().remove(); + self.notification.notify("Delete an attachment", "The attachment '" + name + "' has been deleted"); + }); + } + } +}); + openerp.base.form.compute_domain = function(expr, fields) { var stack = []; for (var i = expr.length - 1; i >= 0; i--) { diff --git a/addons/base/static/src/js/list.js b/addons/base/static/src/js/list.js index a2fca3aa89e..a4e516721ca 100644 --- a/addons/base/static/src/js/list.js +++ b/addons/base/static/src/js/list.js @@ -102,6 +102,7 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi */ init: function(parent, element_id, dataset, view_id, options) { this._super(parent, element_id); + this.set_default_options(); this.view_manager = parent || new openerp.base.NullViewManager(); this.dataset = dataset; this.model = dataset.model; @@ -267,9 +268,11 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi }) .val(self._limit || 'NaN'); }); - if(this.view_manager.sidebar) - this.view_manager.sidebar.set_toolbar(data.fields_view.toolbar); - + if (this.options.sidebar && this.options.sidebar_id) { + this.sidebar = new openerp.base.Sidebar(this, this.options.sidebar_id); + this.sidebar.start(); + this.sidebar.add_toolbar(data.fields_view.toolbar); + } }, /** * Configures the ListView pager based on the provided dataset's information @@ -393,16 +396,20 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi }, do_show: function () { this.$element.show(); + if (this.sidebar) { + this.sidebar.$element.show(); + } if (this.hidden) { this.$element.find('.oe-listview-content').append( this.groups.apoptosis().render()); this.hidden = false; } - if(this.view_manager.sidebar) - this.view_manager.sidebar.do_refresh(true); }, do_hide: function () { this.$element.hide(); + if (this.sidebar) { + this.sidebar.$element.hide(); + } this.hidden = true; }, /** @@ -422,7 +429,7 @@ openerp.base.ListView = openerp.base.View.extend( /** @lends openerp.base.ListVi model: this.model, view_id: this.view_id, context: this.dataset.get_context(), - toolbar: !!this.flags.sidebar + toolbar: this.options.sidebar }, callback); } }, diff --git a/addons/base/static/src/js/views.js b/addons/base/static/src/js/views.js index 1b5452bb5a3..b98b0bc637f 100644 --- a/addons/base/static/src/js/views.js +++ b/addons/base/static/src/js/views.js @@ -120,7 +120,6 @@ openerp.base.ViewManager = openerp.base.Controller.extend({ {return x instanceof Array? {view_id: x[0], view_type: x[1]} : x;}); this.views = {}; this.flags = this.flags || {}; - this.sidebar = new openerp.base.NullSidebar(); this.registry = openerp.base.views; }, /** @@ -134,7 +133,12 @@ openerp.base.ViewManager = openerp.base.Controller.extend({ self.on_mode_switch($(this).data('view-type')); }); _.each(this.views_src, function(view) { - self.views[view.view_type] = $.extend({}, view, {controller: null}); + self.views[view.view_type] = $.extend({}, view, { + controller : null, + options : _.extend({ + sidebar_id : self.element_id + '_sidebar_' + view.view_type + }, self.flags) + }); }); if (this.flags.views_switcher === false) { this.$element.find('.oe_vm_switch').hide(); @@ -158,7 +162,7 @@ openerp.base.ViewManager = openerp.base.Controller.extend({ if (!view.controller) { // Lazy loading of views var controllerclass = this.registry.get_object(view_type); - var controller = new controllerclass( this, this.element_id + "_view_" + view_type, + var controller = new controllerclass(this, this.element_id + '_view_' + view_type, this.dataset, view.view_id, view.options); if (view.embedded_view) { controller.set_embedded_view(view.embedded_view); @@ -275,7 +279,6 @@ openerp.base.NullViewManager = openerp.base.generate_null_object_class(openerp.b if(parent) this.session = parent.session; this.action = {flags: {}}; - this.sidebar = new openerp.base.NullSidebar(); } }); @@ -300,19 +303,10 @@ openerp.base.ViewManagerAction = openerp.base.ViewManager.extend({ // Not elegant but allows to avoid flickering of SearchView#do_hide this.flags.search_view = this.flags.pager = this.flags.sidebar = this.flags.action_buttons = false; } - if (this.flags.sidebar) { - this.sidebar = new openerp.base.Sidebar(null, this); - } }, start: function() { var inital_view_loaded = this._super(); - // init sidebar - if (this.flags.sidebar) { - this.$element.find('.view-manager-main-sidebar').html(this.sidebar.render()); - this.sidebar.start(); - } - var search_defaults = {}; _.each(this.action.context, function (value, key) { var match = /^search_default_(.*)$/.exec(key); @@ -337,7 +331,6 @@ openerp.base.ViewManagerAction = openerp.base.ViewManager.extend({ }, stop: function() { // should be replaced by automatic destruction implemented in BaseWidget - this.sidebar.stop(); this._super(); }, /** @@ -364,62 +357,88 @@ openerp.base.ViewManagerAction = openerp.base.ViewManager.extend({ } }); -openerp.base.Sidebar = openerp.base.BaseWidget.extend({ - template: "ViewManager.sidebar", - init: function(parent, view_manager) { - this._super(parent, view_manager.session); - this.view_manager = view_manager; - this.sections = []; - }, - set_toolbar: function(toolbar) { - this.sections = []; - var self = this; - _.each([["print", "Reports"], ["action", "Actions"], ["relate", "Links"]], function(type) { - if (toolbar[type[0]].length == 0) - return; - var section = {elements:toolbar[type[0]], label:type[1]}; - self.sections.push(section); - }); - this.do_refresh(true); - }, - do_refresh: function(new_view) { - var view = this.view_manager.active_view; - var the_condition = this.sections.length > 0 && _.detect(this.sections, - function(x) {return x.elements.length > 0;}) != undefined - && (!new_view || view != 'list'); - - this.$element.toggleClass('open-sidebar', the_condition) - .toggleClass('closed-sidebar', !the_condition); - - this.$element.html(QWeb.render("ViewManager.sidebar.internal", { sidebar: this, view: view })); - - var self = this; - this.$element.find(".toggle-sidebar").click(function(e) { - self.$element.toggleClass('open-sidebar closed-sidebar'); - e.stopPropagation(); - e.preventDefault(); - }); - - this.$element.find("a.oe_sidebar_action_a").click(function(e) { - var $this = jQuery(this); - var index = $this.attr("data-index").split('-'); - var action = self.sections[index[0]].elements[index[1]]; - action.flags = { - new_window : true - }; - self.session.action_manager.do_action(action); - e.stopPropagation(); - e.preventDefault(); - }); +openerp.base.Sidebar = openerp.base.Controller.extend({ + init: function(parent, element_id) { + this._super(parent, element_id); + this.items = {}; }, start: function() { - this._super(); - this.do_refresh(false); + var self = this; + this._super(this, arguments); + this.$element.html(QWeb.render('Sidebar')); + this.$element.find(".toggle-sidebar").click(function(e) { + self.do_toggle(); + }); + }, + add_toolbar: function(toolbar) { + var self = this; + _.each([['print', "Reports"], ['action', "Actions"], ['relate', "Links"]], function(type) { + var items = toolbar[type[0]]; + if (items.length) { + for (var i = 0; i < items.length; i++) { + items[i] = { + label: items[i]['name'], + action: items[i], + classname: 'oe_sidebar_' + type[0] + } + } + self.add_section(type[1], items); + } + }); + }, + add_section: function(name, items) { + // For each section, we pass a name/label and optionally an array of items. + // If no items are passed, then the section will be created as a custom section + // returning back an element_id to be used by a custom controller. + // Else, the section is a standard section with items displayed as links. + // An item is a dictonary : { + // label: label to be displayed for the link, + // action: action to be launch when the link is clicked, + // callback: a function to be executed when the link is clicked, + // classname: optionnal dom class name for the line, + // } + // Note: The item should have one action or/and a callback + var self = this, + section_id = _.uniqueId(this.element_id + '_section_'); + if (items) { + for (var i = 0; i < items.length; i++) { + items[i].element_id = _.uniqueId(section_id + '_item_'); + this.items[items[i].element_id] = items[i]; + } + } + var $section = $(QWeb.render("Sidebar.section", { + section_id: section_id, + name: name, + items: items + })); + if (items) { + $section.find('a.oe_sidebar_action_a').click(function() { + var item = self.items[$(this).attr('id')]; + if (item.callback) { + item.callback(); + } + if (item.action) { + item.action.flags = item.action.flags || {}; + item.action.flags.new_window = true; + self.do_action(item.action); + } + return false; + }); + } + $section.appendTo(this.$element.find('div.sidebar-actions')); + return section_id; + }, + do_fold: function() { + this.$element.addClass('closed-sidebar').removeClass('open-sidebar'); + }, + do_unfold: function() { + this.$element.addClass('open-sidebar').removeClass('closed-sidebar'); + }, + do_toggle: function() { + this.$element.toggleClass('open-sidebar closed-sidebar'); } }); -openerp.base.NullSidebar = openerp.base.generate_null_object_class(openerp.base.Sidebar); - openerp.base.Export = openerp.base.Dialog.extend({ dialog_title: "Export", template: 'ExportDialog', @@ -440,6 +459,14 @@ openerp.base.Export = openerp.base.Dialog.extend({ }); openerp.base.View = openerp.base.Controller.extend({ + set_default_options: function(options) { + this.options = options || {}; + _.defaults(this.options, { + // All possible views options should be defaulted here + sidebar_id: null, + sidebar: true + }); + }, /** * Fetches and executes the action identified by ``action_data``. * diff --git a/addons/base/static/src/xml/base.xml b/addons/base/static/src/xml/base.xml index 0f7c3f3d51f..10d1539cde1 100644 --- a/addons/base/static/src/xml/base.xml +++ b/addons/base/static/src/xml/base.xml @@ -232,10 +232,32 @@
    + +
    + + + + + +

    +
    + +
    +
    @@ -360,21 +382,20 @@ -

    Attachments

    - - + + + t-att-onclick="view.datarecord.id ? null : 'alert(\'No record selected ! You can only attach to existing record.\'); return false;'"/>
    @@ -384,7 +405,7 @@
  • + + '&field=datas&fieldname=name&t=' + (new Date().getTime())"/> @@ -849,29 +870,6 @@ - - - - - - -