diff --git a/addons/account/account_analytic_line.py b/addons/account/account_analytic_line.py index 1fa0a5c6cfa..ba33185119e 100644 --- a/addons/account/account_analytic_line.py +++ b/addons/account/account_analytic_line.py @@ -167,7 +167,7 @@ class res_partner(osv.osv): _columns = { 'contract_ids': fields.one2many('account.analytic.account', \ - 'partner_id', 'Contracts'), + 'partner_id', 'Contracts', readonly=True), } res_partner() diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml index da6a5777658..ac11b019ec2 100644 --- a/addons/account/account_invoice_view.xml +++ b/addons/account/account_invoice_view.xml @@ -351,7 +351,7 @@ - + @@ -481,21 +481,5 @@ - - - - res.partner.invoice.info.inherit - res.partner - form - - - - - - - - - - diff --git a/addons/account/invoice.py b/addons/account/invoice.py index dbaa321f329..4af3b43d54c 100644 --- a/addons/account/invoice.py +++ b/addons/account/invoice.py @@ -23,7 +23,6 @@ import time import decimal_precision as dp import netsvc - from osv import fields, osv, orm import pooler from tools import config @@ -1525,7 +1524,7 @@ class res_partner(osv.osv): _inherit = 'res.partner' _columns = { - 'invoice_ids': fields.one2many('account.invoice.line', 'partner_id', 'Invoices'), + 'invoice_ids': fields.one2many('account.invoice.line', 'partner_id', 'Invoices', readonly=True), } res_partner() diff --git a/addons/account/partner_view.xml b/addons/account/partner_view.xml index eb24af577ac..286d0f1d79e 100644 --- a/addons/account/partner_view.xml +++ b/addons/account/partner_view.xml @@ -74,13 +74,13 @@ - + - + @@ -118,10 +118,27 @@ + + + + + res.partner.account.info.inherit + res.partner + form + + + + + + + + + + diff --git a/addons/account/project/project_view.xml b/addons/account/project/project_view.xml index ade59116947..b4a7b67a05a 100644 --- a/addons/account/project/project_view.xml +++ b/addons/account/project/project_view.xml @@ -443,21 +443,6 @@ - - - - - res.partner.contract.info.inherit - res.partner - form - - - - - - - - diff --git a/addons/account/report/account_account_report_view.xml b/addons/account/report/account_account_report_view.xml index 6553d761a01..f2d6338c951 100644 --- a/addons/account/report/account_account_report_view.xml +++ b/addons/account/report/account_account_report_view.xml @@ -57,7 +57,7 @@ - + @@ -67,7 +67,8 @@ - + + diff --git a/addons/account/report/account_analytic_entries_report_view.xml b/addons/account/report/account_analytic_entries_report_view.xml index b824ebcf7c3..e1cd7967b8d 100644 --- a/addons/account/report/account_analytic_entries_report_view.xml +++ b/addons/account/report/account_analytic_entries_report_view.xml @@ -55,7 +55,7 @@ - + @@ -71,14 +71,15 @@ - + + - + diff --git a/addons/account/report/account_analytic_report_view.xml b/addons/account/report/account_analytic_report_view.xml index 0d05d5f0d76..9a60b8a7bd0 100644 --- a/addons/account/report/account_analytic_report_view.xml +++ b/addons/account/report/account_analytic_report_view.xml @@ -58,7 +58,7 @@ - + - - @@ -95,7 +95,7 @@ - + @@ -118,7 +118,7 @@ - + diff --git a/addons/account_followup/__openerp__.py b/addons/account_followup/__openerp__.py index 2fc950d9e0c..df3955d8180 100644 --- a/addons/account_followup/__openerp__.py +++ b/addons/account_followup/__openerp__.py @@ -30,7 +30,7 @@ You can define your multiple levels of recall through the menu: Financial Management/Configuration/Payment Terms/Follow-Ups - Once it's defined, you can automatically prints recall every days + Once it's defined, you can automatically print recalls every day through simply clicking on the menu: Financial_Management/Periodical_Processing/Print_Follow-Ups diff --git a/addons/account_invoice_layout/__openerp__.py b/addons/account_invoice_layout/__openerp__.py index f2df124dc75..8692385179e 100644 --- a/addons/account_invoice_layout/__openerp__.py +++ b/addons/account_invoice_layout/__openerp__.py @@ -32,7 +32,7 @@ * add titles, comment lines, sub total lines * draw horizontal lines and put page breaks - Moreover, there is one option which allow you to print all the selected invoices with a given special message at the bottom of it. This feature can be very useful for printing your invoices with end-of-year wishes, special punctual conditions... + Moreover, there is one option which allows you to print all the selected invoices with a given special message at the bottom of it. This feature can be very useful for printing your invoices with end-of-year wishes, special punctual conditions... """, 'author': 'Tiny', diff --git a/addons/account_payment/__openerp__.py b/addons/account_payment/__openerp__.py index 0388bc2d4e4..5cdc1254976 100644 --- a/addons/account_payment/__openerp__.py +++ b/addons/account_payment/__openerp__.py @@ -28,7 +28,7 @@ "depends": ["account"], "init_xml": [], "description": """ - This module provide : + This module provides : * a more efficient way to manage invoice payment. * a basic mechanism to easily plug various automated payment. """, diff --git a/addons/account_voucher/__openerp__.py b/addons/account_voucher/__openerp__.py index a3813f47fee..892f05caa4b 100644 --- a/addons/account_voucher/__openerp__.py +++ b/addons/account_voucher/__openerp__.py @@ -24,8 +24,8 @@ "version" : "1.0", "author" : 'Tiny & Axelor', "description": """ - India Accounting module includes all the basic requirenment of - Basic Accounting, plus new things which available are + Indian Accounting module includes all the basic requirenments of + Basic Accounting, plus new things which are available : * Indian Account Chart * New Invoice - (Local, Retail) * Invoice Report diff --git a/addons/analytic_journal_billing_rate/__openerp__.py b/addons/analytic_journal_billing_rate/__openerp__.py index 0049d03f3c5..f77f5ad625c 100644 --- a/addons/analytic_journal_billing_rate/__openerp__.py +++ b/addons/analytic_journal_billing_rate/__openerp__.py @@ -25,7 +25,7 @@ 'category': 'Generic Modules/Others', 'description': """ - This module allows you to define what is the default invoicing rate for a specific journal on a given account. This is mostly used when a user encode his timesheet: the values are retrieved and the fields are auto-filled... but the possibility to change these values is still available. + This module allows you to define what is the default invoicing rate for a specific journal on a given account. This is mostly used when a user encodes his timesheet: the values are retrieved and the fields are auto-filled... but the possibility to change these values is still available. Obviously if no data has been recorded for the current account, the default value is given as usual by the account data so that this module is perfectly compatible with older configurations. diff --git a/addons/analytic_user_function/__openerp__.py b/addons/analytic_user_function/__openerp__.py index a6149cabb7c..072d6cfc4f9 100644 --- a/addons/analytic_user_function/__openerp__.py +++ b/addons/analytic_user_function/__openerp__.py @@ -26,7 +26,7 @@ 'category': 'Generic Modules/Others', 'description': """ - This module allows you to define what is the default function of a specific user on a given account. This is mostly used when a user encode his timesheet: the values are retrieved and the fields are auto-filled... but the possibility to change these values is still available. + This module allows you to define what is the default function of a specific user on a given account. This is mostly used when a user encodes his timesheet: the values are retrieved and the fields are auto-filled... but the possibility to change these values is still available. Obviously if no data has been recorded for the current account, the default value is given as usual by the employee data so that this module is perfectly compatible with older configurations. diff --git a/addons/audittrail/audittrail.py b/addons/audittrail/audittrail.py index a4d6904c4ca..80166298edb 100644 --- a/addons/audittrail/audittrail.py +++ b/addons/audittrail/audittrail.py @@ -33,25 +33,25 @@ class audittrail_rule(osv.osv): _name = 'audittrail.rule' _description = "Audittrail Rule" _columns = { - "name": fields.char("Rule Name", size=32, required=True), - "object_id": fields.many2one('ir.model', 'Object', required=True), - "user_id": fields.many2many('res.users', 'audittail_rules_users', - 'user_id', 'rule_id', 'Users'), - "log_read": fields.boolean("Log reads"), - "log_write": fields.boolean("Log writes"), - "log_unlink": fields.boolean("Log deletes"), - "log_create": fields.boolean("Log creates"), - "state": fields.selection((("draft", "Draft"), - ("subscribed", "Subscribed")), - "State", required=True), - "action_id": fields.many2one('ir.actions.act_window', "Action ID"), + "name": fields.char("Rule Name", size=32, required=True), + "object_id": fields.many2one('ir.model', 'Object', required=True), + "user_id": fields.many2many('res.users', 'audittail_rules_users', + 'user_id', 'rule_id', 'Users'), + "log_read": fields.boolean("Log reads"), + "log_write": fields.boolean("Log writes"), + "log_unlink": fields.boolean("Log deletes"), + "log_create": fields.boolean("Log creates"), + "state": fields.selection((("draft", "Draft"), + ("subscribed", "Subscribed")), + "State", required=True), + "action_id": fields.many2one('ir.actions.act_window', "Action ID"), } _defaults = { - 'state': lambda *a: 'draft', - 'log_create': lambda *a: 1, - 'log_unlink': lambda *a: 1, - 'log_write': lambda *a: 1, + 'state': lambda *a: 'draft', + 'log_create': lambda *a: 1, + 'log_unlink': lambda *a: 1, + 'log_write': lambda *a: 1, } _sql_constraints = [ @@ -65,7 +65,7 @@ class audittrail_rule(osv.osv): @param cr: the current row, from the database cursor, @param uid: the current user’s ID for security checks, @param ids: List of Auddittrail Rule’s IDs. - @return: True + @return: True """ obj_action = self.pool.get('ir.actions.act_window') obj_model = self.pool.get('ir.model.data') @@ -74,13 +74,13 @@ class audittrail_rule(osv.osv): obj = self.pool.get(thisrule.object_id.model) if not obj: raise osv.except_osv( - _('WARNING: audittrail is not part of the pool'), + _('WARNING: audittrail is not part of the pool'), _('Change audittrail depends -- Setting rule as DRAFT')) self.write(cr, uid, [thisrule.id], {"state": "draft"}) val = { - "name": 'View Log', - "res_model": 'audittrail.log', - "src_model": thisrule.object_id.model, + "name": 'View Log', + "res_model": 'audittrail.log', + "src_model": thisrule.object_id.model, "domain": "[('object_id','=', " + str(thisrule.object_id.id) + "), ('res_id', '=', active_id)]" } @@ -98,7 +98,7 @@ class audittrail_rule(osv.osv): @param cr: the current row, from the database cursor, @param uid: the current user’s ID for security checks, @param ids: List of Auddittrail Rule’s IDs. - @return: True + @return: True """ obj_action = self.pool.get('ir.actions.act_window') val_obj = self.pool.get('ir.values') @@ -128,16 +128,16 @@ class audittrail_log(osv.osv): _description = "Audittrail Log" _columns = { - "name": fields.char("Name", size=32), - "object_id": fields.many2one('ir.model', 'Object'), - "user_id": fields.many2one('res.users', 'User'), - "method": fields.selection((('read', 'Read'), - ('write', 'Write'), - ('unlink', 'Delete'), - ('create', 'Create')), "Method"), - "timestamp": fields.datetime("Date"), - "res_id": fields.integer('Resource Id'), - "line_ids": fields.one2many('audittrail.log.line', 'log_id', 'Log lines'), + "name": fields.char("Name", size=32), + "object_id": fields.many2one('ir.model', 'Object'), + "user_id": fields.many2one('res.users', 'User'), + "method": fields.selection((('read', 'Read'), + ('write', 'Write'), + ('unlink', 'Delete'), + ('create', 'Create')), "Method"), + "timestamp": fields.datetime("Date"), + "res_id": fields.integer('Resource Id'), + "line_ids": fields.one2many('audittrail.log.line', 'log_id', 'Log lines'), } _defaults = { @@ -155,14 +155,14 @@ class audittrail_log_line(osv.osv): _name = 'audittrail.log.line' _description = "Log Line" _columns = { - 'field_id': fields.many2one('ir.model.fields', 'Fields', required=True), - 'log_id': fields.many2one('audittrail.log', 'Log'), - 'log': fields.integer("Log ID"), - 'old_value': fields.text("Old Value"), - 'new_value': fields.text("New Value"), - 'old_value_text': fields.text('Old value Text'), - 'new_value_text': fields.text('New value Text'), - 'field_description': fields.char('Field Description', size=64), + 'field_id': fields.many2one('ir.model.fields', 'Fields', required=True), + 'log_id': fields.many2one('audittrail.log', 'Log'), + 'log': fields.integer("Log ID"), + 'old_value': fields.text("Old Value"), + 'new_value': fields.text("New Value"), + 'old_value_text': fields.text('Old value Text'), + 'new_value_text': fields.text('New value Text'), + 'field_description': fields.char('Field Description', size=64), } audittrail_log_line() @@ -170,7 +170,7 @@ audittrail_log_line() class audittrail_objects_proxy(osv_pool): """ Uses Object proxy for auditing changes on object of subscribed Rules""" - + def get_value_text(self, cr, uid, field_name, values, object, context=None): """ Gets textual values for the fields @@ -178,9 +178,9 @@ class audittrail_objects_proxy(osv_pool): @param cr: the current row, from the database cursor, @param uid: the current user’s ID for security checks, - @param field_name: List of fields for text values - @param values: Values for field to be converted into textual values - @return: values: List of textual values for given fields + @param field_name: List of fields for text values + @param values: Values for field to be converted into textual values + @return: values: List of textual values for given fields """ if not context: context = {} @@ -226,7 +226,7 @@ class audittrail_objects_proxy(osv_pool): @param object: Object who's values are being changed @param lines: List of values for line is to be created """ - + pool = pooler.get_pool(cr.dbname) obj = pool.get(object.model) #start Loop @@ -242,7 +242,7 @@ class audittrail_objects_proxy(osv_pool): new_value = 'new_value' in line and line['new_value'] or '' old_value_text = 'old_value_text' in line and line['old_value_text'] or '' new_value_text = 'new_value_text' in line and line['new_value_text'] or '' - + if old_value_text == new_value_text: continue if fields[0]['ttype'] == 'many2one': @@ -251,12 +251,12 @@ class audittrail_objects_proxy(osv_pool): if type(new_value) == tuple: new_value = new_value[0] vals = { - "log_id": id, - "field_id": f_id[0], - "old_value": old_value, - "new_value": new_value, - "old_value_text": old_value_text, - "new_value_text": new_value_text, + "log_id": id, + "field_id": f_id[0], + "old_value": old_value, + "new_value": new_value, + "old_value_text": old_value_text, + "new_value_text": new_value_text, "field_description": fields[0]['field_description'] } line_id = pool.get('audittrail.log.line').create(cr, uid, vals) @@ -270,10 +270,10 @@ class audittrail_objects_proxy(osv_pool): @param db: the current database @param uid: the current user’s ID for security checks, @param object: Object who's values are being changed - @param method: method to log: create, read, write, unlink + @param method: method to log: create, read, write, unlink @param fct_src: execute method of Object proxy - - @return: Returns result as per method of Object proxy + + @return: Returns result as per method of Object proxy """ logged_uids = [] pool = pooler.get_pool(db) @@ -290,9 +290,9 @@ class audittrail_objects_proxy(osv_pool): resource_name = pool.get(model_object.model).name_get(cr, uid, [res_id]) resource_name = resource_name and resource_name[0][1] or '' vals = { - "method": method, - "object_id": model_object.id, - "user_id": uid, "res_id": res_id, + "method": method, + "object_id": model_object.id, + "user_id": uid, "res_id": res_id, "name": resource_name } id = pool.get('audittrail.log').create(cr, uid, vals) @@ -300,8 +300,8 @@ class audittrail_objects_proxy(osv_pool): for field in new_value: if new_value[field]: line = { - 'name': field, - 'new_value': new_value[field], + 'name': field, + 'new_value': new_value[field], 'new_value_text': self.get_value_text(cr, uid, field, new_value[field], model_object) } lines.append(line) @@ -329,10 +329,10 @@ class audittrail_objects_proxy(osv_pool): for field in args[1].keys(): if args[1].keys(): line = { - 'name': field, - 'new_value': field in new_values and new_values[field] or '', - 'old_value': field in old_values and old_values[field] or '', - 'new_value_text': self.get_value_text(cr, uid, field, new_values[field], model_object), + 'name': field, + 'new_value': field in new_values and new_values[field] or '', + 'old_value': field in old_values and old_values[field] or '', + 'new_value_text': self.get_value_text(cr, uid, field, new_values[field], model_object), 'old_value_text': old_values_text[field] } lines.append(line) @@ -360,8 +360,8 @@ class audittrail_objects_proxy(osv_pool): for field in old_values[res_id]: if old_values[res_id][field]: line = { - 'name': field, - 'old_value': old_values[res_id][field], + 'name': field, + 'old_value': old_values[res_id][field], 'old_value_text': self.get_value_text(cr, uid, field, old_values[res_id][field], model_object) } lines.append(line) @@ -385,8 +385,8 @@ class audittrail_objects_proxy(osv_pool): for field in old_values[res_id]: if old_values[res_id][field]: line = { - 'name': field, - 'old_value': old_values[res_id][field], + 'name': field, + 'old_value': old_values[res_id][field], 'old_value_text': self.get_value_text(cr, uid, field, old_values[res_id][field], model_object) } lines.append(line) @@ -403,9 +403,9 @@ class audittrail_objects_proxy(osv_pool): @param db: the current database @param uid: the current user’s ID for security checks, @param object: Object who's values are being changed - @param method: method to log: create, read, write, unlink - - @return: Returns result as per method of Object proxy + @param method: method to log: create, read, write, unlink + + @return: Returns result as per method of Object proxy """ pool = pooler.get_pool(db) cr = pooler.get_db(db).cursor() @@ -433,7 +433,7 @@ class audittrail_objects_proxy(osv_pool): logged_uids.append(user.id) if not logged_uids or uid in logged_uids: if field in ('read', 'write', 'create', 'unlink'): - if getattr(thisrule, 'log_',''): + if getattr(thisrule, 'log_' + field): return self.log_fct(db, uid, object, method, fct_src, *args) return fct_src(db, uid, object, method, *args) res = my_fct(db, uid, object, method, *args) diff --git a/addons/base_calendar/__openerp__.py b/addons/base_calendar/__openerp__.py index de44f6e0333..2c6c8bf3f9b 100644 --- a/addons/base_calendar/__openerp__.py +++ b/addons/base_calendar/__openerp__.py @@ -20,10 +20,11 @@ ############################################################################## { - "name" : "Basic Calendar Functionality", - "version" : "1.0", - "depends" : ["base"], - 'description': """Full featured calendar system that support: + "name" : "Basic Calendar Functionality", + "version" : "1.0", + "depends" : ["base"], + 'description': """Full featured calendar system that supports: + - Alerts (create requests) - Recurring events (*) - Invitations to others people""", diff --git a/addons/base_calendar/base_calendar.py b/addons/base_calendar/base_calendar.py index 4c3940301b3..bf93c9c775d 100644 --- a/addons/base_calendar/base_calendar.py +++ b/addons/base_calendar/base_calendar.py @@ -1660,9 +1660,10 @@ class ir_model(osv.osv): @param ids: List of IR Model’s IDs. @param context: A standard dictionary for contextual values """ + new_ids = isinstance(ids, (str, int, long)) and [ids] or ids if not context: context = {} - data = super(ir_model, self).read(cr, uid, ids, fields=fields, \ + data = super(ir_model, self).read(cr, uid, new_ids, fields=fields, \ context=context, load=load) if data: for val in data: diff --git a/addons/base_calendar/base_calendar_view.xml b/addons/base_calendar/base_calendar_view.xml index c596ffc261e..a5afddc9823 100644 --- a/addons/base_calendar/base_calendar_view.xml +++ b/addons/base_calendar/base_calendar_view.xml @@ -108,7 +108,7 @@ - + - + context="{'group_by':'partner_address_id'}" /> @@ -400,7 +398,7 @@ - + \n" +"PO-Revision-Date: 2010-05-25 16:41+0000\n" +"Last-Translator: Grzegorz Grzelak (Cirrus.pl) \n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2010-04-17 04:16+0000\n" +"X-Launchpad-Export-Date: 2010-05-27 03:42+0000\n" "X-Generator: Launchpad (build Unknown)\n" #. module: board_account #: view:board.board:0 msgid "Analytic accounts to close" -msgstr "" +msgstr "Konta analityczne do zamknięcia" #. module: board_account #: view:board.board:0 msgid "Draft invoices" -msgstr "" +msgstr "Projekty faktur" #. module: board_account #: constraint:ir.ui.view:0 @@ -35,61 +35,61 @@ msgstr "XML niewłaściwy dla tej architektury wyświetlania!" #: model:ir.actions.act_window,name:board_account.open_board_account #: model:ir.ui.menu,name:board_account.menu_board_account msgid "Accounting Dashboard" -msgstr "" +msgstr "Konsola księgowości" #. module: board_account #: model:ir.actions.act_window,name:board_account.action_aged_receivable msgid "Receivable Accounts" -msgstr "" +msgstr "Konta wierzytelności" #. module: board_account #: view:board.board:0 #: model:ir.actions.act_window,name:board_account.act_my_account msgid "Accounts to invoice" -msgstr "" +msgstr "Konta do faktur" #. module: board_account #: view:board.board:0 #: model:ir.actions.act_window,name:board_account.action_account_analytic_line_to_invoice msgid "Costs to invoice" -msgstr "" +msgstr "Koszty do faktur" #. module: board_account #: view:board.board:0 msgid "Aged receivables" -msgstr "" +msgstr "Przeterminowane wierzytelności" #. module: board_account #: model:ir.module.module,shortdesc:board_account.module_meta_information msgid "Board for accountant" -msgstr "" +msgstr "Konsola dla księgowści" #. module: board_account #: model:ir.actions.act_window,name:board_account.action_aged_income msgid "Income Accounts" -msgstr "" +msgstr "Konta przychodowe" #. module: board_account #: view:board.board:0 msgid "My indicators" -msgstr "" +msgstr "Moje wskaźniki" #. module: board_account #: constraint:ir.actions.act_window:0 msgid "Invalid model name in the action definition." -msgstr "" +msgstr "Nieprawidłowa nazwa modelu w definicji akcji." #. module: board_account #: model:ir.ui.menu,name:board_account.next_id_68 msgid "Accounting" -msgstr "" +msgstr "Księgowość" #. module: board_account #: view:board.board:0 msgid "Account Board" -msgstr "" +msgstr "Konsola kont" #. module: board_account #: view:board.board:0 msgid "Aged income" -msgstr "" +msgstr "Przeterminowany dochód" diff --git a/addons/board_manufacturing/__openerp__.py b/addons/board_manufacturing/__openerp__.py index 50afa0d6cbc..e61a1c08fcf 100644 --- a/addons/board_manufacturing/__openerp__.py +++ b/addons/board_manufacturing/__openerp__.py @@ -25,7 +25,7 @@ 'version': '1.0', 'category': 'Board/Manufacturing', 'description': """ - This module creates a dashboards for Manufaturing that includes: + This module creates a dashboard for Manufaturing that includes: * List of next production orders * List of deliveries (out picking) * Graph of work center load diff --git a/addons/board_project/__openerp__.py b/addons/board_project/__openerp__.py index f934c7d3bc5..6d5518b17f2 100644 --- a/addons/board_project/__openerp__.py +++ b/addons/board_project/__openerp__.py @@ -25,7 +25,7 @@ 'version': '1.0', 'category': 'Board/Projects & Services', 'description': """ -This module implements a dashboard for project member that includes: +This module implements a dashboard for project members that includes: * List of my open tasks * List of messages * Members list of project diff --git a/addons/board_purchase/__terp__.py b/addons/board_purchase/__terp__.py index f5ada7cfe46..bd31ee75d56 100644 --- a/addons/board_purchase/__terp__.py +++ b/addons/board_purchase/__terp__.py @@ -25,7 +25,7 @@ 'version': '1.0', 'category': 'Board/Purchase', 'description': """ -This module implements a dashboard for purcgase management that includes: +This module implements a dashboard for purchase management that includes: * Current Purchase Orders * Draft Purchase Orders * Graph for quantity and amount per month diff --git a/addons/board_sale/__openerp__.py b/addons/board_sale/__openerp__.py index 1c9d01d376a..4c2ae1e88c3 100644 --- a/addons/board_sale/__openerp__.py +++ b/addons/board_sale/__openerp__.py @@ -26,7 +26,7 @@ 'category': 'Board/Sales & Purchase', 'description': """ This module implements a dashboard for salesman that includes: - * You open quotations + * Your open quotations * Top 10 sales of the month * Cases statistics * Graph of sales by product diff --git a/addons/crm/__init__.py b/addons/crm/__init__.py index de0fac56e29..362444ccc2c 100644 --- a/addons/crm/__init__.py +++ b/addons/crm/__init__.py @@ -33,6 +33,7 @@ import crm_installer import report import wizard +import res_partner diff --git a/addons/crm/__openerp__.py b/addons/crm/__openerp__.py index 3bc1f703454..386387b1157 100644 --- a/addons/crm/__openerp__.py +++ b/addons/crm/__openerp__.py @@ -32,12 +32,12 @@ assignment, resolution and notification. Open ERP ensures that all cases are successfully tracked by users, customers and suppliers. It can automatically send reminders, escalate the request, trigger -specific methods and lots of others actions based on your enterprise own rules. +specific methods and lots of other actions based on your own enterprise rules. The greatest thing about this system is that users don't need to do anything special. They can just send email to the request tracker. Open ERP will take care of thanking them for their message, automatically routing it to the -appropriate staff, and making sure all future correspondence gets to the right +appropriate staff, and make sure all future correspondence gets to the right place. The CRM module has a email gateway for the synchronisation interface @@ -96,7 +96,9 @@ between mails and Open ERP.""", 'report/crm_phonecall_report_view.xml', 'process/crm_configuration_process.xml', - 'crm_installer_view.xml' + 'crm_installer_view.xml', + + 'res_partner_view.xml' ], 'demo_xml': [ 'crm_demo.xml', diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index ab8bc1de303..9c24e306154 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -2,7 +2,7 @@ - + Lead Stages @@ -16,7 +16,7 @@ groups="base.group_extended" parent="crm.menu_crm_case_stage" /> - + Lead Resource Type @@ -31,7 +31,7 @@ groups="base.group_extended" parent="crm.menu_crm_case_resource_type" /> - + CRM - Leads Form @@ -190,7 +190,7 @@ - + CRM - Leads Tree @@ -239,7 +239,7 @@ - + CRM - Leads Calendar @@ -257,7 +257,7 @@ - + CRM - Leads Search @@ -306,7 +306,7 @@ help="Show Sales Team"/> - + @@ -322,6 +322,5 @@ - diff --git a/addons/crm/crm_meeting.py b/addons/crm/crm_meeting.py index 20ae1176ca6..e45ee85b31d 100644 --- a/addons/crm/crm_meeting.py +++ b/addons/crm/crm_meeting.py @@ -175,16 +175,4 @@ class res_users(osv.osv): res_users() -class res_partner(osv.osv): - """ Inherits partner and adds meetings information in the partner form """ - _inherit = 'res.partner' - - _columns = { - 'meeting_ids': fields.one2many('crm.meeting', 'partner_id',\ - 'Meetings'), - } - -res_partner() - - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/crm/crm_meeting_view.xml b/addons/crm/crm_meeting_view.xml index bab9be8733e..e84bbb673ee 100644 --- a/addons/crm/crm_meeting_view.xml +++ b/addons/crm/crm_meeting_view.xml @@ -2,7 +2,7 @@ - + Meeting Categories @@ -16,7 +16,7 @@ - + CRM - Meetings Form @@ -204,7 +204,7 @@ - + CRM - Meetings Tree @@ -222,7 +222,7 @@ - + CRM - Meetings Calendar @@ -238,7 +238,7 @@ - + CRM - Meetings Gantt @@ -254,7 +254,7 @@ - + CRM - Meetings Search @@ -277,7 +277,7 @@ - + - + calendar.attendee.form.inherit @@ -310,7 +310,7 @@ - + calendar.attendee.tree.inherit @@ -324,21 +324,5 @@ - - - - res.partner.meeting.info.inherit - res.partner - form - - - - - - - - - - diff --git a/addons/crm/crm_opportunity.py b/addons/crm/crm_opportunity.py index 3bc9fdd6d81..98e4c6f3ded 100644 --- a/addons/crm/crm_opportunity.py +++ b/addons/crm/crm_opportunity.py @@ -163,16 +163,4 @@ class crm_opportunity(osv.osv): crm_opportunity() -class res_partner(osv.osv): - """ Inherits partner and adds Opportunities information in the partner form """ - _inherit = 'res.partner' - - _columns = { - 'opportunity_ids': fields.one2many('crm.lead', 'partner_id',\ - 'Opportunities', domain=[('type', '=', 'opportunity')]), - } - -res_partner() - - # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/crm/crm_opportunity_view.xml b/addons/crm/crm_opportunity_view.xml index 38af54200ef..6f34e42324d 100644 --- a/addons/crm/crm_opportunity_view.xml +++ b/addons/crm/crm_opportunity_view.xml @@ -2,7 +2,7 @@ - + Opportunity Categories @@ -17,7 +17,7 @@ id="menu_crm_case_opportunity-act" parent="crm.menu_crm_case_categ" /> - + Opportunity Stages @@ -32,7 +32,7 @@ id="menu_crm_opportunity_stage_act" parent="crm.menu_crm_case_stage" /> - + Opportunity Resource Type @@ -47,7 +47,7 @@ id="menu_crm_opportunity_resource_act" parent="crm.menu_crm_case_resource_type" /> - + Opportunities @@ -204,7 +204,7 @@ - + Opportunities Tree @@ -246,7 +246,7 @@ - + CRM - Opportunity Graph @@ -261,7 +261,7 @@ - + CRM - Opportunities Search @@ -293,11 +293,10 @@ + help="My Opportunities" default="1"/> + help="Unassigned Opportunities"/> - + + context="{'group_by':'stage_id'}"/> + context="{'group_by':'priority'}"/> + domain="[]" context="{'group_by':'categ_id'}"/> - + - + domain="[('user_id','=',uid)]" context="{'group_by':'user_id'}"/> + + domain="[]" context="{'group_by':'create_date'}"/> + domain="[]" context="{'group_by':'date_deadline'}"/> - - - - res.partner.opportunity.info.inherit - res.partner - form - - - - - - - - - - - - - - - - -