diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py
index 823bb56a7a9..271cc92e41c 100644
--- a/addons/account/__openerp__.py
+++ b/addons/account/__openerp__.py
@@ -120,7 +120,6 @@ module named account_voucher.
'project/analytic_account_demo.xml',
'demo/account_minimal.xml',
'account_unit_test.xml',
- 'board_account_demo.xml',
],
'test': [
'test/account_customer_invoice.yml',
diff --git a/addons/account/board_account_demo.xml b/addons/account/board_account_demo.xml
deleted file mode 100644
index 93bfed6d56d..00000000000
--- a/addons/account/board_account_demo.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/account/process/customer_invoice_process.xml b/addons/account/process/customer_invoice_process.xml
index 51e8254d20e..b34dca0dbb9 100644
--- a/addons/account/process/customer_invoice_process.xml
+++ b/addons/account/process/customer_invoice_process.xml
@@ -122,7 +122,6 @@
-->
-
@@ -131,7 +130,6 @@
-
@@ -140,7 +138,6 @@
-
@@ -150,7 +147,6 @@
-
@@ -159,7 +155,6 @@
-
@@ -168,7 +163,6 @@
-
@@ -177,7 +171,6 @@
-
@@ -186,7 +179,6 @@
-
diff --git a/addons/account/process/statement_process.xml b/addons/account/process/statement_process.xml
index 704f9f47025..01fd4bc1bfe 100644
--- a/addons/account/process/statement_process.xml
+++ b/addons/account/process/statement_process.xml
@@ -65,7 +65,6 @@
-->
-
@@ -74,7 +73,6 @@
-
@@ -84,7 +82,6 @@
-
diff --git a/addons/account/process/supplier_invoice_process.xml b/addons/account/process/supplier_invoice_process.xml
index e24431c48b4..8635b083d72 100644
--- a/addons/account/process/supplier_invoice_process.xml
+++ b/addons/account/process/supplier_invoice_process.xml
@@ -1,21 +1,21 @@
-
-
-
+
-
-
-
+
@@ -26,7 +26,7 @@
-
+
@@ -37,7 +37,7 @@
-
+
@@ -48,7 +48,7 @@
-
+
@@ -60,7 +60,7 @@
-
+
@@ -70,7 +70,7 @@
-
+
@@ -81,7 +81,7 @@
-
+
@@ -92,7 +92,7 @@
-
+
@@ -103,22 +103,20 @@
-
-
-
+
-
-
+
-
@@ -126,51 +124,46 @@
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
diff --git a/addons/account_budget/crossovered_budget_workflow.xml b/addons/account_budget/crossovered_budget_workflow.xml
index f304775bcca..16997d694f2 100644
--- a/addons/account_budget/crossovered_budget_workflow.xml
+++ b/addons/account_budget/crossovered_budget_workflow.xml
@@ -65,28 +65,24 @@
validate
-
cancel
-
cancel
-
done
-
diff --git a/addons/account_payment/wizard/account_payment_populate_statement.py b/addons/account_payment/wizard/account_payment_populate_statement.py
index d223c58316f..7ebb9d933de 100644
--- a/addons/account_payment/wizard/account_payment_populate_statement.py
+++ b/addons/account_payment/wizard/account_payment_populate_statement.py
@@ -114,7 +114,7 @@ class account_payment_populate_statement(osv.osv_memory):
'voucher_id': voucher_id,
}, context=context)
- line_obj.write(cr, uid, [line.id], {'bank_statement_line_id': st_line_id})
+ line_obj.write(cr, uid, [line.id], {'bank_statement_line_id': st_line_id})
return {'type': 'ir.actions.act_window_close'}
account_payment_populate_statement()
diff --git a/addons/base_calendar/base_calendar_view.xml b/addons/base_calendar/base_calendar_view.xml
index 2a0ed14080f..ba91c4b75dd 100644
--- a/addons/base_calendar/base_calendar_view.xml
+++ b/addons/base_calendar/base_calendar_view.xml
@@ -163,7 +163,8 @@
@@ -496,6 +497,7 @@
diff --git a/addons/base_contact/process/base_contact_process.xml b/addons/base_contact/process/base_contact_process.xml
index 876905c1812..f5b754e7ad9 100644
--- a/addons/base_contact/process/base_contact_process.xml
+++ b/addons/base_contact/process/base_contact_process.xml
@@ -60,7 +60,6 @@
-->
-
@@ -69,7 +68,6 @@
-
@@ -78,7 +76,6 @@
-
diff --git a/addons/base_iban/base_iban_data.xml b/addons/base_iban/base_iban_data.xml
index 4269bb83ac6..dae3999505e 100644
--- a/addons/base_iban/base_iban_data.xml
+++ b/addons/base_iban/base_iban_data.xml
@@ -3,12 +3,11 @@
+ Default bank account description
+ -->
IBAN Account
iban
-
iban
diff --git a/addons/crm/__openerp__.py b/addons/crm/__openerp__.py
index 5de8de6de68..89dc61bef59 100644
--- a/addons/crm/__openerp__.py
+++ b/addons/crm/__openerp__.py
@@ -119,7 +119,6 @@ Create dashboard for CRM that includes:
'crm_meeting_demo.xml',
'crm_opportunity_demo.xml',
'crm_phonecall_demo.xml',
- 'board_crm_demo.xml',
],
'test': [
'test/test_crm_lead.yml',
diff --git a/addons/crm/board_crm_demo.xml b/addons/crm/board_crm_demo.xml
deleted file mode 100644
index fd8bb480d68..00000000000
--- a/addons/crm/board_crm_demo.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/crm/crm_lead_data.xml b/addons/crm/crm_lead_data.xml
index cb80a7d28e9..2a49e43e683 100644
--- a/addons/crm/crm_lead_data.xml
+++ b/addons/crm/crm_lead_data.xml
@@ -33,9 +33,10 @@
- Win
+ Won
+
diff --git a/addons/crm/crm_meeting_view.xml b/addons/crm/crm_meeting_view.xml
index 98376da43a1..dd36a994b8d 100644
--- a/addons/crm/crm_meeting_view.xml
+++ b/addons/crm/crm_meeting_view.xml
@@ -13,7 +13,8 @@
{'object_id':'crm.meeting'}
-
diff --git a/addons/crm/crm_opportunity.py b/addons/crm/crm_opportunity.py
index 771212a171d..2b0062eb9d5 100644
--- a/addons/crm/crm_opportunity.py
+++ b/addons/crm/crm_opportunity.py
@@ -85,10 +85,11 @@ class crm_opportunity(osv.osv):
"""
res = super(crm_opportunity, self).case_close(cr, uid, ids, args)
stage_id = super(crm_opportunity, self).stage_next(cr, uid, ids, context={'force_domain': [('probability', '=', 0)]})
- if not stage_id:
- raise osv.except_osv(_('Warning !'), _('There is no stage for lost opportunities defined for this Sale Team.'))
- value = self.onchange_stage_id(cr, uid, ids, stage_id, context={})['value']
- value.update({'date_closed': time.strftime('%Y-%m-%d %H:%M:%S'), 'stage_id': stage_id})
+ value = {}
+ if stage_id:
+ value = self.onchange_stage_id(cr, uid, ids, stage_id, context={}).get('value', {})
+ value['stage_id'] = stage_id
+ value.update({'date_closed': time.strftime('%Y-%m-%d %H:%M:%S')})
res = self.write(cr, uid, ids, value)
for (id, name) in self.name_get(cr, uid, ids):
diff --git a/addons/crm/crm_opportunity_view.xml b/addons/crm/crm_opportunity_view.xml
index 52aedec68df..86bb99633ac 100644
--- a/addons/crm/crm_opportunity_view.xml
+++ b/addons/crm/crm_opportunity_view.xml
@@ -14,14 +14,14 @@
+ domain="[('object_id.model', '=', 'crm.lead')]"/>
-
+ states="draft,open,pending" type="object"
+ icon="gtk-go-back" string="" />
+
@@ -88,7 +88,7 @@
groups="base.group_extended"
icon="gtk-go-up" />
-
-
-
diff --git a/addons/crm/crm_view.xml b/addons/crm/crm_view.xml
index bb15b3631b8..daafc19a621 100644
--- a/addons/crm/crm_view.xml
+++ b/addons/crm/crm_view.xml
@@ -202,6 +202,7 @@
diff --git a/addons/crm/process/crm_configuration_process.xml b/addons/crm/process/crm_configuration_process.xml
index 362c8982b96..790aad82fc8 100644
--- a/addons/crm/process/crm_configuration_process.xml
+++ b/addons/crm/process/crm_configuration_process.xml
@@ -57,7 +57,6 @@
-->
-
@@ -66,7 +65,6 @@
-
@@ -75,7 +73,6 @@
-
diff --git a/addons/email_template/email_template.py b/addons/email_template/email_template.py
index f87c4bf750e..ee82c917351 100644
--- a/addons/email_template/email_template.py
+++ b/addons/email_template/email_template.py
@@ -331,38 +331,34 @@ This is useful for CRM leads for example"),
default.update({'name':new_name})
return super(email_template, self).copy(cr, uid, id, default, context)
- def compute_pl(self,
- model_object_field,
- sub_model_object_field,
- null_value, template_language='mako'):
+ def build_expression(self, field_name, sub_field_name, null_value, template_language='mako'):
"""
- Returns the expression based on data provided
- @param model_object_field: First level field
- @param sub_model_object_field: Second level drilled down field (M2O)
- @param null_value: What has to be returned if the value is empty
- @param template_language: The language used for templating
+ Returns a template expression based on data provided
+ @param field_name: field name
+ @param sub_field_name: sub field name (M2O)
+ @param null_value: default value if the target value is empty
+ @param template_language: name of template engine
@return: computed expression
"""
- #Configure for MAKO
- copy_val = ''
+
+ expression = ''
if template_language == 'mako':
- if model_object_field:
- copy_val = "${object." + model_object_field
- if sub_model_object_field:
- copy_val += "." + sub_model_object_field
- if null_value:
- copy_val += " or '" + null_value + "'"
- if model_object_field:
- copy_val += "}"
+ if field_name:
+ expression = "${object." + field_name
+ if sub_field_name:
+ expression += "." + sub_field_name
+ if null_value:
+ expression += " or '''%s'''" % null_value
+ expression += "}"
elif template_language == 'django':
- if model_object_field:
- copy_val = "{{object." + model_object_field
- if sub_model_object_field:
- copy_val += "." + sub_model_object_field
- if null_value:
- copy_val = copy_val + '|default:"' + null_value + '"'
- copy_val = copy_val + "}}"
- return copy_val
+ if field_name:
+ expression = "{{object." + field_name
+ if sub_field_name:
+ expression += "." + sub_field_name
+ if null_value:
+ expression += "|default: '''%s'''" % null_value
+ expression += "}}"
+ return expression
def onchange_model_object_field(self, cr, uid, ids, model_object_field, template_language, context=None):
if not model_object_field:
@@ -374,7 +370,7 @@ This is useful for CRM leads for example"),
res_ids = self.pool.get('ir.model').search(cr, uid, [('model', '=', field_obj.relation)], context=context)
if res_ids:
result['sub_object'] = res_ids[0]
- result['copyvalue'] = self.compute_pl(False,
+ result['copyvalue'] = self.build_expression(False,
False,
False,
template_language)
@@ -383,7 +379,7 @@ This is useful for CRM leads for example"),
else:
#Its a simple field... just compute placeholder
result['sub_object'] = False
- result['copyvalue'] = self.compute_pl(field_obj.name,
+ result['copyvalue'] = self.build_expression(field_obj.name,
False,
False,
template_language
@@ -402,7 +398,7 @@ This is useful for CRM leads for example"),
sub_field_obj = self.pool.get('ir.model.fields').browse(cr, uid, sub_model_object_field, context)
if res_ids:
result['sub_object'] = res_ids[0]
- result['copyvalue'] = self.compute_pl(field_obj.name,
+ result['copyvalue'] = self.build_expression(field_obj.name,
sub_field_obj.name,
False,
template_language
@@ -412,7 +408,7 @@ This is useful for CRM leads for example"),
else:
#Its a simple field... just compute placeholder
result['sub_object'] = False
- result['copyvalue'] = self.compute_pl(field_obj.name,
+ result['copyvalue'] = self.build_expression(field_obj.name,
False,
False,
template_language
@@ -431,7 +427,7 @@ This is useful for CRM leads for example"),
sub_field_obj = self.pool.get('ir.model.fields').browse(cr, uid, sub_model_object_field, context)
if res_ids:
result['sub_object'] = res_ids[0]
- result['copyvalue'] = self.compute_pl(field_obj.name,
+ result['copyvalue'] = self.build_expression(field_obj.name,
sub_field_obj.name,
null_value,
template_language
@@ -441,7 +437,7 @@ This is useful for CRM leads for example"),
else:
#Its a simple field... just compute placeholder
result['sub_object'] = False
- result['copyvalue'] = self.compute_pl(field_obj.name,
+ result['copyvalue'] = self.build_expression(field_obj.name,
False,
null_value,
template_language
diff --git a/addons/email_template/email_template_workflow.xml b/addons/email_template/email_template_workflow.xml
index 911b8bf49ff..1a6a73cca77 100644
--- a/addons/email_template/email_template_workflow.xml
+++ b/addons/email_template/email_template_workflow.xml
@@ -47,26 +47,22 @@
button_approval
-
button_suspended
-
get_reapprove
-
get_never
-
diff --git a/addons/event/__openerp__.py b/addons/event/__openerp__.py
index fdf64388a19..4e65009f422 100644
--- a/addons/event/__openerp__.py
+++ b/addons/event/__openerp__.py
@@ -53,7 +53,7 @@
'board_association_view.xml',
'res_partner_view.xml',
],
- 'demo_xml': ['event_demo.xml', 'board_association_demo.xml'],
+ 'demo_xml': ['event_demo.xml'],
'test': ['test/test_event.yml'],
'installable': True,
'active': False,
diff --git a/addons/event/board_association_demo.xml b/addons/event/board_association_demo.xml
deleted file mode 100644
index 1e66696aa8b..00000000000
--- a/addons/event/board_association_demo.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/event/event.py b/addons/event/event.py
index ea4a9cf9b8b..88910f01914 100644
--- a/addons/event/event.py
+++ b/addons/event/event.py
@@ -303,7 +303,7 @@ class event_registration(osv.osv):
'name': fields.char('Summary', size=124, readonly=True, states={'draft': [('readonly', False)]}),
'email_cc': fields.text('CC', size=252 , readonly=False, states={'done': [('readonly', True)]}, help="These email addresses will be added to the CC field of all inbound and outbound emails for this record before being sent. Separate multiple email addresses with a comma"),
'nb_register': fields.integer('Quantity', required=True, readonly=True, states={'draft': [('readonly', False)]}, help="Number of Registrations or Tickets"),
- 'event_id': fields.many2one('event.event', 'Event Related', required=True, readonly=True, states={'draft': [('readonly', False)]}),
+ 'event_id': fields.many2one('event.event', 'Event', required=True, readonly=True, states={'draft': [('readonly', False)]}),
'partner_id': fields.many2one('res.partner', 'Partner', states={'done': [('readonly', True)]}),
"partner_invoice_id": fields.many2one('res.partner', 'Partner Invoiced', readonly=True, states={'draft': [('readonly', False)]}),
"contact_id": fields.many2one('res.partner.contact', 'Partner Contact', readonly=False, states={'done': [('readonly', True)]}), #TODO: filter only the contacts that have a function into the selected partner_id
diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml
index f20d9e9aa81..73b973b6256 100644
--- a/addons/event/event_view.xml
+++ b/addons/event/event_view.xml
@@ -227,27 +227,27 @@
-
-
+
+
-
-
+
-
+
+
+
+
-
-
-
@@ -296,11 +296,11 @@
tree
-
-
+
-
+
+
@@ -344,9 +344,9 @@
+
-
@@ -469,27 +469,26 @@
-
-
+
+
-
-
-
+
+
+
+
+
-
-
-
diff --git a/addons/hr/hr_installer.xml b/addons/hr/hr_installer.xml
index 490523b4e12..0f396e65a8b 100644
--- a/addons/hr/hr_installer.xml
+++ b/addons/hr/hr_installer.xml
@@ -27,8 +27,8 @@
-
+
diff --git a/addons/hr/installer.py b/addons/hr/installer.py
index 1d650d814e9..1bd615b8699 100644
--- a/addons/hr/installer.py
+++ b/addons/hr/installer.py
@@ -51,8 +51,7 @@ class hr_installer(osv.osv_memory):
_defaults = {
'hr_holidays': True,
'hr_expense': True,
- }
-
+ }
hr_installer()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/hr/process/hr_process.xml b/addons/hr/process/hr_process.xml
index 5376936afe3..1471fbe5352 100644
--- a/addons/hr/process/hr_process.xml
+++ b/addons/hr/process/hr_process.xml
@@ -51,7 +51,6 @@
-->
-
@@ -60,7 +59,6 @@
-
diff --git a/addons/hr_expense/hr_expense_workflow.xml b/addons/hr_expense/hr_expense_workflow.xml
index cfeee8387ce..2bb0f51e26b 100644
--- a/addons/hr_expense/hr_expense_workflow.xml
+++ b/addons/hr_expense/hr_expense_workflow.xml
@@ -75,14 +75,12 @@
validate
-
refuse
-
@@ -95,21 +93,18 @@
refuse
-
draft
-
invoice
-
@@ -128,7 +123,6 @@
draft
-
diff --git a/addons/hr_expense/process/hr_expense_process.xml b/addons/hr_expense/process/hr_expense_process.xml
index 20d8a60ca1a..bcb9649be4c 100644
--- a/addons/hr_expense/process/hr_expense_process.xml
+++ b/addons/hr_expense/process/hr_expense_process.xml
@@ -1,21 +1,21 @@
-
+
-
+
-
+
-
+
@@ -26,7 +26,7 @@
-
+
@@ -37,7 +37,7 @@
-
+
@@ -48,7 +48,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -70,7 +70,7 @@
-
+
@@ -81,7 +81,7 @@
-
+
@@ -92,96 +92,90 @@
-
+
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
+
-
+
-
+
-
+
-
+
\ No newline at end of file
diff --git a/addons/hr_holidays/hr_holidays_workflow.xml b/addons/hr_holidays/hr_holidays_workflow.xml
index 6dcd55ff162..de2bd9f1131 100644
--- a/addons/hr_holidays/hr_holidays_workflow.xml
+++ b/addons/hr_holidays/hr_holidays_workflow.xml
@@ -77,28 +77,24 @@
validate
(holiday_status_id.double_validation == False)
-
refuse
-
cancel
-
cancel
-
@@ -124,7 +120,6 @@
(holiday_status_id.double_validation == True)
validate
-
diff --git a/addons/hr_holidays/process/hr_holidays_process.xml b/addons/hr_holidays/process/hr_holidays_process.xml
index 2026902dd5c..82285ff1209 100644
--- a/addons/hr_holidays/process/hr_holidays_process.xml
+++ b/addons/hr_holidays/process/hr_holidays_process.xml
@@ -1,21 +1,21 @@
-
-
+
+
-
+
-
+
-
+
@@ -25,7 +25,7 @@
-
+
@@ -36,7 +36,7 @@
-
+
@@ -47,7 +47,7 @@
-
+
@@ -58,7 +58,7 @@
-
+
@@ -69,7 +69,7 @@
-
+
@@ -80,7 +80,7 @@
-
+
@@ -89,91 +89,85 @@
-
-
+
+
-
-
+
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
-
+
-
+
-
+
-
+
-
+
\ No newline at end of file
diff --git a/addons/hr_timesheet_sheet/hr_timesheet_workflow.xml b/addons/hr_timesheet_sheet/hr_timesheet_workflow.xml
index 11af4574a4a..b664fd79c96 100644
--- a/addons/hr_timesheet_sheet/hr_timesheet_workflow.xml
+++ b/addons/hr_timesheet_sheet/hr_timesheet_workflow.xml
@@ -1,21 +1,21 @@
-
+
-
+
Timesheets validation
-
+
-
+
hr_timesheet_sheet.sheet
hr_timesheet_sheet.sheet
True
-
+
new
@@ -42,7 +42,7 @@
write({'state':'done'})
True
-
+
@@ -56,13 +56,11 @@
done
-
cancel
-
diff --git a/addons/hr_timesheet_sheet/process/hr_timesheet_sheet_process.xml b/addons/hr_timesheet_sheet/process/hr_timesheet_sheet_process.xml
index a2bf0aa24e5..7c259016fca 100644
--- a/addons/hr_timesheet_sheet/process/hr_timesheet_sheet_process.xml
+++ b/addons/hr_timesheet_sheet/process/hr_timesheet_sheet_process.xml
@@ -1,21 +1,21 @@
-
-
-
+
-
-
-
+
@@ -24,7 +24,7 @@
-
+
@@ -35,7 +35,7 @@
-
+
@@ -46,7 +46,7 @@
-
+
@@ -68,7 +68,7 @@
-
+
@@ -91,39 +91,32 @@
-
-
-
+
-
-
-
-
-
+
-
-
+
-
-
+
-
@@ -131,58 +124,55 @@
-
+
-
-
+
-
-
+
-
-
-
-
-
+
-
+
-
+
-
+
diff --git a/addons/mail_gateway/mail_gateway_view.xml b/addons/mail_gateway/mail_gateway_view.xml
index 706996ed55a..ab118295db5 100644
--- a/addons/mail_gateway/mail_gateway_view.xml
+++ b/addons/mail_gateway/mail_gateway_view.xml
@@ -135,16 +135,6 @@
-
- Emails
- mailgate.message
- tree,form
- form
- [('history', '=', True)]
-
- {"search_default_user_id":uid}
-
-
Mailgateway Threads
mailgate.thread
@@ -196,18 +186,9 @@
view_id="view_mailgate_message_tree"
/>
-
-
-
-
-
diff --git a/addons/marketing/marketing_view.xml b/addons/marketing/marketing_view.xml
index b96ba8fb7e3..6cd35f3a533 100644
--- a/addons/marketing/marketing_view.xml
+++ b/addons/marketing/marketing_view.xml
@@ -29,10 +29,9 @@
Configure
+
-
-
diff --git a/addons/marketing/marketing_wizard.py b/addons/marketing/marketing_wizard.py
index 8d1a6fa50ed..4b95bbb86da 100644
--- a/addons/marketing/marketing_wizard.py
+++ b/addons/marketing/marketing_wizard.py
@@ -29,10 +29,8 @@ class marketing_installer(osv.osv_memory):
help="Helps you to design templates of emails and integrate them in your different processes."),
'marketing_campaign':fields.boolean('Marketing Campaigns',
help="Helps you to manage marketing campaigns and automate actions and communication steps."),
- 'marketing_campaign_mailchimp':fields.boolean('Mailchimp Integration',
- help="This modules integrate mailchimp.com's service with OpenERP to automate mass mailings."),
'crm_profiling':fields.boolean('Profiling Tools',
- help="Helps you to perform segmentation within partners and design segmentation questionnaires")
+ help="Helps you to perform segmentation of partners and design segmentation questionnaires")
}
marketing_installer()
diff --git a/addons/membership/process/membership_process.xml b/addons/membership/process/membership_process.xml
index 4a6df4c0e03..730f01bd36b 100644
--- a/addons/membership/process/membership_process.xml
+++ b/addons/membership/process/membership_process.xml
@@ -1,21 +1,21 @@
-
+
-
+
-
+
-
+
@@ -25,7 +25,7 @@
-
+
@@ -35,7 +35,7 @@
-
+
@@ -45,7 +45,7 @@
-
+
@@ -56,7 +56,7 @@
-
+
@@ -67,7 +67,7 @@
-
+
@@ -78,62 +78,57 @@
-
+
-
+
-
-
+
-
-
+
-
+
-
-
+
-
-
+
-
-
+
\ No newline at end of file
diff --git a/addons/mrp/__openerp__.py b/addons/mrp/__openerp__.py
index c56466501e0..f267764970a 100644
--- a/addons/mrp/__openerp__.py
+++ b/addons/mrp/__openerp__.py
@@ -85,7 +85,6 @@
],
'demo_xml': [
'mrp_demo.xml',
- 'board_manufacturing_demo.xml'
],
'test': [
'test/mrp_procurement.yml',
diff --git a/addons/mrp/board_manufacturing_demo.xml b/addons/mrp/board_manufacturing_demo.xml
deleted file mode 100644
index af8f07d2871..00000000000
--- a/addons/mrp/board_manufacturing_demo.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
-
-
-
-
diff --git a/addons/mrp/process/procurement_process.xml b/addons/mrp/process/procurement_process.xml
index ca08481d4e4..5b9c8d8f661 100644
--- a/addons/mrp/process/procurement_process.xml
+++ b/addons/mrp/process/procurement_process.xml
@@ -1,7 +1,7 @@
-
+
@@ -14,7 +14,7 @@
-
+
@@ -36,7 +36,7 @@
-
+
@@ -60,7 +60,7 @@
-
+
@@ -128,7 +128,6 @@
-
@@ -137,7 +136,6 @@
-
@@ -146,7 +144,6 @@
-
@@ -155,7 +152,6 @@
-
@@ -164,7 +160,6 @@
-
@@ -173,7 +168,6 @@
-
@@ -182,7 +176,6 @@
-
@@ -191,7 +184,6 @@
-
@@ -200,7 +192,6 @@
-
@@ -209,7 +200,6 @@
-
@@ -218,7 +208,6 @@
-
@@ -227,7 +216,6 @@
-
diff --git a/addons/mrp/process/service_product_process.xml b/addons/mrp/process/service_product_process.xml
index c23ed6e7a65..74353d02e8c 100644
--- a/addons/mrp/process/service_product_process.xml
+++ b/addons/mrp/process/service_product_process.xml
@@ -36,7 +36,6 @@
-->
-
diff --git a/addons/mrp/process/stockable_product_process.xml b/addons/mrp/process/stockable_product_process.xml
index 9dc45f0515f..c845801194b 100644
--- a/addons/mrp/process/stockable_product_process.xml
+++ b/addons/mrp/process/stockable_product_process.xml
@@ -66,7 +66,6 @@
-->
-
@@ -75,7 +74,6 @@
-
diff --git a/addons/mrp_operations/process/mrp_operation_process.xml b/addons/mrp_operations/process/mrp_operation_process.xml
index 2b59b87cfaf..686f59fe27f 100644
--- a/addons/mrp_operations/process/mrp_operation_process.xml
+++ b/addons/mrp_operations/process/mrp_operation_process.xml
@@ -72,7 +72,6 @@
-->
-
@@ -81,7 +80,6 @@
-
@@ -90,7 +88,6 @@
-
@@ -99,7 +96,6 @@
-
diff --git a/addons/mrp_repair/mrp_repair.py b/addons/mrp_repair/mrp_repair.py
index 6cec29650f3..f7a6837aace 100644
--- a/addons/mrp_repair/mrp_repair.py
+++ b/addons/mrp_repair/mrp_repair.py
@@ -679,27 +679,27 @@ class mrp_repair_line(osv.osv, ProductChangeMixin):
"""
if not type:
return {'value': {
- 'location_id': False,
- 'location_dest_id': False
- }
- }
- produc_id = self.pool.get('stock.location').search(cr, uid, [('name','=','Production')])[0]
- if type == 'add':
- stock_id = self.pool.get('stock.location').search(cr, uid, [('name','=','Stock')])[0]
- to_invoice = False
- if guarantee_limit and datetime.strptime(date.today().strftime('%Y-%m-%d'), '%Y-%m-%d') > datetime.strptime(guarantee_limit, '%Y-%m-%d'):
- to_invoice=True
-
- return {'value': {
- 'to_invoice': to_invoice,
- 'location_id': stock_id,
- 'location_dest_id': produc_id
- }
- }
- return {'value': {
- 'to_invoice': False,
- 'location_id': produc_id,
+ 'location_id': False,
'location_dest_id': False
+ }
+ }
+
+ product_id = self.pool.get('stock.location').search(cr, uid, [('name','=','Production')])[0]
+ if type != 'add':
+ return {'value': {
+ 'to_invoice': False,
+ 'location_id': product_id,
+ 'location_dest_id': False
+ }
+ }
+
+ stock_id = self.pool.get('stock.location').search(cr, uid, [('name','=','Stock')])[0]
+ to_invoice = (guarantee_limit and
+ datetime.strptime(guarantee_limit, '%Y-%m-%d') < datetime.now())
+ return {'value': {
+ 'to_invoice': to_invoice,
+ 'location_id': stock_id,
+ 'location_dest_id': product_id
}
}
diff --git a/addons/process/process_view.xml b/addons/process/process_view.xml
index 72cb18499e2..1a5714437b8 100644
--- a/addons/process/process_view.xml
+++ b/addons/process/process_view.xml
@@ -282,9 +282,6 @@
-
-
-
diff --git a/addons/product/process/product_process.xml b/addons/product/process/product_process.xml
index c8f72be4df7..03ce904abad 100644
--- a/addons/product/process/product_process.xml
+++ b/addons/product/process/product_process.xml
@@ -40,7 +40,6 @@
-->
-
diff --git a/addons/product/product_view.xml b/addons/product/product_view.xml
index 45ebaa8ee57..7e9ae7ce45e 100644
--- a/addons/product/product_view.xml
+++ b/addons/product/product_view.xml
@@ -257,11 +257,12 @@
[('parent_id','=',False)]
tree
- Products category opens a tree structure view of your products by category.
+ This is a hyerarchical structure of your product's categories, you can enter a category to browse all products in this category and his children.
diff --git a/addons/profile_tools/installer.py b/addons/profile_tools/installer.py
index 06be50a903f..54fd0602802 100644
--- a/addons/profile_tools/installer.py
+++ b/addons/profile_tools/installer.py
@@ -25,15 +25,13 @@ class misc_tools_installer(osv.osv_memory):
_inherit = 'res.config.installer'
_columns = {
- 'lunch':fields.boolean('Lunch',help='Helps to manage Lunch Orders.'),
- 'subscription':fields.boolean('Recurring Documents',help='Helps to add subscription on documents.'),
- 'survey':fields.boolean('Survey',help='Manages Custom Surveys.'),
- 'idea':fields.boolean('Idea',help='Manages ideas and votes'),
- 'audittrail':fields.boolean('Audit Trail',help="Lets you to track user's operations on specific Objects."),
+ 'lunch':fields.boolean('Lunch',help='A simple module to help you to manage Lunch orders.'),
+ 'subscription':fields.boolean('Recurring Documents',help='Helps to generate automatically recurring documents.'),
+ 'survey':fields.boolean('Survey',help='Allows you to organize surveys.'),
+ 'idea':fields.boolean('Ideas Box',help='Promote ideas of the employees, votes and discussion on best ideas.'),
}
_defaults = {
'lunch': True,
}
-
misc_tools_installer()
diff --git a/addons/profile_tools/misc_tools_installer.xml b/addons/profile_tools/misc_tools_installer.xml
index c9b5f744b77..bc445e7818f 100644
--- a/addons/profile_tools/misc_tools_installer.xml
+++ b/addons/profile_tools/misc_tools_installer.xml
@@ -26,10 +26,9 @@
-
-
-
+
+
diff --git a/addons/project/board_project_demo.xml b/addons/project/board_project_demo.xml
index 6a063405ff3..85bf3140d26 100644
--- a/addons/project/board_project_demo.xml
+++ b/addons/project/board_project_demo.xml
@@ -3,12 +3,9 @@
-
-
-
+ Administrator shortcut
+ Demo user startup menu
+ -->
Don't forget the new development policies.
diff --git a/addons/project/installer.py b/addons/project/installer.py
index 4662ebeda5d..7a147737768 100644
--- a/addons/project/installer.py
+++ b/addons/project/installer.py
@@ -34,14 +34,10 @@ class project_installer(osv.osv_memory):
'hr_timesheet_sheet': fields.boolean('Timesheets',
help="Tracks and helps employees encode and validate timesheets "
"and attendances."),
- 'hr_timesheet_invoice': fields.boolean('Invoice Based on Hours',
- help="Helps generate invoices based on human resources "
- "costs and general expenses."),
+ 'project_timesheet': fields.boolean('Bill Time on Tasks',
+ help="Helps generate invoices based on time spent on tasks, if activated on the project."),
'account_budget': fields.boolean('Budgets',
help="Helps accountants manage analytic and crossover budgets."),
- 'project_messages': fields.boolean('Project Messages',
- help="Lets employees send messages to other members of the "
- "projects they're working on."),
'project_issue': fields.boolean('Issues Tracker',
help="Automatically synchronizes project tasks and crm cases."),
# Methodologies
@@ -50,7 +46,7 @@ class project_installer(osv.osv_memory):
"in the SCRUM methodology."),
'project_gtd': fields.boolean('Getting Things Done',
help="GTD is a methodology to efficiently organise yourself and your tasks. This module fully integrates GTD principle with OpenERP's project management."),
- }
+ }
_defaults={
'project_issue': True,
diff --git a/addons/project/process/task_process.xml b/addons/project/process/task_process.xml
index b3490ce4cf1..1c5fba12596 100644
--- a/addons/project/process/task_process.xml
+++ b/addons/project/process/task_process.xml
@@ -2,20 +2,20 @@
-
-
+
-
-
-
+
@@ -26,7 +26,7 @@
-
+
@@ -37,7 +37,7 @@
-
+
@@ -48,7 +48,7 @@
-
+
@@ -59,77 +59,74 @@
-
-
-
+
-
-
+
-
-
+
-
-
-
-
-
+
-
+
-
+
-
+
-
+
-
+
diff --git a/addons/project/project_installer.xml b/addons/project/project_installer.xml
index 2c22a4b6743..2b46cc0ab5f 100644
--- a/addons/project/project_installer.xml
+++ b/addons/project/project_installer.xml
@@ -27,11 +27,11 @@
-
+
-
+
-
+
diff --git a/addons/project_scrum/process/project_scrum_process.xml b/addons/project_scrum/process/project_scrum_process.xml
index 9700677c100..b5503f0127c 100644
--- a/addons/project_scrum/process/project_scrum_process.xml
+++ b/addons/project_scrum/process/project_scrum_process.xml
@@ -22,7 +22,6 @@
-->
-
diff --git a/addons/project_timesheet/__openerp__.py b/addons/project_timesheet/__openerp__.py
index 021d30da687..e1be86fe661 100644
--- a/addons/project_timesheet/__openerp__.py
+++ b/addons/project_timesheet/__openerp__.py
@@ -30,7 +30,7 @@
""",
'author': 'OpenERP SA',
'website': 'http://www.openerp.com',
- 'depends': ['base', 'project', 'hr_timesheet_sheet', 'hr_timesheet_invoice'],
+ 'depends': ['project', 'hr_timesheet_sheet', 'hr_timesheet_invoice'],
'init_xml': [],
'update_xml': ["security/ir.model.access.csv","process/project_timesheet_process.xml", "report/task_report_view.xml", "project_timesheet_view.xml"],
'demo_xml': [],
diff --git a/addons/project_timesheet/process/project_timesheet_process.xml b/addons/project_timesheet/process/project_timesheet_process.xml
index 4bb6a6de381..aea15d814c1 100644
--- a/addons/project_timesheet/process/project_timesheet_process.xml
+++ b/addons/project_timesheet/process/project_timesheet_process.xml
@@ -43,7 +43,6 @@
-->
-
@@ -52,7 +51,6 @@
-
@@ -61,7 +59,6 @@
-
diff --git a/addons/sale/process/sale_process.xml b/addons/sale/process/sale_process.xml
index b4a54d5afa5..2c61e55c4e4 100644
--- a/addons/sale/process/sale_process.xml
+++ b/addons/sale/process/sale_process.xml
@@ -138,14 +138,6 @@
-
-
-
-
-
-
-
-
@@ -197,7 +189,6 @@
-
@@ -206,7 +197,6 @@
-
diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index fef8f21000f..ad418a567bc 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -423,8 +423,14 @@ class sale_order(osv.osv):
pay_term = order.payment_term.id
else:
pay_term = False
+ invoiced_sale_line_ids = self.pool.get('sale.order.line').search(cr, uid, [('order_id', '=', order.id), ('invoiced', '=', True)], context=context)
+ from_line_invoice_ids = []
+ for invoiced_sale_line_id in self.pool.get('sale.order.line').browse(cr, uid, invoiced_sale_line_ids, context=context):
+ for invoice_line_id in invoiced_sale_line_id.invoice_lines:
+ if invoice_line_id.invoice_id.id not in from_line_invoice_ids:
+ from_line_invoice_ids.append(invoice_line_id.invoice_id.id)
for preinv in order.invoice_ids:
- if preinv.state not in ('cancel',):
+ if preinv.state not in ('cancel',) and preinv.id not in from_line_invoice_ids:
for preline in preinv.invoice_line:
inv_line_id = self.pool.get('account.invoice.line').copy(cr, uid, preline.id, {'invoice_id': False, 'price_unit': -preline.price_unit})
lines.append(inv_line_id)
@@ -471,7 +477,6 @@ class sale_order(osv.osv):
lines = []
for line in o.order_line:
if line.invoiced:
- #raise osv.except_osv(_('Error !'), _('The Sale Order already has some lines invoiced. You should continue the billing process by line.'))
continue
elif (line.state in states):
lines.append(line.id)
diff --git a/addons/sale_crm/process/sale_crm_process.xml b/addons/sale_crm/process/sale_crm_process.xml
index 44f78fcdd55..721508a2ba5 100644
--- a/addons/sale_crm/process/sale_crm_process.xml
+++ b/addons/sale_crm/process/sale_crm_process.xml
@@ -39,7 +39,6 @@
-
@@ -49,7 +48,6 @@
-
@@ -58,7 +56,6 @@
-
@@ -67,7 +64,6 @@
-
diff --git a/addons/sale_crm/wizard/crm_make_sale.py b/addons/sale_crm/wizard/crm_make_sale.py
index ca6c8cb64c8..089a2389703 100644
--- a/addons/sale_crm/wizard/crm_make_sale.py
+++ b/addons/sale_crm/wizard/crm_make_sale.py
@@ -180,10 +180,11 @@ class crm_make_sale(osv.osv_memory):
'partner_id': fields.many2one('res.partner', 'Customer', required=True),
'sale_order_line': fields.one2many('sale.order.make.line', 'opportunity_order_id', 'Product Line'),
'analytic_account': fields.many2one('account.analytic.account', 'Analytic Account'),
- 'close': fields.boolean('Close Case', help='Check this to close the case after having created the sale order.'),
+ 'close': fields.boolean('Close Opportunity', help='Check this to close the opportunity after having created the sale order.'),
}
_defaults = {
'shop_id': _get_shop_id,
+ 'close': lambda *args: 1,
'partner_id': _selectPartner,
}
diff --git a/addons/sale_crm/wizard/crm_make_sale_view.xml b/addons/sale_crm/wizard/crm_make_sale_view.xml
index c6b589145c7..54550a08bf1 100644
--- a/addons/sale_crm/wizard/crm_make_sale_view.xml
+++ b/addons/sale_crm/wizard/crm_make_sale_view.xml
@@ -9,13 +9,13 @@
form
diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml
index a7ef71c9acd..84670ab514b 100644
--- a/addons/stock/stock_view.xml
+++ b/addons/stock/stock_view.xml
@@ -913,7 +913,6 @@
-
diff --git a/addons/test.txt b/addons/test.txt
deleted file mode 100644
index 55e60eb73a8..00000000000
--- a/addons/test.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-this is a test file:
--------------------
-the purpose is to test the buidlbot engine
-
-how to do?
-we simply gonna make several commit in a local branch, and also several commits in the main branch, then merge and see what happens
-
-iii
diff --git a/addons/test2.text b/addons/test2.text
deleted file mode 100644
index 535d2b01d33..00000000000
--- a/addons/test2.text
+++ /dev/null
@@ -1,8 +0,0 @@
-1
-2
-3
-4
-5
-6
-7
-8