diff --git a/addons/account/account.py b/addons/account/account.py
index 84cb66e9acd..26a3e6583de 100644
--- a/addons/account/account.py
+++ b/addons/account/account.py
@@ -36,6 +36,7 @@ from tools.misc import currency
import mx.DateTime
from mx.DateTime import RelativeDateTime, now, DateTime, localtime
+
class account_payment_term(osv.osv):
_name = "account.payment.term"
_description = "Payment Term"
@@ -1541,3 +1542,70 @@ class account_subscription_line(osv.osv):
account_subscription_line()
+class account_config_fiscalyear(osv.osv_memory):
+ _name = 'account.config.fiscalyear'
+ _columns = {
+ 'name':fields.char('Name', required=True,size=64),
+ 'code':fields.char('Code', required=True,size=64),
+ 'date1': fields.date('Start of period', required=True),
+ 'date2': fields.date('End of period', required=True),
+ }
+ _defaults = {
+ 'date1': lambda *a: time.strftime('%Y-01-01'),
+ 'date2': lambda *a: time.strftime('%Y-%m-%d'),
+ }
+ def action_create(self, cr, uid,ids, context=None):
+ res=self.read(cr,uid,ids)[0]
+ if 'date1' in res and 'date2' in res:
+ res_obj = self.pool.get('account.fiscalyear')
+ start_date=res['date1']
+ end_date=res['date2']
+ name=res['name']#DateTime.strptime(start_date, '%Y-%m-%d').strftime('%m.%Y') + '-' + DateTime.strptime(end_date, '%Y-%m-%d').strftime('%m.%Y')
+ vals={
+ 'name':name,
+ 'code':name,
+ 'date_start':start_date,
+ 'date_stop':end_date,
+ }
+ new_id=res_obj.create(cr, uid, vals, context=context)
+ return {
+ 'view_type': 'form',
+ 'res_model': 'ir.module.module.configuration.wizard',
+ 'type': 'ir.actions.act_window',
+ 'target':'new',
+
+ }
+
+account_config_fiscalyear()
+
+
+class account_config_journal_bank_accounts(osv.osv_memory):
+ _name='account.config.journal.bank.account'
+ _columns = {
+ 'name':fields.char('Journal Name', size=64,required=True),
+ 'bank_account_id':fields.many2one('account.account', 'Bank Account', required=True, domain=[('type','=','cash')]),
+ 'view_id':fields.many2one('account.journal.view', 'Journal view', required=True),
+ 'sequence_id':fields.many2one('ir.sequence', 'Sequence', required=True),
+ }
+ def action_create(self, cr, uid, ids, context=None):
+ res=self.read(cr,uid,ids)[0]
+ res_obj = self.pool.get('account.journal')
+ if 'name' in res and 'bank_account_id' in res and 'view_id' in res and 'sequence_id' in res:
+ vals={
+ 'name':res['name'],
+ 'type':'cash',
+ 'view_id':res['view_id'],
+ 'default_credit_account_id':res['bank_account_id'],
+ 'default_debit_account_id':res['bank_account_id'],
+ 'sequence_id':res['sequence_id']
+ }
+ res_obj.create(cr, uid, vals, context=context)
+ return {
+ 'view_type': 'form',
+ 'res_model': 'ir.module.module.configuration.wizard',
+ 'type': 'ir.actions.act_window',
+ 'target':'new',
+ }
+
+account_config_journal_bank_accounts()
+
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 403c26d1959..3df28d1305e 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -471,9 +471,9 @@
form
tree,form
-
+
+
+ Configure Fiscal Year
+ account.config.fiscalyear
+ form
+
+
+
+
+
+
+ Configure Fiscal Year
+ ir.actions.act_window
+ account.config.fiscalyear
+ form
+ new
+
+
+
+
+
+ Configure Journal of Bank account
+ account.config.journal.bank.account
+ form
+
+
+
+
+
+
+ Configure Journal of Bank account
+ ir.actions.act_window
+ account.config.journal.bank.account
+ form
+ new
+
+
+
+
+
+ account.config.fiscalyear
+
+ open
+
+
+
+ account.config.journal.bank.account
+
+ open
+
+
diff --git a/addons/base_setup/base_setup_data.xml b/addons/base_setup/base_setup_data.xml
index 0b79f3d9a09..1f2327a64d1 100644
--- a/addons/base_setup/base_setup_data.xml
+++ b/addons/base_setup/base_setup_data.xml
@@ -12,5 +12,14 @@
+
+
+
diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index f7f557021d9..ca276acb6c4 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -91,7 +91,7 @@ class sale_order(osv.osv):
def _amount_total(self, cr, uid, ids, field_name, arg, context):
res = {}
- untax = self._amount_untaxed(cr, uid, ids, field_name, arg, context)
+ untax = self._amount_untaxed(cr, uid, ids, field_name, arg, context)
tax = self._amount_tax(cr, uid, ids, field_name, arg, context)
cur_obj=self.pool.get('res.currency')
for id in ids:
@@ -242,8 +242,8 @@ class sale_order(osv.osv):
def button_dummy(self, cr, uid, ids, context={}):
return True
-#FIXME: the method should return the list of invoices created (invoice_ids)
-# and not the id of the last invoice created (res). The problem is that we
+#FIXME: the method should return the list of invoices created (invoice_ids)
+# and not the id of the last invoice created (res). The problem is that we
# cannot change it directly since the method is called by the sale order
# workflow and I suppose it expects a single id...
def _inv_get(self, cr, uid, order, context={}):
@@ -571,7 +571,7 @@ class sale_order_line(osv.osv):
except:
res[line.id] = 1
return res
-
+
def _get_1st_packaging(self, cr, uid, context={}):
cr.execute('select id from product_packaging order by id asc limit 1')
res = cr.fetchone()
@@ -833,3 +833,34 @@ class sale_order_line(osv.osv):
return res
sale_order_line()
+
+
+
+_policy_form = '''
+
'''
+
+_policy_fields = {
+ 'picking_policy': {'string': 'Packing Policy', 'type': 'selection','selection': [('direct','Direct Delivery'),('one','All at once')],'required': True,}
+}
+class sale_config_picking_policy(osv.osv_memory):
+ _name='sale.config.picking_policy'
+ _columns = {
+ 'name':fields.char('Name', size=64),
+ 'picking_policy': fields.selection([('direct','Direct Delivery'),('one','All at once')], 'Packing Policy', required=True ),
+ }
+ _defaults={
+ 'picking_policy': lambda *a: 'direct',
+ }
+ def set_default(self, cr, uid, ids, context=None):
+ if 'name' in context:
+ ir_values_obj = self.pool.get('ir.values')
+ ir_values_obj.set(cr,uid,'default',False,'picking_policy',['sale.order'],context['picking_policy'])
+ return {
+ 'view_type': 'form',
+ 'res_model': 'ir.module.module.configuration.wizard',
+ 'type': 'ir.actions.act_window',
+ 'target':'new',
+ }
+sale_config_picking_policy()
diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml
index 4b99ecf71f4..9ce1670d5d4 100644
--- a/addons/sale/sale_view.xml
+++ b/addons/sale/sale_view.xml
@@ -447,5 +447,43 @@
domain="[('product_id','=',active_id)]"/>
+
+
+
+
+
+ Configure Picking Policy for Sale Order
+ sale.config.picking_policy
+ form
+
+
+
+
+
+
+ Configure Picking Policy for Sale Order
+ ir.actions.act_window
+ sale.config.picking_policy
+ form
+ new
+
+
+
+
+ sale.config.picking_policy
+
+ open
+
+
+