diff --git a/addons/account/account_analytic_line.py b/addons/account/account_analytic_line.py
index c42597e785d..70a99adc18e 100644
--- a/addons/account/account_analytic_line.py
+++ b/addons/account/account_analytic_line.py
@@ -29,69 +29,15 @@ import tools
from tools import config
class account_analytic_line(osv.osv):
- _name = 'account.analytic.line'
+ _inherit = 'account.analytic.line'
_description = 'Analytic lines'
-
- def _amount_currency(self, cr, uid, ids, field_name, arg, context={}):
- result = {}
- for rec in self.browse(cr, uid, ids, context):
- cmp_cur_id=rec.company_id.currency_id.id
- aa_cur_id=rec.account_id.currency_id.id
- # Always provide the amount in currency
- if cmp_cur_id != aa_cur_id:
- cur_obj = self.pool.get('res.currency')
- ctx = {}
- if rec.date and rec.amount:
- ctx['date'] = rec.date
- result[rec.id] = cur_obj.compute(cr, uid, rec.company_id.currency_id.id,
- rec.account_id.currency_id.id, rec.amount,
- context=ctx)
- else:
- result[rec.id]=rec.amount
- return result
-
- def _get_account_currency(self, cr, uid, ids, field_name, arg, context={}):
- result = {}
- for rec in self.browse(cr, uid, ids, context):
- # Always provide second currency
- result[rec.id] = (rec.account_id.currency_id.id,rec.account_id.currency_id.code)
- return result
-
- def _get_account_line(self, cr, uid, ids, context={}):
- aac_ids = {}
- for acc in self.pool.get('account.analytic.account').browse(cr, uid, ids):
- aac_ids[acc.id] = True
- aal_ids = []
- if aac_ids:
- aal_ids = self.pool.get('account.analytic.line').search(cr, uid, [('account_id','in',aac_ids.keys())], context=context)
- return aal_ids
-
_columns = {
- 'name' : fields.char('Description', size=256, required=True),
- 'date' : fields.date('Date', required=True),
- 'amount' : fields.float('Amount', required=True, help='Calculated by multiplying the quantity and the price given in the Product\'s cost price.'),
- 'unit_amount' : fields.float('Quantity', help='Specifies the amount of quantity to count.'),
'product_uom_id' : fields.many2one('product.uom', 'UoM'),
'product_id' : fields.many2one('product.product', 'Product'),
- 'account_id' : fields.many2one('account.analytic.account', 'Analytic Account', required=True, ondelete='cascade', select=True),
'general_account_id' : fields.many2one('account.account', 'General Account', required=True, ondelete='cascade'),
'move_id' : fields.many2one('account.move.line', 'Move Line', ondelete='cascade', select=True),
'journal_id' : fields.many2one('account.analytic.journal', 'Analytic Journal', required=True, ondelete='cascade', select=True),
'code' : fields.char('Code', size=8),
- 'user_id' : fields.many2one('res.users', 'User',),
- 'currency_id': fields.function(_get_account_currency, method=True, type='many2one', relation='res.currency', string='Account currency',
- store={
- 'account.analytic.account': (_get_account_line, ['company_id'], 50),
- 'account.analytic.line': (lambda self,cr,uid,ids,c={}: ids, ['amount','unit_amount'],10),
- },
- help="The related account currency if not equal to the company one."),
- 'company_id': fields.many2one('res.company','Company',required=True),
- 'amount_currency': fields.function(_amount_currency, method=True, digits_compute= dp.get_precision('Account'), string='Amount currency',
- store={
- 'account.analytic.account': (_get_account_line, ['company_id'], 50),
- 'account.analytic.line': (lambda self,cr,uid,ids,c={}: ids, ['amount','unit_amount'],10),
- },
- help="The amount expressed in the related account currency if not equal to the company one."),
'ref': fields.char('Ref.', size=64),
}
_defaults = {
diff --git a/addons/account/process/customer_invoice_process.xml b/addons/account/process/customer_invoice_process.xml
old mode 100755
new mode 100644
diff --git a/addons/account/process/statement_process.xml b/addons/account/process/statement_process.xml
old mode 100755
new mode 100644
diff --git a/addons/account/process/supplier_invoice_process.xml b/addons/account/process/supplier_invoice_process.xml
old mode 100755
new mode 100644
diff --git a/addons/account/report/account_balance_landscape.py b/addons/account/report/account_balance_landscape.py
old mode 100755
new mode 100644
diff --git a/addons/account/report/compare_account_balance.py b/addons/account/report/compare_account_balance.py
old mode 100755
new mode 100644
diff --git a/addons/account/report/partner_balance.py b/addons/account/report/partner_balance.py
old mode 100755
new mode 100644
diff --git a/addons/account/wizard/account_aged_trial_balance.py b/addons/account/wizard/account_aged_trial_balance.py
old mode 100755
new mode 100644
diff --git a/addons/account/wizard/account_compare_account_balance_report.py b/addons/account/wizard/account_compare_account_balance_report.py
old mode 100755
new mode 100644
diff --git a/addons/account/wizard/account_third_party_ledger.py b/addons/account/wizard/account_third_party_ledger.py
old mode 100755
new mode 100644
diff --git a/addons/account/wizard/account_vat.py b/addons/account/wizard/account_vat.py
old mode 100755
new mode 100644
diff --git a/addons/account_report/account_report.xml b/addons/account_report/account_report.xml
old mode 100755
new mode 100644
diff --git a/addons/account_voucher/__init__.py b/addons/account_voucher/__init__.py
old mode 100755
new mode 100644
diff --git a/addons/account_voucher/__openerp__.py b/addons/account_voucher/__openerp__.py
old mode 100755
new mode 100644
diff --git a/addons/account_voucher/account_report.xml b/addons/account_voucher/account_report.xml
old mode 100755
new mode 100644
diff --git a/addons/account_voucher/account_view.xml b/addons/account_voucher/account_view.xml
old mode 100755
new mode 100644
diff --git a/addons/account_voucher/report/__init__.py b/addons/account_voucher/report/__init__.py
old mode 100755
new mode 100644
diff --git a/addons/account_voucher/report/report_voucher.py b/addons/account_voucher/report/report_voucher.py
old mode 100755
new mode 100644
diff --git a/addons/account_voucher/report/report_voucher_amount.py b/addons/account_voucher/report/report_voucher_amount.py
old mode 100755
new mode 100644
diff --git a/addons/account_voucher/report/rml_parse.py b/addons/account_voucher/report/rml_parse.py
old mode 100755
new mode 100644
diff --git a/addons/account_voucher/voucher.py b/addons/account_voucher/voucher.py
old mode 100755
new mode 100644
diff --git a/addons/account_voucher/voucher_view.xml b/addons/account_voucher/voucher_view.xml
old mode 100755
new mode 100644
diff --git a/addons/analytic/project.py b/addons/analytic/project.py
index 9194bd9906b..2ed3fe5a67d 100644
--- a/addons/analytic/project.py
+++ b/addons/analytic/project.py
@@ -22,8 +22,8 @@
import time
import operator
-from osv import fields
-from osv import osv
+from osv import fields, osv
+import decimal_precision as dp
#
# Object definition
@@ -282,3 +282,70 @@ class account_analytic_account(osv.osv):
account_analytic_account()
+
+class account_analytic_line(osv.osv):
+ _name = 'account.analytic.line'
+ _description = 'Analytic lines'
+ def _amount_currency(self, cr, uid, ids, field_name, arg, context={}):
+ result = {}
+ for rec in self.browse(cr, uid, ids, context):
+ cmp_cur_id=rec.company_id.currency_id.id
+ aa_cur_id=rec.account_id.currency_id.id
+ # Always provide the amount in currency
+ if cmp_cur_id != aa_cur_id:
+ cur_obj = self.pool.get('res.currency')
+ ctx = {}
+ if rec.date and rec.amount:
+ ctx['date'] = rec.date
+ result[rec.id] = cur_obj.compute(cr, uid, rec.company_id.currency_id.id,
+ rec.account_id.currency_id.id, rec.amount,
+ context=ctx)
+ else:
+ result[rec.id]=rec.amount
+ return result
+
+ def _get_account_currency(self, cr, uid, ids, field_name, arg, context={}):
+ result = {}
+ for rec in self.browse(cr, uid, ids, context):
+ # Always provide second currency
+ result[rec.id] = (rec.account_id.currency_id.id,rec.account_id.currency_id.code)
+ return result
+ def _get_account_line(self, cr, uid, ids, context={}):
+ aac_ids = {}
+ for acc in self.pool.get('account.analytic.account').browse(cr, uid, ids):
+ aac_ids[acc.id] = True
+ aal_ids = []
+ if aac_ids:
+ aal_ids = self.pool.get('account.analytic.line').search(cr, uid, [('account_id','in',aac_ids.keys())], context=context)
+ return aal_ids
+
+ _columns = {
+ 'name' : fields.char('Description', size=256, required=True),
+ 'date' : fields.date('Date', required=True),
+ 'amount' : fields.float('Amount', required=True, help='Calculated by multiplying the quantity and the price given in the Product\'s cost price.'),
+ 'unit_amount' : fields.float('Quantity', help='Specifies the amount of quantity to count.'),
+ 'account_id' : fields.many2one('account.analytic.account', 'Analytic Account', required=True, ondelete='cascade', select=True),
+ 'user_id' : fields.many2one('res.users', 'User',),
+ 'company_id': fields.many2one('res.company','Company',required=True),
+ 'currency_id': fields.function(_get_account_currency, method=True, type='many2one', relation='res.currency', string='Account currency',
+ store={
+ 'account.analytic.account': (_get_account_line, ['company_id'], 50),
+ 'account.analytic.line': (lambda self,cr,uid,ids,c={}: ids, ['amount','unit_amount'],10),
+ },
+ help="The related account currency if not equal to the company one."),
+ 'amount_currency': fields.function(_amount_currency, method=True, digits_compute= dp.get_precision('Account'), string='Amount currency',
+ store={
+ 'account.analytic.account': (_get_account_line, ['company_id'], 50),
+ 'account.analytic.line': (lambda self,cr,uid,ids,c={}: ids, ['amount','unit_amount'],10),
+ },
+ help="The amount expressed in the related account currency if not equal to the company one."),
+
+ }
+ _defaults = {
+ 'date': lambda *a: time.strftime('%Y-%m-%d'),
+ 'company_id': lambda self,cr,uid,c: self.pool.get('res.company')._company_default_get(cr, uid, 'account.analytic.line', c),
+ }
+ _order = 'date'
+account_analytic_line()
+
+
diff --git a/addons/base_calendar/__init__.py b/addons/base_calendar/__init__.py
old mode 100755
new mode 100644
diff --git a/addons/base_calendar/__openerp__.py b/addons/base_calendar/__openerp__.py
old mode 100755
new mode 100644
diff --git a/addons/base_calendar/base_calendar_data.xml b/addons/base_calendar/base_calendar_data.xml
old mode 100755
new mode 100644
diff --git a/addons/base_calendar/base_calendar_view.xml b/addons/base_calendar/base_calendar_view.xml
old mode 100755
new mode 100644
diff --git a/addons/base_calendar/wizard/__init__.py b/addons/base_calendar/wizard/__init__.py
old mode 100755
new mode 100644
diff --git a/addons/base_calendar/wizard/base_calendar_invite_attendee.py b/addons/base_calendar/wizard/base_calendar_invite_attendee.py
old mode 100755
new mode 100644
diff --git a/addons/base_calendar/wizard/calendar_event_edit_all.py b/addons/base_calendar/wizard/calendar_event_edit_all.py
old mode 100755
new mode 100644
diff --git a/addons/base_calendar/wizard/calendar_event_edit_all_view.xml b/addons/base_calendar/wizard/calendar_event_edit_all_view.xml
old mode 100755
new mode 100644
diff --git a/addons/base_contact/process/base_contact_process.xml b/addons/base_contact/process/base_contact_process.xml
old mode 100755
new mode 100644
diff --git a/addons/caldav/DAV/davcopy.py b/addons/caldav/DAV/davcopy.py
old mode 100755
new mode 100644
diff --git a/addons/caldav/DAV/davmove.py b/addons/caldav/DAV/davmove.py
old mode 100755
new mode 100644
diff --git a/addons/caldav/DAV/delete.py b/addons/caldav/DAV/delete.py
old mode 100755
new mode 100644
diff --git a/addons/caldav/DAV/errors.py b/addons/caldav/DAV/errors.py
old mode 100755
new mode 100644
diff --git a/addons/caldav/DAV/propfind.py b/addons/caldav/DAV/propfind.py
old mode 100755
new mode 100644
diff --git a/addons/caldav/DAV/utils.py b/addons/caldav/DAV/utils.py
old mode 100755
new mode 100644
diff --git a/addons/caldav/wizard/__init__.py b/addons/caldav/wizard/__init__.py
old mode 100755
new mode 100644
diff --git a/addons/crm/crm_opportunity_view.xml b/addons/crm/crm_opportunity_view.xml
index 4bdc0d90158..9ce2a89ad34 100644
--- a/addons/crm/crm_opportunity_view.xml
+++ b/addons/crm/crm_opportunity_view.xml
@@ -190,10 +190,13 @@
-
+
diff --git a/addons/crm/process/crm_configuration_process.xml b/addons/crm/process/crm_configuration_process.xml
old mode 100755
new mode 100644
diff --git a/addons/crm/wizard/crm_forward_to_partner.py b/addons/crm/wizard/crm_forward_to_partner.py
index 3af1e592a9f..413747739c2 100644
--- a/addons/crm/wizard/crm_forward_to_partner.py
+++ b/addons/crm/wizard/crm_forward_to_partner.py
@@ -157,4 +157,129 @@ class crm_lead_forward_to_partner(osv.osv_memory):
return res
crm_lead_forward_to_partner()
+
+class crm_opportunity_forward_to_partner(osv.osv_memory):
+ _name = 'crm.opportunity.forward.to.partner'
+
+ _columns = {
+ 'partner_id' : fields.many2one('res.partner', 'Partner'),
+ 'address_id' : fields.many2one('res.partner.address', 'Address'),
+ 'email_from' : fields.char('From', required=True, size=128),
+ 'email_to' : fields.char('To', required=True, size=128),
+ 'subject' : fields.char('Subject', required=True, size=128),
+ 'message' : fields.text('Message', required=True),
+ }
+
+ def on_change_partner(self, cr, uid, ids, partner_id):
+ return {
+ 'domain' : {
+ 'address_id' : partner_id and "[('partner_id', '=', partner_id)]" or "[]",
+ }
+ }
+
+ def on_change_address(self, cr, uid, ids, address_id):
+ email = ''
+ if address_id:
+ email = self.pool.get('res.partner.address').browse(cr, uid, address_id).email
+
+ return {
+ 'value' : {
+ 'email_to' : email,
+ }
+ }
+
+ def action_cancel(self, cr, uid, ids, context=None):
+ return {'type' : 'ir.actions.act_window_close'}
+
+ def action_forward(self, cr, uid, ids, context=None):
+ """
+ Forward the opportunity to a partner
+ """
+ if context is None:
+ context = {}
+
+ res_id = context.get('active_id', False)
+
+ if not res_id:
+ return {}
+
+ this = self.browse(cr, uid, ids[0], context=context)
+
+ hist_obj = self.pool.get('crm.case.history')
+ smtp_pool = self.pool.get('email.smtpclient')
+ case_pool = self.pool.get('crm.opportunity')
+ case = case_pool.browse(cr, uid, res_id, context=context)
+
+ emails = [this.email_to]
+ body = case_pool.format_body(this.message)
+ email_from = this.email_from or False
+ case_pool._history(cr, uid, [case], _('Forward'), history=True, email=this.email_to, details=body, email_from=email_from)
+
+ flag = False
+ if case.section_id and case.section_id.server_id:
+ flag = smtp_pool.send_email(
+ cr=cr,
+ uid=uid,
+ server_id=case.section_id.server_id.id,
+ emailto=emails,
+ subject=this.subject,
+ body="
%s
" % body,
+ )
+ else:
+ flag = tools.email_send(
+ email_from,
+ emails,
+ this.subject,
+ body,
+ )
+
+ return {}
+
+ def default_get(self, cr, uid, fields, context=None):
+ """
+ This function gets default values
+ """
+ if context is None:
+ context = {}
+
+ active_ids = context.get('active_ids')
+ if not active_ids:
+ return {}
+
+ opportunity_proxy = self.pool.get('crm.opportunity')
+
+ opportunity = opportunity_proxy.browse(cr, uid, active_ids[0], context=context)
+
+ pa = opportunity.partner_address_id
+ message = [
+ "Partner: %s" % (opportunity.partner_id.name_get()[0][1]),
+ "Contact: %s" % (pa.name),
+ "Title: %s" % (pa.title),
+ "Function: %s" % (pa.function and pa.function.name_get()[0][1] or ''),
+ "Street: %s" % (pa.street),
+ "Street2: %s" % (pa.street2),
+ "Zip: %s" % (pa.zip),
+ "City: %s" % (pa.city),
+ "Country: %s" % (pa.country_id and pa.country_id.name_get()[0][1] or ''),
+ "State: %s" % (pa.state_id and pa.state_id.name_get()[0][1] or ''),
+ "Email: %s" % (pa.email),
+ "Phone: %s" % (pa.phone),
+ "Fax: %s" % (pa.fax),
+ "Mobile: %s" % (pa.mobile),
+ ]
+
+ user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
+ email_from = ''
+ if user.address_id and user.address_id.email:
+ email_from = "%s <%s>" % (user.name, user.address_id.email)
+
+ res = {
+ 'email_from' : email_from,
+ 'subject' : '[Opportunity-Forward:%06d] %s' % (opportunity.id, opportunity.name),
+ 'message' : "\n".join(message + ['---']),
+ }
+
+ return res
+
+crm_opportunity_forward_to_partner()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/crm/wizard/crm_forward_to_partner_view.xml b/addons/crm/wizard/crm_forward_to_partner_view.xml
index 15a75ca3551..8f238333a29 100644
--- a/addons/crm/wizard/crm_forward_to_partner_view.xml
+++ b/addons/crm/wizard/crm_forward_to_partner_view.xml
@@ -34,5 +34,39 @@
form
new
+
+
+ crm_opportunity_forward_to_partner
+ crm.opportunity.forward.to.partner
+ form
+
+
+
+
+
+
+ Forward to Partner
+ crm.opportunity.forward.to.partner
+ form
+ form
+ new
+
diff --git a/addons/document/test_cindex.py b/addons/document/test_cindex.py
old mode 100755
new mode 100644
diff --git a/addons/document_webdav/DAV/davcopy.py b/addons/document_webdav/DAV/davcopy.py
old mode 100755
new mode 100644
diff --git a/addons/document_webdav/DAV/davmove.py b/addons/document_webdav/DAV/davmove.py
old mode 100755
new mode 100644
diff --git a/addons/document_webdav/DAV/delete.py b/addons/document_webdav/DAV/delete.py
old mode 100755
new mode 100644
diff --git a/addons/document_webdav/DAV/errors.py b/addons/document_webdav/DAV/errors.py
old mode 100755
new mode 100644
diff --git a/addons/document_webdav/DAV/propfind.py b/addons/document_webdav/DAV/propfind.py
old mode 100755
new mode 100644
diff --git a/addons/document_webdav/DAV/utils.py b/addons/document_webdav/DAV/utils.py
old mode 100755
new mode 100644
diff --git a/addons/hr/hr.py b/addons/hr/hr.py
old mode 100755
new mode 100644
diff --git a/addons/hr/process/hr_process.xml b/addons/hr/process/hr_process.xml
old mode 100755
new mode 100644
diff --git a/addons/hr_expense/process/hr_expense_process.xml b/addons/hr_expense/process/hr_expense_process.xml
old mode 100755
new mode 100644
diff --git a/addons/hr_holidays/hr_holidays.py b/addons/hr_holidays/hr_holidays.py
old mode 100755
new mode 100644
diff --git a/addons/hr_holidays/process/hr_holidays_process.xml b/addons/hr_holidays/process/hr_holidays_process.xml
old mode 100755
new mode 100644
diff --git a/addons/hr_timesheet/process/hr_timesheet_process.xml b/addons/hr_timesheet/process/hr_timesheet_process.xml
old mode 100755
new mode 100644
diff --git a/addons/hr_timesheet_sheet/process/hr_timesheet_sheet_process.xml b/addons/hr_timesheet_sheet/process/hr_timesheet_sheet_process.xml
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/__init__.py b/addons/l10n_ch/__init__.py
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/__openerp__.py b/addons/l10n_ch/__openerp__.py
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/account_invoice.xml b/addons/l10n_ch/account_invoice.xml
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/account_journal_view.xml b/addons/l10n_ch/account_journal_view.xml
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/account_move_line.py b/addons/l10n_ch/account_move_line.py
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/bank.py b/addons/l10n_ch/bank.py
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/bank_ch.xml b/addons/l10n_ch/bank_ch.xml
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/bank_view.xml b/addons/l10n_ch/bank_view.xml
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/bvr_report.xml b/addons/l10n_ch/bvr_report.xml
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/bvr_view.xml b/addons/l10n_ch/bvr_view.xml
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/bvr_wizard.xml b/addons/l10n_ch/bvr_wizard.xml
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/company.py b/addons/l10n_ch/company.py
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/company_view.xml b/addons/l10n_ch/company_view.xml
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/demo/dta_demo.xml b/addons/l10n_ch/demo/dta_demo.xml
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/demo/vaudtax_data_demo.xml b/addons/l10n_ch/demo/vaudtax_data_demo.xml
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/dta.py b/addons/l10n_ch/dta.py
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/dta_data.xml b/addons/l10n_ch/dta_data.xml
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/dta_view.xml b/addons/l10n_ch/dta_view.xml
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/dta_wizard.xml b/addons/l10n_ch/dta_wizard.xml
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/invoice.py b/addons/l10n_ch/invoice.py
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/partner.py b/addons/l10n_ch/partner.py
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/payment.py b/addons/l10n_ch/payment.py
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/report/__init__.py b/addons/l10n_ch/report/__init__.py
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/report/bvr.py b/addons/l10n_ch/report/bvr.py
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/vaudtax_data.xml b/addons/l10n_ch/vaudtax_data.xml
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/wizard/__init__.py b/addons/l10n_ch/wizard/__init__.py
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/wizard/bvr_import.py b/addons/l10n_ch/wizard/bvr_import.py
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/wizard/dta_wizard.py b/addons/l10n_ch/wizard/dta_wizard.py
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/wizard/journal_config.py b/addons/l10n_ch/wizard/journal_config.py
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/wizard/wizard_bvr.py b/addons/l10n_ch/wizard/wizard_bvr.py
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch/zip_code_default.xml b/addons/l10n_ch/zip_code_default.xml
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch_chart_c2c_pcg/tax_template_view.xml b/addons/l10n_ch_chart_c2c_pcg/tax_template_view.xml
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch_chart_c2c_pcg/vat.xml b/addons/l10n_ch_chart_c2c_pcg/vat.xml
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch_chart_c2c_pcg/wizard.xml b/addons/l10n_ch_chart_c2c_pcg/wizard.xml
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch_chart_c2c_pcg/wizard/__init__.py b/addons/l10n_ch_chart_c2c_pcg/wizard/__init__.py
old mode 100755
new mode 100644
diff --git a/addons/l10n_ch_chart_c2c_pcg/wizard/config.py b/addons/l10n_ch_chart_c2c_pcg/wizard/config.py
old mode 100755
new mode 100644
diff --git a/addons/l10n_chart_uk_minimal/account_chart.xml b/addons/l10n_chart_uk_minimal/account_chart.xml
old mode 100755
new mode 100644
diff --git a/addons/l10n_chart_uk_minimal/account_tax.xml b/addons/l10n_chart_uk_minimal/account_tax.xml
old mode 100755
new mode 100644
diff --git a/addons/membership/process/membership_process.xml b/addons/membership/process/membership_process.xml
old mode 100755
new mode 100644
diff --git a/addons/mrp/process/procurement_process.xml b/addons/mrp/process/procurement_process.xml
old mode 100755
new mode 100644
diff --git a/addons/mrp_operations/report/__init__.py b/addons/mrp_operations/report/__init__.py
old mode 100755
new mode 100644
diff --git a/addons/mrp_operations/report/mrp_code_barcode.py b/addons/mrp_operations/report/mrp_code_barcode.py
old mode 100755
new mode 100644
diff --git a/addons/mrp_operations/report/mrp_wc_barcode.py b/addons/mrp_operations/report/mrp_wc_barcode.py
old mode 100755
new mode 100644
diff --git a/addons/olap/__init__.py b/addons/olap/__init__.py
old mode 100755
new mode 100644
diff --git a/addons/olap/cli/tinybi.py b/addons/olap/cli/tinybi.py
old mode 100755
new mode 100644
diff --git a/addons/olap/cube/__init__.py b/addons/olap/cube/__init__.py
old mode 100755
new mode 100644
diff --git a/addons/olap/cube/agregator.py b/addons/olap/cube/agregator.py
old mode 100755
new mode 100644
diff --git a/addons/olap/cube/axis.py b/addons/olap/cube/axis.py
old mode 100755
new mode 100644
diff --git a/addons/olap/cube/axis_map.py b/addons/olap/cube/axis_map.py
old mode 100755
new mode 100644
diff --git a/addons/olap/cube/common.py b/addons/olap/cube/common.py
old mode 100755
new mode 100644
diff --git a/addons/olap/cube/cross.py b/addons/olap/cube/cross.py
old mode 100755
new mode 100644
diff --git a/addons/olap/cube/cube.py b/addons/olap/cube/cube.py
old mode 100755
new mode 100644
diff --git a/addons/olap/cube/datatype.py b/addons/olap/cube/datatype.py
old mode 100755
new mode 100644
diff --git a/addons/olap/cube/formatstring.py b/addons/olap/cube/formatstring.py
old mode 100755
new mode 100644
diff --git a/addons/olap/cube/level.py b/addons/olap/cube/level.py
old mode 100755
new mode 100644
diff --git a/addons/olap/cube/levels/__init__.py b/addons/olap/cube/levels/__init__.py
old mode 100755
new mode 100644
diff --git a/addons/olap/cube/levels/level_date.py b/addons/olap/cube/levels/level_date.py
old mode 100755
new mode 100644
diff --git a/addons/olap/cube/levels/level_interface.py b/addons/olap/cube/levels/level_interface.py
old mode 100755
new mode 100644
diff --git a/addons/olap/cube/levels/level_normal.py b/addons/olap/cube/levels/level_normal.py
old mode 100755
new mode 100644
diff --git a/addons/olap/cube/mdx_input/__init__.py b/addons/olap/cube/mdx_input/__init__.py
old mode 100755
new mode 100644
diff --git a/addons/olap/cube/mdx_input/mdx_input.py b/addons/olap/cube/mdx_input/mdx_input.py
old mode 100755
new mode 100644
diff --git a/addons/olap/cube/mdx_operator.py b/addons/olap/cube/mdx_operator.py
old mode 100755
new mode 100644
diff --git a/addons/olap/cube/mdx_output/__init__.py b/addons/olap/cube/mdx_output/__init__.py
old mode 100755
new mode 100644
diff --git a/addons/olap/cube/mdx_output/mdx_output.py b/addons/olap/cube/mdx_output/mdx_output.py
old mode 100755
new mode 100644
diff --git a/addons/olap/cube/mdx_parser.py b/addons/olap/cube/mdx_parser.py
old mode 100755
new mode 100644
diff --git a/addons/olap/cube/measure.py b/addons/olap/cube/measure.py
old mode 100755
new mode 100644
diff --git a/addons/olap/cube/query.py b/addons/olap/cube/query.py
old mode 100755
new mode 100644
diff --git a/addons/olap/cube/slicer.py b/addons/olap/cube/slicer.py
old mode 100755
new mode 100644
diff --git a/addons/olap/data/olap_cube_workflow.xml b/addons/olap/data/olap_cube_workflow.xml
old mode 100755
new mode 100644
diff --git a/addons/olap/data/olap_data.xml b/addons/olap/data/olap_data.xml
old mode 100755
new mode 100644
diff --git a/addons/olap/data/olap_demo.xml b/addons/olap/data/olap_demo.xml
old mode 100755
new mode 100644
diff --git a/addons/olap/data/olap_fact_view.xml b/addons/olap/data/olap_fact_view.xml
old mode 100755
new mode 100644
diff --git a/addons/olap/data/olap_security.xml b/addons/olap/data/olap_security.xml
old mode 100755
new mode 100644
diff --git a/addons/olap/data/olap_view.xml b/addons/olap/data/olap_view.xml
old mode 100755
new mode 100644
diff --git a/addons/olap/data/olap_wizard.xml b/addons/olap/data/olap_wizard.xml
old mode 100755
new mode 100644
diff --git a/addons/olap/wizard/__init__.py b/addons/olap/wizard/__init__.py
old mode 100755
new mode 100644
diff --git a/addons/olap/wizard/wizard_load_configured_table.py b/addons/olap/wizard/wizard_load_configured_table.py
old mode 100755
new mode 100644
diff --git a/addons/olap/wizard/wizard_load_data.py b/addons/olap/wizard/wizard_load_data.py
old mode 100755
new mode 100644
diff --git a/addons/olap/wizard/wizard_query_builder.py b/addons/olap/wizard/wizard_query_builder.py
old mode 100755
new mode 100644
diff --git a/addons/olap/wizard/wizard_test_connection.py b/addons/olap/wizard/wizard_test_connection.py
old mode 100755
new mode 100644
diff --git a/addons/olap_crm/__init__.py b/addons/olap_crm/__init__.py
old mode 100755
new mode 100644
diff --git a/addons/olap_crm/olap_crm.xml b/addons/olap_crm/olap_crm.xml
old mode 100755
new mode 100644
diff --git a/addons/olap_crm/olap_data.xml b/addons/olap_crm/olap_data.xml
old mode 100755
new mode 100644
diff --git a/addons/olap_extract/__init__.py b/addons/olap_extract/__init__.py
old mode 100755
new mode 100644
diff --git a/addons/olap_extract/olap_extract_wizard.xml b/addons/olap_extract/olap_extract_wizard.xml
old mode 100755
new mode 100644
diff --git a/addons/olap_extract/wizard_olap_extract.py b/addons/olap_extract/wizard_olap_extract.py
old mode 100755
new mode 100644
diff --git a/addons/olap_sale/__init__.py b/addons/olap_sale/__init__.py
old mode 100755
new mode 100644
diff --git a/addons/olap_sale/olap_data.xml b/addons/olap_sale/olap_data.xml
old mode 100755
new mode 100644
diff --git a/addons/product/process/product_process.xml b/addons/product/process/product_process.xml
old mode 100755
new mode 100644
diff --git a/addons/project/process/task_process.xml b/addons/project/process/task_process.xml
old mode 100755
new mode 100644
diff --git a/addons/project_issue/__init__.py b/addons/project_issue/__init__.py
old mode 100755
new mode 100644
diff --git a/addons/project_issue/__openerp__.py b/addons/project_issue/__openerp__.py
old mode 100755
new mode 100644
diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py
old mode 100755
new mode 100644
diff --git a/addons/project_issue/project_issue_data.xml b/addons/project_issue/project_issue_data.xml
old mode 100755
new mode 100644
diff --git a/addons/project_issue/project_issue_demo.xml b/addons/project_issue/project_issue_demo.xml
old mode 100755
new mode 100644
diff --git a/addons/project_issue/project_issue_menu.xml b/addons/project_issue/project_issue_menu.xml
old mode 100755
new mode 100644
diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml
old mode 100755
new mode 100644
diff --git a/addons/project_issue/report/__init__.py b/addons/project_issue/report/__init__.py
old mode 100755
new mode 100644
diff --git a/addons/project_issue/report/project_issue_report.py b/addons/project_issue/report/project_issue_report.py
old mode 100755
new mode 100644
diff --git a/addons/project_issue/report/project_issue_report_view.xml b/addons/project_issue/report/project_issue_report_view.xml
old mode 100755
new mode 100644
diff --git a/addons/project_issue/security/project_issue_security.xml b/addons/project_issue/security/project_issue_security.xml
old mode 100755
new mode 100644
diff --git a/addons/project_mrp/process/project_mrp_process.xml b/addons/project_mrp/process/project_mrp_process.xml
old mode 100755
new mode 100644
diff --git a/addons/purchase/process/purchase_process.xml b/addons/purchase/process/purchase_process.xml
old mode 100755
new mode 100644
diff --git a/addons/resource/__init__.py b/addons/resource/__init__.py
old mode 100755
new mode 100644
diff --git a/addons/resource/__openerp__.py b/addons/resource/__openerp__.py
old mode 100755
new mode 100644
diff --git a/addons/resource/faces/task.py b/addons/resource/faces/task.py
old mode 100755
new mode 100644
diff --git a/addons/resource/resource.py b/addons/resource/resource.py
old mode 100755
new mode 100644
diff --git a/addons/resource/resource_view.xml b/addons/resource/resource_view.xml
old mode 100755
new mode 100644
diff --git a/addons/sale/process/sale_process.xml b/addons/sale/process/sale_process.xml
old mode 100755
new mode 100644
diff --git a/addons/sale_crm/process/sale_crm_process.xml b/addons/sale_crm/process/sale_crm_process.xml
old mode 100755
new mode 100644
diff --git a/addons/scrum/process/scrum_process.xml b/addons/scrum/process/scrum_process.xml
old mode 100755
new mode 100644
diff --git a/addons/stock/wizard/stock_location_product.py b/addons/stock/wizard/stock_location_product.py
old mode 100755
new mode 100644
diff --git a/addons/survey/report/__init__.py b/addons/survey/report/__init__.py
old mode 100755
new mode 100644
diff --git a/addons/survey/report/survey_analysis_report.py b/addons/survey/report/survey_analysis_report.py
old mode 100755
new mode 100644
diff --git a/addons/survey/wizard/__init__.py b/addons/survey/wizard/__init__.py
old mode 100755
new mode 100644