diff --git a/addons/account/account_installer.xml b/addons/account/account_installer.xml
index 0bce735f1b3..479f9bf1c65 100644
--- a/addons/account/account_installer.xml
+++ b/addons/account/account_installer.xml
@@ -60,6 +60,8 @@
+
+
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index cbcc714ff0f..78a4decf4fe 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -44,7 +44,7 @@
account.fiscalyear
tree
-
+
@@ -113,7 +113,7 @@
account.period
tree
-
+
@@ -203,10 +203,9 @@
tree
child_id
-
+
-
@@ -234,7 +233,7 @@
tree
child_id
-
+
@@ -484,7 +483,7 @@
-
+
@@ -657,7 +656,7 @@
account.move
tree
-
+
@@ -869,7 +868,7 @@
tree
-
+
@@ -1048,7 +1047,7 @@
account.move
tree
-
+
@@ -1105,7 +1104,7 @@
-
+
@@ -1420,7 +1419,7 @@
account.journal.period
tree
-
+
@@ -1634,7 +1633,7 @@
account.subscription
tree
-
+
@@ -1736,7 +1735,7 @@
tree
-
+
@@ -2290,7 +2289,7 @@
account.bank.statement
tree
-
+
@@ -2298,7 +2297,7 @@
-
+
diff --git a/addons/account/installer.py b/addons/account/installer.py
index aec82032e9a..2865b591df1 100644
--- a/addons/account/installer.py
+++ b/addons/account/installer.py
@@ -67,6 +67,12 @@ class account_installer(osv.osv_memory):
'account_asset':fields.boolean('Assets Management',
help="Enables asset management in the accounting application, "
"including asset categories and usage periods."),
+ 'account_voucher':fields.boolean('Voucher Management',
+ help="Account Voucher module includes all the basic requirements of "
+ "Voucher Entries for Bank, Cash, Sales, Purchase, Expanse, Contra, etc... "),
+ 'account_voucher_payment':fields.boolean('Voucher and Reconcile Management',
+ help="Extension Account Voucher module includes allows to link payment / receipt "
+ "entries with voucher, also automatically reconcile during the payment and receipt entries."),
'date_start': fields.date('Start Date', required=True),
'date_stop': fields.date('End Date', required=True),
'period':fields.selection([('month','Monthly'), ('3months','3 Monthly')],
diff --git a/addons/account/invoice.py b/addons/account/invoice.py
index 465f0568523..c591d150170 100644
--- a/addons/account/invoice.py
+++ b/addons/account/invoice.py
@@ -220,7 +220,7 @@ class account_invoice(osv.osv):
_name = "account.invoice"
_description = 'Invoice'
_order = "number"
- _log_create = True
+
_columns = {
'name': fields.char('Description', size=64, select=True, readonly=True, states={'draft':[('readonly',False)]}),
'origin': fields.char('Source Document', size=64, help="Reference of the document that produced this invoice.", readonly=True, states={'draft':[('readonly',False)]}),
@@ -242,13 +242,13 @@ class account_invoice(osv.osv):
('proforma','Pro-forma'),
('proforma2','Pro-forma'),
('open','Open'),
- ('paid','Done'),
+ ('paid','Paid'),
('cancel','Cancelled')
],'State', select=True, readonly=True,
help=' * The \'Draft\' state is used when a user is encoding a new and unconfirmed Invoice. \
\n* The \'Pro-forma\' when invoice is in Pro-forma state,invoice does not have an invoice number. \
\n* The \'Open\' state is used when user create invoice,a invoice number is generated.Its in open state till user does not pay invoice. \
- \n* The \'Done\' state is set automatically when invoice is paid.\
+ \n* The \'Paid\' state is set automatically when invoice is paid.\
\n* The \'Cancelled\' state is used when user cancel invoice.'),
'date_invoice': fields.date('Date Invoiced', states={'paid':[('readonly',True)], 'open':[('readonly',True)], 'close':[('readonly',True)]}, help="Keep empty to use the current date"),
'date_due': fields.date('Due Date', states={'paid':[('readonly',True)], 'open':[('readonly',True)], 'close':[('readonly',True)]},
@@ -344,6 +344,9 @@ class account_invoice(osv.osv):
def create(self, cr, uid, vals, context=None):
try:
res = super(account_invoice, self).create(cr, uid, vals, context)
+ for inv_id, name in self.name_get(cr, uid, [res], context=context):
+ message = _('Invoice ') + " '" + name + "' "+ _("is waiting for validation.")
+ self.log(cr, uid, inv_id, message)
return res
except Exception, e:
if '"journal_id" viol' in e.args[0]:
@@ -354,9 +357,6 @@ class account_invoice(osv.osv):
def confirm_paid(self, cr, uid, ids, context=None):
self.write(cr, uid, ids, {'state':'paid'}, context=context)
- for (id, name) in self.name_get(cr, uid, ids):
- message = _('Document ') + " '" + name + "' "+ _("has been paid.")
- self.log(cr, uid, id, message)
return True
def unlink(self, cr, uid, ids, context=None):
@@ -374,7 +374,7 @@ class account_invoice(osv.osv):
# res = self.pool.get('res.partner').address_get(cr, uid, [part], ['invoice'])
# return [{}]
def onchange_partner_id(self, cr, uid, ids, type, partner_id,\
- date_invoice=False, payment_term=False, partner_bank=False, company_id=False):
+ date_invoice=False, payment_term=False, partner_bank_id=False, company_id=False):
invoice_addr_id = False
contact_addr_id = False
partner_payment_term = False
@@ -439,7 +439,7 @@ class account_invoice(osv.osv):
else:
result['value']['date_due'] = False
- if partner_bank != bank_id:
+ if partner_bank_id != bank_id:
to_update = self.onchange_partner_bank(cr, uid, ids, bank_id)
result['value'].update(to_update['value'])
return result
@@ -474,7 +474,7 @@ class account_invoice(osv.osv):
def onchange_invoice_line(self, cr, uid, ids, lines):
return {}
- def onchange_partner_bank(self, cursor, user, ids, partner_bank):
+ def onchange_partner_bank(self, cursor, user, ids, partner_bank_id=False):
return {'value': {}}
def onchange_company_id(self, cr, uid, ids, company_id, part_id, type, invoice_line, currency_id):
@@ -922,7 +922,7 @@ class account_invoice(osv.osv):
invtype = obj_inv.type
number = obj_inv.number
move_id = obj_inv.move_id and obj_inv.move_id.id or False
- reference = obj_inv.reference
+ reference = obj_inv.reference or ''
if not number:
tmp_context = {
'fiscalyear_id': obj_inv.period_id.fiscalyear_id.id
@@ -955,8 +955,9 @@ class account_invoice(osv.osv):
'WHERE account_move_line.move_id = %s ' \
'AND account_analytic_line.move_id = account_move_line.id',
(ref, move_id))
- message = _('Invoice ') + " '" + number + "' "+ _("is confirm")
- self.log(cr, uid, id, message)
+ for inv_id, name in self.name_get(cr, uid, [id]):
+ message = _('Invoice ') + " '" + name + "' "+ _("is validated.")
+ self.log(cr, uid, inv_id, message)
return True
def action_cancel(self, cr, uid, ids, *args):
@@ -1175,9 +1176,15 @@ class account_invoice(osv.osv):
if l.account_id.id==src_account_id:
line_ids.append(l.id)
total += (l.debit or 0.0) - (l.credit or 0.0)
+
+ inv_id, name = self.name_get(cr, uid, [invoice.id], context=context)[0]
if (not round(total,self.pool.get('decimal.precision').precision_get(cr, uid, 'Account'))) or writeoff_acc_id:
+ self.log(cr, uid, inv_id, _('Invoice ') + " '" + name + "' "+ _("is totally paid."))
self.pool.get('account.move.line').reconcile(cr, uid, line_ids, 'manual', writeoff_acc_id, writeoff_period_id, writeoff_journal_id, context)
else:
+ code = invoice.currency_id.code
+ amt = str(pay_amount) + code + ' on ' + str(invoice.amount_total) + code + ' (' + str(total) + code + ' remaining)'
+ self.log(cr, uid, inv_id, _('Invoice ') + " '" + name + "' "+ _("is paid partially: ") + amt)
self.pool.get('account.move.line').reconcile_partial(cr, uid, line_ids, 'manual', context)
# Update the stored value (fields.function), so we write to trigger recompute
diff --git a/addons/account/report/account_entries_report_view.xml b/addons/account/report/account_entries_report_view.xml
index 927bba3e228..68168d43246 100644
--- a/addons/account/report/account_entries_report_view.xml
+++ b/addons/account/report/account_entries_report_view.xml
@@ -6,7 +6,7 @@
account.entries.report
tree
-
+
diff --git a/addons/account/report/account_invoice_report_view.xml b/addons/account/report/account_invoice_report_view.xml
index 3ea50b8925c..3116d8e596b 100644
--- a/addons/account/report/account_invoice_report_view.xml
+++ b/addons/account/report/account_invoice_report_view.xml
@@ -6,7 +6,7 @@
account.invoice.report
tree
-
+
diff --git a/addons/account/report/account_report_view.xml b/addons/account/report/account_report_view.xml
index 190ff856c8a..96b49f0247e 100644
--- a/addons/account/report/account_report_view.xml
+++ b/addons/account/report/account_report_view.xml
@@ -89,7 +89,7 @@
report.invoice.created
tree
-
+
diff --git a/addons/account/wizard/account_use_model_view.xml b/addons/account/wizard/account_use_model_view.xml
index 03ca451e509..71f026237ac 100644
--- a/addons/account/wizard/account_use_model_view.xml
+++ b/addons/account/wizard/account_use_model_view.xml
@@ -50,7 +50,7 @@
form
-
+
marketing.campaign.activity.tree
marketing.campaign.activity
@@ -299,7 +299,7 @@
marketing.campaign.workitem
tree
-
+
diff --git a/addons/marketing_campaign_mailchimp/marketing_campaign_mailchimp_view.xml b/addons/marketing_campaign_mailchimp/marketing_campaign_mailchimp_view.xml
index b4a89a2ca43..3b971093ab7 100644
--- a/addons/marketing_campaign_mailchimp/marketing_campaign_mailchimp_view.xml
+++ b/addons/marketing_campaign_mailchimp/marketing_campaign_mailchimp_view.xml
@@ -18,7 +18,7 @@
-
+
@@ -38,7 +38,7 @@
mailchimp.account
tree
-
+
diff --git a/addons/membership/membership.py b/addons/membership/membership.py
index 498c901e7b2..0fda9f581dc 100644
--- a/addons/membership/membership.py
+++ b/addons/membership/membership.py
@@ -22,7 +22,7 @@
from osv import fields, osv
from tools import config
import time
-
+from tools.translate import _
import decimal_precision as dp
@@ -46,96 +46,6 @@ STATE_PRIOR = {
'paid' : 7
}
-#~ REQUETE = '''SELECT partner, state FROM (
-#~ SELECT members.partner AS partner,
-#~ CASE WHEN MAX(members.state) = 0 THEN 'none'
-#~ ELSE CASE WHEN MAX(members.state) = 1 THEN 'canceled'
-#~ ELSE CASE WHEN MAX(members.state) = 2 THEN 'old'
-#~ ELSE CASE WHEN MAX(members.state) = 3 THEN 'waiting'
-#~ ELSE CASE WHEN MAX(members.state) = 4 THEN 'invoiced'
-#~ ELSE CASE WHEN MAX(members.state) = 6 THEN 'free'
-#~ ELSE CASE WHEN MAX(members.state) = 7 THEN 'paid'
-#~ END END END END END END END END
- #~ AS state FROM (
-#~ SELECT partner,
- #~ CASE WHEN MAX(inv_digit.state) = 4 THEN 7
- #~ ELSE CASE WHEN MAX(inv_digit.state) = 3 THEN 4
- #~ ELSE CASE WHEN MAX(inv_digit.state) = 2 THEN 3
- #~ ELSE CASE WHEN MAX(inv_digit.state) = 1 THEN 1
-#~ END END END END
-#~ AS state
-#~ FROM (
- #~ SELECT p.id as partner,
- #~ CASE WHEN ai.state = 'paid' THEN 4
- #~ ELSE CASE WHEN ai.state = 'open' THEN 3
- #~ ELSE CASE WHEN ai.state = 'proforma' THEN 2
- #~ ELSE CASE WHEN ai.state = 'draft' THEN 2
- #~ ELSE CASE WHEN ai.state = 'cancel' THEN 1
-#~ END END END END END
-#~ AS state
-#~ FROM res_partner p
-#~ JOIN account_invoice ai ON (
- #~ p.id = ai.partner_id
-#~ )
-#~ JOIN account_invoice_line ail ON (
- #~ ail.invoice_id = ai.id
-#~ )
-#~ JOIN membership_membership_line ml ON (
- #~ ml.account_invoice_line = ail.id
-#~ )
-#~ WHERE ml.date_from <= '%s'
-#~ AND ml.date_to >= '%s'
-#~ GROUP BY
-#~ p.id,
-#~ ai.state
- #~ )
- #~ AS inv_digit
- #~ GROUP by partner
-#~ UNION
-#~ SELECT p.id AS partner,
- #~ CASE WHEN p.free_member THEN 6
- #~ ELSE CASE WHEN p.associate_member IN (
- #~ SELECT ai.partner_id FROM account_invoice ai JOIN
- #~ account_invoice_line ail ON (ail.invoice_id = ai.id AND ai.state = 'paid')
- #~ JOIN membership_membership_line ml ON (ml.account_invoice_line = ail.id)
- #~ WHERE ml.date_from <= '%s'
- #~ AND ml.date_to >= '%s'
- #~ )
- #~ THEN 5
-#~ END END
-#~ AS state
-#~ FROM res_partner p
-#~ WHERE p.free_member
-#~ OR p.associate_member > 0
-#~ UNION
-#~ SELECT p.id as partner,
- #~ MAX(CASE WHEN ai.state = 'paid' THEN 2
- #~ ELSE 0
- #~ END)
-#~ AS state
-#~ FROM res_partner p
-#~ JOIN account_invoice ai ON (
- #~ p.id = ai.partner_id
-#~ )
-#~ JOIN account_invoice_line ail ON (
- #~ ail.invoice_id = ai.id
-#~ )
-#~ JOIN membership_membership_line ml ON (
- #~ ml.account_invoice_line = ail.id
-#~ )
-#~ WHERE ml.date_from < '%s'
-#~ AND ml.date_to < '%s'
-#~ AND ml.date_from <= ml.date_to
-#~ GROUP BY
-#~ p.id
-#~ )
-#~ AS members
-#~ GROUP BY members.partner
-#~ )
-#~ AS final
-#~ %s
-#~ '''
-
class membership_line(osv.osv):
'''Member line'''
@@ -215,12 +125,16 @@ class membership_line(osv.osv):
_name = 'membership.membership_line'
_columns = {
'partner': fields.many2one('res.partner', 'Partner', ondelete='cascade', select=1),
+ 'membership_id': fields.many2one('product.product', string="Membership", required=True),
'date_from': fields.date('From', readonly=True),
'date_to': fields.date('To', readonly=True),
'date_cancel' : fields.date('Cancel date'),
+ 'date': fields.date('Join Date'),
+ 'member_price':fields.float('Member Price', digits_compute= dp.get_precision('Sale Price'), required=True),
'account_invoice_line': fields.many2one('account.invoice.line', 'Account Invoice line', readonly=True),
+ 'account_invoice_id': fields.related('account_invoice_line', 'invoice_id', type='many2one', relation='account.invoice', string='Invoice', readonly=True),
'state': fields.function(_state, method=True, string='State', type='selection', selection=STATE),
- }
+ }
_rec_name = 'partner'
_order = 'id desc'
_constraints = [
@@ -381,14 +295,13 @@ class Partner(osv.osv):
_columns = {
'associate_member': fields.many2one('res.partner', 'Associate member'),
'member_lines': fields.one2many('membership.membership_line', 'partner', 'Membership'),
- 'member': fields.boolean('Member'),
'free_member': fields.boolean('Free member'),
'membership_amount': fields.float(
'Membership amount', digits=(16, 2),
help='The price negociated by the partner'),
'membership_state': fields.function(
__get_membership_state, method = True,
- string = 'Current membership state', type = 'selection',
+ string = 'Current Membership State', type = 'selection',
selection = STATE ,store = {
'account.invoice':(_get_invoice_partner,['state'], 10),
'membership.membership_line':(_get_partner_id,['state'], 10),
@@ -453,6 +366,61 @@ class Partner(osv.osv):
default = default.copy()
default['member_lines'] = []
return super(Partner, self).copy(cr, uid, id, default, context)
+
+ def create_membership_invoice(self, cr, uid, ids, product_id=None, datas=None, context=None):
+ """ Create Customer Invoice of Membership for partners.
+ @param datas: datas has dictionary value which consist Id of Membership product and Cost Amount of Membership.
+ datas = {'membership_product_id': None, 'amount':None}
+ """
+ invoice_obj = self.pool.get('account.invoice')
+ product_obj = self.pool.get('product.product')
+ invoice_line_obj = self.pool.get('account.invoice.line')
+ invoice_tax_obj = self.pool.get('account.invoice.tax')
+ product_id = product_id or datas.get('membership_product_id',False)
+ amount = datas.get('amount', 0.0)
+ if not context:
+ context={}
+ invoice_list = []
+ if type(ids) in (int,long,):
+ ids = [ids]
+ for partner in self.browse(cr, uid, ids, context=context):
+ account_id = partner.property_account_receivable and partner.property_account_receivable.id or False
+ fpos_id = partner.property_account_position and partner.property_account_position.id or False
+ addr = self.address_get(cr, uid, [partner.id], ['invoice'])
+ if partner.free_member:
+ raise osv.except_osv(_('Error !'),
+ _("Partner is a free Member."))
+ if not addr.get('invoice', False):
+ raise osv.except_osv(_('Error !'),
+ _("Partner doesn't have an address to make the invoice."))
+ quantity = 1
+ line_value = {
+ 'product_id' : product_id,
+ }
+
+ line_dict = invoice_line_obj.product_id_change(cr, uid, {},
+ product_id, False, quantity, '', 'out_invoice', partner.id, fpos_id, price_unit=amount, context=context)
+ line_value.update(line_dict['value'])
+ if line_value.get('invoice_line_tax_id', False):
+ tax_tab = [(6, 0, line_value['invoice_line_tax_id'])]
+ line_value['invoice_line_tax_id'] = tax_tab
+
+ invoice_id = invoice_obj.create(cr, uid, {
+ 'partner_id' : partner.id,
+ 'address_invoice_id': addr.get('invoice', False),
+ 'account_id': account_id,
+ 'fiscal_position': fpos_id or False
+ }
+ )
+ line_value['invoice_id'] = invoice_id
+ invoice_line_id = invoice_line_obj.create(cr, uid, line_value, context=context)
+ invoice_obj.write(cr, uid, invoice_id, {'invoice_line':[(6,0,[invoice_line_id])]}, context=context)
+ invoice_list.append(invoice_id)
+ if line_value['invoice_line_tax_id']:
+ tax_value = invoice_tax_obj.compute(cr, uid, invoice_id).values()
+ for tax in tax_value:
+ invoice_tax_obj.create(cr, uid, tax, context=context)
+ return invoice_list
Partner()
@@ -460,7 +428,7 @@ class product_template(osv.osv):
_inherit = 'product.template'
_columns = {
'member_price':fields.float('Member Price', digits_compute= dp.get_precision('Sale Price')),
- }
+ }
product_template()
class Product(osv.osv):
@@ -484,8 +452,8 @@ class Product(osv.osv):
_inherit = 'product.product'
_columns = {
'membership': fields.boolean('Membership', help='Specify if this product is a membership product'),
- 'membership_date_from': fields.date('Date from'),
- 'membership_date_to': fields.date('Date to'),
+ 'membership_date_from': fields.date('Date from', help='Active Membership since this date'),
+ 'membership_date_to': fields.date('Date to', help='Expired date of Membership'),
# 'member_price':fields.float('Member Price'),
}
@@ -535,6 +503,9 @@ class account_invoice_line(osv.osv):
date_from = line.invoice_id.date_invoice
line_id = member_line_obj.create(cr, uid, {
'partner': line.invoice_id.partner_id.id,
+ 'membership_id': line.product_id.id,
+ 'member_price': line.price_unit,
+ 'date': time.strftime('%Y-%m-%d'),
'date_from': date_from,
'date_to': date_to,
'account_invoice_line': line.id,
@@ -572,6 +543,9 @@ class account_invoice_line(osv.osv):
date_from = line.invoice_id.date_invoice
line_id = member_line_obj.create(cr, uid, {
'partner': line.invoice_id.partner_id and line.invoice_id.partner_id.id or False,
+ 'membership_id': line.product_id.id,
+ 'member_price': line.price_unit,
+ 'date': time.strftime('%Y-%m-%d'),
'date_from': date_from,
'date_to': date_to,
'account_invoice_line': line.id,
@@ -579,4 +553,4 @@ class account_invoice_line(osv.osv):
return result
account_invoice_line()
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file
+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/membership/membership_demo.xml b/addons/membership/membership_demo.xml
index d16c6db68aa..fa8dda9e5cb 100644
--- a/addons/membership/membership_demo.xml
+++ b/addons/membership/membership_demo.xml
@@ -2,170 +2,38 @@
-
-
+
+
True
- 2009-01-01
- 2010-06-01
- Membership Product - 1
- 80
+
+
+ Golden Membership
+ 180
service
-
+
True
- 2009-01-01
- 2010-08-01
- Membership Product - 2
+
+
+ Silver Membership
80
service
-
-
-
-
- membership
- Membership-0
-
-
-
- view
-
-
-
-
- membership account
- Membership-1254
-
-
-
- other
-
-
-
-
-
-
-
-
-
-
-
-
- 2008-05-09
-
- paid
- out_invoice
-
-
-
-
-
-
-
- 2008-05-09
-
- open
- out_invoice
-
-
-
-
-
-
-
- 2008-05-09
-
- cancel
- out_invoice
-
-
-
-
-
-
-
- 2008-05-09
-
- draft
- out_invoice
-
-
-
-
- Membership Product - 1
-
-
-
-
-
-
-
-
- Membership Product - 2
-
-
-
-
-
-
-
-
- Membership Product - 2
-
-
-
-
-
-
-
-
- Membership Product - 2
-
-
-
-
-
-
-
-
-
-
- 2008-01-01
- 2009-08-01
-
- paid
-
-
-
- 2008-01-01
- 2009-08-01
-
- invoiced
-
-
-
- 2008-01-01
- 2009-08-01
- 2008-08-05
-
- canceled
-
-
-
- 2008-01-01
- 2009-08-01
-
- waiting
-
-
-
-
-
- 2009-01-01
+
+ True
+
+
+ Basic Membership
+
+ 40
+ service
+
+
+
True
diff --git a/addons/membership/membership_view.xml b/addons/membership/membership_view.xml
index ddbc81629cf..17d17367f87 100644
--- a/addons/membership/membership_view.xml
+++ b/addons/membership/membership_view.xml
@@ -18,29 +18,26 @@
-
+
- Membership products
+ Memberships
product.product
form
-
@@ -62,7 +59,7 @@
- Membership Products
+ Memberships
product.product
[('membership','=',True), ('type', '=', 'service')]
{'membership':True, 'type':'service'}
@@ -82,16 +79,14 @@
-
-
-
-
+
+
+ action="action_membership_products" sequence="1"/>
+
+
+
@@ -129,7 +124,7 @@
-
+
res.partner.select2
res.partner
@@ -152,7 +147,6 @@
Members
res.partner
- [('membership_state','<>','none'),('membership_state','<>','canceled'),('membership_state','<>','old'),('membership_state','<>','waiting')]
{"search_default_old": 1}
@@ -169,8 +163,8 @@
form
-
-
+
+
-
- res.partner.form2
- res.partner
- form
-
-
-
-
-
-
-
+
res.partner.tree.form.inherit
@@ -213,37 +197,44 @@
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
+
+
-
-
-
+
+
product.normal.form
diff --git a/addons/membership/report/report_membership.py b/addons/membership/report/report_membership.py
index cd0142f5604..fc14b65f698 100644
--- a/addons/membership/report/report_membership.py
+++ b/addons/membership/report/report_membership.py
@@ -55,13 +55,15 @@ class report_membership(osv.osv):
('done', 'Old Member'),
('open', 'Invoiced Member'),
('free', 'Free Member'), ('paid', 'Paid Member')], 'State'),
- 'partner_id': fields.many2one('res.partner', 'Members', readonly=True, select=3)
+ 'partner_id': fields.many2one('res.partner', 'Members', readonly=True, select=3),
+ 'membership_id': fields.many2one('product.product', 'Membership', readonly=True, select=3)
}
def init(self, cr):
'''Create the view'''
+ tools.drop_view_if_exists(cr, 'report_membership')
cr.execute("""
CREATE OR REPLACE VIEW report_membership AS (
SELECT
@@ -78,6 +80,7 @@ class report_membership(osv.osv):
month,
create_date,
partner_id,
+ membership_id,
state,
currency
@@ -105,7 +108,8 @@ class report_membership(osv.osv):
ai.partner_id AS partner_id,
ai.currency_id AS currency,
ai.state as state,
- MIN(ml.id) AS id
+ MIN(ml.id) AS id,
+ ml.membership_id AS membership_id
FROM membership_membership_line ml
JOIN (account_invoice_line ail
LEFT JOIN account_invoice ai
@@ -114,10 +118,10 @@ class report_membership(osv.osv):
JOIN res_partner p
ON (ml.partner = p.id)
GROUP BY TO_CHAR(ml.date_from, 'YYYY'), TO_CHAR(ml.date_from, 'MM'), TO_CHAR(ml.date_from, 'YYYY-MM-DD'), ai.state, ai.partner_id,
- ai.currency_id, ml.id) AS foo
- GROUP BY year, month, create_date, currency, partner_id, state)
+ ai.currency_id, ml.id, ml.membership_id) AS foo
+ GROUP BY year, month, create_date, currency, partner_id, membership_id, state)
""")
report_membership()
-#
\ No newline at end of file
+#
diff --git a/addons/membership/report/report_membership_view.xml b/addons/membership/report/report_membership_view.xml
index 76c0dff4404..bdb5065b766 100644
--- a/addons/membership/report/report_membership_view.xml
+++ b/addons/membership/report/report_membership_view.xml
@@ -9,9 +9,10 @@
report.membership
tree
-
+
+
@@ -47,12 +48,14 @@
+
-
+
@@ -104,9 +107,9 @@
-
-
\ No newline at end of file
+
diff --git a/addons/membership/wizard/membership_invoice.py b/addons/membership/wizard/membership_invoice.py
index a969abf0632..7536bd4b942 100644
--- a/addons/membership/wizard/membership_invoice.py
+++ b/addons/membership/wizard/membership_invoice.py
@@ -23,6 +23,7 @@ import time
from osv import fields, osv
from tools.translate import _
import tools
+import decimal_precision as dp
class membership_invoice(osv.osv_memory):
"""Membership Invoice"""
@@ -30,56 +31,32 @@ class membership_invoice(osv.osv_memory):
_name = "membership.invoice"
_description = "Membership Invoice"
_columns = {
- 'product_id': fields.many2one('product.product','Membership Product', required=True),
+ 'product_id': fields.many2one('product.product','Membership', required=True),
+ 'member_price':fields.float('Member Price', digits_compute= dp.get_precision('Sale Price'), required=True),
}
+ def onchange_product(self, cr, uid, ids, product_id):
+ """This function returns value of product's member price based on product id.
+ """
+ if not product_id:
+ return {'value': {'unit_price': False}}
+ else:
+ unit_price=self.pool.get('product.product').price_get(cr, uid, [product_id])[product_id]
+ return {'value': {'member_price': unit_price}}
def membership_invoice(self, cr, uid, ids, context=None):
- invoice_obj = self.pool.get('account.invoice')
partner_obj = self.pool.get('res.partner')
- product_obj = self.pool.get('product.product')
- invoice_line_obj = self.pool.get('account.invoice.line')
- invoice_tax_obj = self.pool.get('account.invoice.tax')
+ datas = {}
if not context:
- context={}
- partner_ids = context.get('active_ids', [])
- invoice_list = []
- for partner in partner_obj.browse(cr, uid, partner_ids, context=context):
- account_id = partner.property_account_receivable and partner.property_account_receivable.id or False
- fpos_id = partner.property_account_position and partner.property_account_position.id or False
- addr = partner_obj.address_get(cr, uid, [partner.id], ['invoice'])
- if not addr.get('invoice', False):
- continue
- for data in self.browse(cr, uid, ids, context=context):
- product_id = data.product_id and data.product_id.id or False
- product_uom_id = data.product_id and data.product_id.uom_id.id
- quantity = 1
- line_value = {
- 'product_id' : product_id,
- }
-
- line_dict = invoice_line_obj.product_id_change(cr, uid, {},
- product_id, product_uom_id, quantity, '', 'out_invoice', partner.id, fpos_id, context=context)
- line_value.update(line_dict['value'])
- if line_value.get('invoice_line_tax_id', False):
- tax_tab = [(6, 0, line_value['invoice_line_tax_id'])]
- line_value['invoice_line_tax_id'] = tax_tab
-
- invoice_id = invoice_obj.create(cr, uid, {
- 'partner_id' : partner.id,
- 'address_invoice_id': addr.get('invoice', False),
- 'account_id': account_id,
- 'fiscal_position': fpos_id or False
- }
- )
- line_value['invoice_id'] = invoice_id
- invoice_line_id = invoice_line_obj.create(cr, uid, line_value, context=context)
- invoice_obj.write(cr, uid, invoice_id, {'invoice_line':[(6,0,[invoice_line_id])]}, context=context)
- invoice_list.append(invoice_id)
- if line_value['invoice_line_tax_id']:
- tax_value = invoice_tax_obj.compute(cr, uid, invoice_id).values()
- for tax in tax_value:
- invoice_tax_obj.create(cr, uid, tax, context=context)
-
+ context = {}
+ data = self.browse(cr, uid, ids)
+ if data:
+ data = data[0]
+ datas = {
+ 'membership_product_id': data.product_id.id,
+ 'amount': data.member_price
+ }
+ invoice_ids = context.get('active_ids', [])
+ invoice_list = partner_obj.create_membership_invoice(cr, uid, invoice_ids, datas=datas, context=context)
return {
'domain': [('id', 'in', invoice_list)],
@@ -88,7 +65,7 @@ class membership_invoice(osv.osv_memory):
'view_mode': 'tree,form',
'res_model': 'account.invoice',
'type': 'ir.actions.act_window',
- }
+ }
membership_invoice()
diff --git a/addons/membership/wizard/membership_invoice_view.xml b/addons/membership/wizard/membership_invoice_view.xml
index a869fa59f2c..717f66ec6a3 100644
--- a/addons/membership/wizard/membership_invoice_view.xml
+++ b/addons/membership/wizard/membership_invoice_view.xml
@@ -9,34 +9,23 @@
-
- Membership Invoice
+ Join Membership
membership.invoice
form
tree,form
new
-
-
-
-
-
- vote
- client_action_multi
-
- action
- res.partner
-
-
+
diff --git a/addons/membership/wizard/membership_unpaid_invoice.py b/addons/membership/wizard/membership_unpaid_invoice.py
index f403e78c81d..0dbbbb3c952 100644
--- a/addons/membership/wizard/membership_unpaid_invoice.py
+++ b/addons/membership/wizard/membership_unpaid_invoice.py
@@ -26,8 +26,8 @@ class member_unpaid_invoice(osv.osv_memory):
_name = "membership.unpaid.invoice"
_description = "List of Unpaid Partner"
_columns ={
- 'product': fields.many2one('product.product','Membership product', size=64,required=True, help='Select Membership product'),
- }
+ 'product': fields.many2one('product.product','Membership', size=64,required=True, help='Select Membership.'),
+ }
def invoice_membership(self, cr, uid, ids, context):
model_obj = self.pool.get('ir.model.data')
@@ -45,7 +45,7 @@ class member_unpaid_invoice(osv.osv_memory):
return {
'domain': [('id', 'in', partners)],
- 'name': 'Unpaid Partners',
+ 'name': 'Unpaid Members',
'view_type': 'form',
'view_mode': 'tree,form',
'res_model': 'res.partner',
diff --git a/addons/membership/wizard/membership_unpaid_invoice_view.xml b/addons/membership/wizard/membership_unpaid_invoice_view.xml
index 6b57c49572b..9c5db96d5e3 100644
--- a/addons/membership/wizard/membership_unpaid_invoice_view.xml
+++ b/addons/membership/wizard/membership_unpaid_invoice_view.xml
@@ -7,20 +7,20 @@
membership.unpaid.invoice
form
-
- List Unpaid Partners
+ List Unpaid Members
membership.unpaid.invoice
form
tree,form
@@ -28,9 +28,9 @@
new
-
+ parent="menu_membership" />
diff --git a/addons/mrp/mrp_view.xml b/addons/mrp/mrp_view.xml
index 1bd0724a003..9d645a17095 100644
--- a/addons/mrp/mrp_view.xml
+++ b/addons/mrp/mrp_view.xml
@@ -496,7 +496,7 @@
mrp.production
tree
-
+
@@ -590,7 +590,7 @@
-
+
@@ -609,7 +609,7 @@
-
+
@@ -659,7 +659,7 @@
-
+
diff --git a/addons/mrp/report/mrp_production_order_view.xml b/addons/mrp/report/mrp_production_order_view.xml
index 9c4d4924924..8172c61e84f 100644
--- a/addons/mrp/report/mrp_production_order_view.xml
+++ b/addons/mrp/report/mrp_production_order_view.xml
@@ -10,7 +10,7 @@
mrp.production.order
tree
-
+
diff --git a/addons/mrp/stock.py b/addons/mrp/stock.py
index ab22f169552..3e158b4d0cf 100644
--- a/addons/mrp/stock.py
+++ b/addons/mrp/stock.py
@@ -100,7 +100,6 @@ class StockMove(osv.osv):
'location_id': move.location_dest_id.id,
'auto_validate': True,
'picking_id': False,
- 'location_id': dest,
'state': 'waiting'
})
for m in procurement_obj.search(cr, uid, [('move_id','=',move.id)], context):
diff --git a/addons/project_scrum/i18n/ar.po b/addons/project_scrum/i18n/ar.po
index 575ec3d7653..5d5fb6f9c2e 100644
--- a/addons/project_scrum/i18n/ar.po
+++ b/addons/project_scrum/i18n/ar.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-09-08 16:00+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: Genie-soft \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/bg.po b/addons/project_scrum/i18n/bg.po
index c7db9dc5cca..65094bfdb6a 100644
--- a/addons/project_scrum/i18n/bg.po
+++ b/addons/project_scrum/i18n/bg.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-03-29 11:28+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: Boris \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/bs.po b/addons/project_scrum/i18n/bs.po
index 9366501f496..684c099c4e3 100644
--- a/addons/project_scrum/i18n/bs.po
+++ b/addons/project_scrum/i18n/bs.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-11-17 10:41+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: Miro Glavić \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/ca.po b/addons/project_scrum/i18n/ca.po
index e68fa0852a4..cde5d7b6057 100644
--- a/addons/project_scrum/i18n/ca.po
+++ b/addons/project_scrum/i18n/ca.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-12-20 17:36+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: Jordi Esteve (www.zikzakmedia.com) "
"\n"
"Language-Team: \n"
diff --git a/addons/project_scrum/i18n/cs.po b/addons/project_scrum/i18n/cs.po
index 6f11bb5025f..00859ed586d 100644
--- a/addons/project_scrum/i18n/cs.po
+++ b/addons/project_scrum/i18n/cs.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-02-04 06:31+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: Fabien (Open ERP) \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/de.po b/addons/project_scrum/i18n/de.po
index 2a9eb813a6a..6dfb60d6851 100644
--- a/addons/project_scrum/i18n/de.po
+++ b/addons/project_scrum/i18n/de.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-11-22 19:33+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: Ferdinand @ ChriCar \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/es.po b/addons/project_scrum/i18n/es.po
index 3581d899f1e..d3bb38ee977 100644
--- a/addons/project_scrum/i18n/es.po
+++ b/addons/project_scrum/i18n/es.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-12-20 17:46+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: Jordi Esteve (www.zikzakmedia.com) "
"\n"
"Language-Team: \n"
diff --git a/addons/project_scrum/i18n/es_AR.po b/addons/project_scrum/i18n/es_AR.po
index eab24f83502..44991d642fd 100644
--- a/addons/project_scrum/i18n/es_AR.po
+++ b/addons/project_scrum/i18n/es_AR.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-09-23 13:46+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: Julieta Catalano \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/et.po b/addons/project_scrum/i18n/et.po
index fe1fcf33554..ef01761f39f 100644
--- a/addons/project_scrum/i18n/et.po
+++ b/addons/project_scrum/i18n/et.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-11-09 19:58+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: Fabien (Open ERP) \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/fr.po b/addons/project_scrum/i18n/fr.po
index 51c6ca1c50f..78d6b374a7d 100644
--- a/addons/project_scrum/i18n/fr.po
+++ b/addons/project_scrum/i18n/fr.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-05-22 09:49+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: Christophe Chauvet - http://www.syleam.fr/ \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/hr.po b/addons/project_scrum/i18n/hr.po
index b2e813f5c38..d159cf00cfe 100644
--- a/addons/project_scrum/i18n/hr.po
+++ b/addons/project_scrum/i18n/hr.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-02-03 06:26+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/hu.po b/addons/project_scrum/i18n/hu.po
index b2e813f5c38..d159cf00cfe 100644
--- a/addons/project_scrum/i18n/hu.po
+++ b/addons/project_scrum/i18n/hu.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-02-03 06:26+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/id.po b/addons/project_scrum/i18n/id.po
index 79d9e786ec9..d159cf00cfe 100644
--- a/addons/project_scrum/i18n/id.po
+++ b/addons/project_scrum/i18n/id.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-11-09 13:58+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/it.po b/addons/project_scrum/i18n/it.po
index 4a8557f9545..48eeb044c4b 100644
--- a/addons/project_scrum/i18n/it.po
+++ b/addons/project_scrum/i18n/it.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2008-11-08 09:17+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: LucaSub \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/ko.po b/addons/project_scrum/i18n/ko.po
index d8f6fb74453..1581a5ae68e 100644
--- a/addons/project_scrum/i18n/ko.po
+++ b/addons/project_scrum/i18n/ko.po
@@ -10,7 +10,7 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-04-04 01:39+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: Bundo \n"
"Language-Team: Korean \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/lt.po b/addons/project_scrum/i18n/lt.po
index b2e813f5c38..d159cf00cfe 100644
--- a/addons/project_scrum/i18n/lt.po
+++ b/addons/project_scrum/i18n/lt.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-02-03 06:26+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/nl.po b/addons/project_scrum/i18n/nl.po
index 1845b2fa27e..d38d8cbe693 100644
--- a/addons/project_scrum/i18n/nl.po
+++ b/addons/project_scrum/i18n/nl.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-12-15 15:27+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: Pieter J. Kersten (EduSense BV) \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/nl_BE.po b/addons/project_scrum/i18n/nl_BE.po
index 4a30cc7e013..e6c8a668fe3 100644
--- a/addons/project_scrum/i18n/nl_BE.po
+++ b/addons/project_scrum/i18n/nl_BE.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-04-10 09:36+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: Fabien (Open ERP) \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/pl.po b/addons/project_scrum/i18n/pl.po
index d26ee00622e..dd80030b20a 100644
--- a/addons/project_scrum/i18n/pl.po
+++ b/addons/project_scrum/i18n/pl.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-12-22 14:18+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: Grzegorz Grzelak (Cirrus.pl) \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/scrum.pot b/addons/project_scrum/i18n/project_scrum.pot
similarity index 65%
rename from addons/project_scrum/i18n/scrum.pot
rename to addons/project_scrum/i18n/project_scrum.pot
index bf675509564..de1f6c15d49 100644
--- a/addons/project_scrum/i18n/scrum.pot
+++ b/addons/project_scrum/i18n/project_scrum.pot
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01:52+0000\n"
-"PO-Revision-Date: 2010-07-19 17:07:52+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -30,6 +30,11 @@ msgstr ""
msgid "From backlog create task."
msgstr ""
+#. module: project_scrum
+#: field:project.scrum.product.backlog,user_id:0
+msgid "Author"
+msgstr ""
+
#. module: project_scrum
#: model:ir.actions.act_window,name:project_scrum.action_view_task4
#: model:ir.ui.menu,name:project_scrum.menu_action_view_task4
@@ -42,6 +47,18 @@ msgstr ""
msgid "My opened sprints (Product Owner)"
msgstr ""
+#. module: project_scrum
+#: view:project.scrum.meeting:0
+msgid "What did you do since the last meeting?"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.meeting:0
+#: view:project.scrum.product.backlog:0
+#: view:project.scrum.sprint:0
+msgid "Group By..."
+msgstr ""
+
#. module: project_scrum
#: model:process.node,note:project_scrum.process_node_productbacklog0
msgid "Create task from backlogs"
@@ -57,13 +74,19 @@ msgstr ""
msgid "Scrum, Agile Development Method"
msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.backlog.merge:0
+msgid "Are you sure you want to merge these Backlogs?"
+msgstr ""
+
#. module: project_scrum
#: field:project.scrum.project,progress_rate:0
msgid "Progress"
msgstr ""
#. module: project_scrum
-#: help:scrum.task,remaining_hours:0
+#: help:project.scrum.task,remaining_hours:0
msgid "Total remaining time, can be re-estimated periodically by the assignee of the task."
msgstr ""
@@ -77,11 +100,18 @@ msgstr ""
msgid "What have you accomplished since yesterday ?"
msgstr ""
+#. module: project_scrum
+#: constraint:project.project:0
+msgid "Error! project start-date must be lower then project end-date."
+msgstr ""
+
+
#. module: project_scrum
#: view:project.scrum.meeting:0
msgid "Are your Sprint Backlog estimate accurate ?"
msgstr ""
+
#. module: project_scrum
#: field:project.scrum.project,members:0
msgid "Project Members"
@@ -93,17 +123,17 @@ msgid "Scrum Projects"
msgstr ""
#. module: project_scrum
-#: field:scrum.task,child_ids:0
+#: field:project.scrum.task,child_ids:0
msgid "Delegated Tasks"
msgstr ""
#. module: project_scrum
-#: help:scrum.project,warn_header:0
+#: help:project.scrum.project,warn_header:0
msgid "Header added at the beginning of the email for the warning message sent to the customer when a task is closed."
msgstr ""
#. module: project_scrum
-#: field:scrum.task,priority:0
+#: field:project.scrum.task,priority:0
msgid "Importance"
msgstr ""
@@ -112,19 +142,145 @@ msgstr ""
msgid "Scrum Task"
msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.product.backlog:0
+#: view:project.scrum.sprint:0
+msgid "Set to Draft"
+msgstr ""
+
+
+#. module: project_scrum
+#: field:project.scrum.product.backlog,create_date:0
+msgid "Creation Date"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.meeting:0
+msgid "Are there anything blocking you?"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.product.backlog:0
+msgid "Editable"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.model,name:project_scrum.model_project_scrum_backlog_assign_sprint
+msgid "Assign sprint to backlogs"
+msgstr ""
+
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_scrum_backlog_to_sprint
+#: view:project.scrum.backlog.assign.sprint:0
+msgid "Assign Sprint"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.sprint,expected_hours:0
+msgid "Estimated time to do the task."
+msgstr ""
+
+
+#. module: project_scrum
+#: field:project.scrum.product.backlog,task_hours:0
+msgid "Task Hours"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.sprint:0
+msgid "Dates"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.meeting:0
+msgid "Send to Scrum Master"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.meeting:0
+msgid "Daily"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.sprint,backlog_ids:0
+msgid "Sprint Backlog"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.product.backlog:0
+msgid "Delegate"
+msgstr ""
+
+#. module: project_scrum
+#: view:board.board:0
+msgid "My Board"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.meeting,date:0
+msgid "Meeting Date"
+msgstr ""
+
+
+#. module: project_scrum
+#: model:ir.model,name:project_scrum.model_project_scrum_backlog_merge
+msgid "Merge Product Backlogs"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_product_backlog_form
+#: model:ir.ui.menu,name:project_scrum.menu_action_product_backlog_form
+#: view:project.scrum.product.backlog:0
+msgid "Product Backlogs"
+msgstr ""
+
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_scrum_backlog_merge
+#: view:project.scrum.backlog.merge:0
+msgid "Merge Backlogs"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.product.backlog:0
+msgid "Change Stage"
+msgstr ""
+
+#. module: project_scrum
+#: constraint:project.project:0
+msgid "Error! You cannot assign escalation to the same project!"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.sprint:0
+msgid "Owners"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.model,name:project_scrum.model_project_task
+msgid "Task"
+msgstr ""
+
+#. module: project_scrum
+#: constraint:project.task:0
+msgid "Error! task start-date must be lower then task end-date."
+msgstr ""
+
#. module: project_scrum
#: model:ir.actions.act_window,name:project_scrum.dblc_proj
msgid "View project's backlog"
msgstr ""
#. module: project_scrum
-#: help:scrum.project,members:0
+#: help:project.scrum.project,members:0
msgid "Project's member. Not used in any computation, just for information purpose."
msgstr ""
#. module: project_scrum
#: selection:project.scrum.product.backlog,priority:0
-#: selection:scrum.task,priority:0
+#: selection:project.scrum.task,priority:0
msgid "Very urgent"
msgstr ""
@@ -139,39 +295,44 @@ msgid "Sprint Name"
msgstr ""
#. module: project_scrum
-#: help:scrum.task,planned_hours:0
+#: help:project.scrum.task,planned_hours:0
msgid "Estimated time to do the task, usually set by the project manager when the task is in draft state."
msgstr ""
#. module: project_scrum
#: field:project.scrum.project,notes:0
-#: field:scrum.task,notes:0
+#: field:project.scrum.task,notes:0
msgid "Notes"
msgstr ""
#. module: project_scrum
#: model:ir.model,name:project_scrum.model_scrum_product_backlog
-#: field:scrum.task,product_backlog_id:0
+#: field:project.scrum.task,product_backlog_id:0
msgid "Product Backlog"
msgstr ""
#. module: project_scrum
#: field:project.scrum.sprint,project_id:0
-#: field:scrum.task,project_id:0
+#: field:project.scrum.task,project_id:0
msgid "Project"
msgstr ""
#. module: project_scrum
-#: help:scrum.project,warn_manager:0
+#: help:project.scrum.project,warn_manager:0
msgid "If you check this field, the project manager will receive a request each time a task is completed by his team."
msgstr ""
#. module: project_scrum
-#: selection:scrum.project,state:0
-#: selection:scrum.task,state:0
+#: selection:project.scrum.project,state:0
+#: selection:project.scrum.task,state:0
msgid "Cancelled"
msgstr ""
+#. module: project_scrum
+#: view:project.scrum.product.backlog:0
+msgid "Convert to Task"
+msgstr ""
+
#. module: project_scrum
#: field:scrum.team,name:0
msgid "Team Name"
@@ -182,6 +343,12 @@ msgstr ""
msgid "Mail Header"
msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.sprint:0
+msgid "Expected hours"
+msgstr ""
+
#. module: project_scrum
#: field:project.scrum.project,sprint_size:0
msgid "Sprint Days"
@@ -193,12 +360,12 @@ msgid "Ending Date"
msgstr ""
#. module: project_scrum
-#: help:scrum.task,effective_hours:0
+#: help:project.scrum.task,effective_hours:0
msgid "Computed using the sum of the task work done."
msgstr ""
#. module: project_scrum
-#: help:scrum.project,warn_customer:0
+#: help:project.scrum.project,warn_customer:0
msgid "If you check this, the user will have a popup when closing a task that propose a message to send by email to the customer."
msgstr ""
@@ -219,25 +386,25 @@ msgid "All Tasks"
msgstr ""
#. module: project_scrum
-#: field:scrum.task,date_deadline:0
+#: field:project.scrum.task,date_deadline:0
msgid "Deadline"
msgstr ""
#. module: project_scrum
#: field:project.scrum.project,partner_id:0
-#: field:scrum.task,partner_id:0
+#: field:project.scrum.task,partner_id:0
msgid "Partner"
msgstr ""
#. module: project_scrum
#: field:project.scrum.product.backlog,planned_hours:0
#: field:project.scrum.sprint,planned_hours:0
-#: field:scrum.task,planned_hours:0
+#: field:project.scrum.task,planned_hours:0
msgid "Planned Hours"
msgstr ""
#. module: project_scrum
-#: selection:scrum.project,state:0
+#: selection:project.scrum.project,state:0
msgid "Template"
msgstr ""
@@ -253,12 +420,12 @@ msgid "State"
msgstr ""
#. module: project_scrum
-#: help:scrum.project,progress_rate:0
+#: help:project.scrum.project,progress_rate:0
msgid "Percent of tasks closed according to the total of tasks todo."
msgstr ""
#. module: project_scrum
-#: help:scrum.project,notes:0
+#: help:project.scrum.project,notes:0
msgid "Internal description of the project."
msgstr ""
@@ -268,12 +435,12 @@ msgid "Daily Scrum"
msgstr ""
#. module: project_scrum
-#: help:scrum.task,total_hours:0
+#: help:project.scrum.task,total_hours:0
msgid "Computed as: Time Spent + Remaining Time."
msgstr ""
#. module: project_scrum
-#: field:scrum.task,type:0
+#: field:project.scrum.task,type:0
msgid "Type"
msgstr ""
@@ -284,7 +451,7 @@ msgstr ""
#. module: project_scrum
#: selection:project.scrum.product.backlog,priority:0
-#: selection:scrum.task,priority:0
+#: selection:project.scrum.task,priority:0
msgid "Medium"
msgstr ""
@@ -316,10 +483,32 @@ msgstr ""
#. module: project_scrum
#: field:project.scrum.project,date_start:0
#: field:project.scrum.sprint,date_start:0
-#: field:scrum.task,date_start:0
+#: field:project.scrum.task,date_start:0
msgid "Starting Date"
msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.product.backlog:0
+msgid "Extended Options..."
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.sprint:0
+msgid "Planning"
+msgstr ""
+
+#. module: project_scrum
+#: constraint:account.analytic.account:0
+msgid "Error! You can not create recursive analytic accounts."
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.sprint,scrum_master_id:0
+msgid "The person who is maintains the processes for the product"
+msgstr ""
+
+
#. module: project_scrum
#: model:ir.actions.act_window,name:project_scrum.action_scrum_project_tree
#: model:ir.ui.menu,name:project_scrum.menu_action_scrum_project_tree
@@ -332,7 +521,7 @@ msgid "Invalid XML for View Architecture!"
msgstr ""
#. module: project_scrum
-#: field:scrum.task,history:0
+#: field:project.scrum.task,history:0
msgid "Task Details"
msgstr ""
@@ -342,7 +531,7 @@ msgid "View project's tasks"
msgstr ""
#. module: project_scrum
-#: field:scrum.task,delay_hours:0
+#: field:project.scrum.task,delay_hours:0
msgid "Delay Hours"
msgstr ""
@@ -356,11 +545,6 @@ msgstr ""
msgid "Scrum Tasks"
msgstr ""
-#. module: project_scrum
-#: field:project.scrum.meeting,date:0
-msgid "Meeting Date"
-msgstr ""
-
#. module: project_scrum
#: view:project.scrum.product.backlog:0
msgid "Tasks"
@@ -378,18 +562,24 @@ msgid "Create Tasks"
msgstr ""
#. module: project_scrum
-#: field:scrum.task,progress:0
+#: field:project.scrum.task,progress:0
msgid "Progress (%)"
msgstr ""
#. module: project_scrum
-#: help:scrum.task,progress:0
+#: help:project.scrum.task,progress:0
msgid "Computed as: Time Spent / Total Time."
msgstr ""
+#. module: project_scrum
+#: help:project.scrum.backlog.assign.sprint,convert_to_task:0
+msgid "Create Task for Product Backlog"
+msgstr ""
+
+
#. module: project_scrum
#: field:project.scrum.project,scrum:0
-#: field:scrum.task,scrum:0
+#: field:project.scrum.task,scrum:0
msgid "Is Scrum"
msgstr ""
@@ -399,11 +589,6 @@ msgstr ""
msgid "Draft Backlogs"
msgstr ""
-#. module: project_scrum
-#: field:project.scrum.sprint,backlog_ids:0
-msgid "Sprint Backlog"
-msgstr ""
-
#. module: project_scrum
#: model:ir.actions.act_window,name:project_scrum.action_view_task6
#: model:ir.ui.menu,name:project_scrum.menu_action_view_task6
@@ -415,13 +600,35 @@ msgstr ""
msgid "Blocks encountered"
msgstr ""
+#. module: project_scrum
+#: help:project.scrum.backlog.assign.sprint,state_open:0
+msgid "Change the state of product backlogs to open if its in draft state"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.project,product_owner_id:0
+#: help:project.scrum.sprint,product_owner_id:0
+msgid "The person who is responsible for the product"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.meeting:0
+msgid "What do you plan to do till the next meeting?"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.task,product_backlog_id:0
+msgid "Related product backlog that contains this task. Used in SCRUM methodology"
+msgstr ""
+
+
#. module: project_scrum
#: view:project.scrum.meeting:0
msgid "Optionnal Info"
msgstr ""
#. module: project_scrum
-#: help:scrum.project,total_hours:0
+#: help:project.scrum.project,total_hours:0
msgid "Sum of total hours of all tasks related to this project."
msgstr ""
@@ -451,13 +658,13 @@ msgstr ""
#. module: project_scrum
#: selection:project.scrum.product.backlog,state:0
#: selection:project.scrum.sprint,state:0
-#: selection:scrum.task,state:0
+#: selection:project.scrum.task,state:0
msgid "Draft"
msgstr ""
#. module: project_scrum
#: selection:project.scrum.product.backlog,priority:0
-#: selection:scrum.task,priority:0
+#: selection:project.scrum.task,priority:0
msgid "Low"
msgstr ""
@@ -473,8 +680,8 @@ msgid "Project Manager"
msgstr ""
#. module: project_scrum
-#: selection:scrum.project,state:0
-#: selection:scrum.task,state:0
+#: selection:project.scrum.project,state:0
+#: selection:project.scrum.task,state:0
msgid "Pending"
msgstr ""
@@ -486,7 +693,7 @@ msgstr ""
#. module: project_scrum
#: field:project.scrum.product.backlog,state:0
#: field:project.scrum.sprint,state:0
-#: field:scrum.task,state:0
+#: field:project.scrum.task,state:0
msgid "Status"
msgstr ""
@@ -507,12 +714,57 @@ msgstr ""
msgid "Project Name"
msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.meeting:0
+msgid "Optional Info"
+msgstr ""
+
#. module: project_scrum
#: field:project.scrum.project,product_owner_id:0
#: field:project.scrum.sprint,product_owner_id:0
msgid "Product Owner"
msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.product.backlog:0
+msgid "Post Pone"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.action_meeting_form
+#: model:ir.ui.menu,name:project_scrum.menu_action_meeting_form
+msgid "Scrum Meetings"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.product.backlog,expected_hours:0
+msgid "Estimated total time to do the Backlog"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.backlog.merge,project_id:0
+msgid "Select project for the new product backlog"
+msgstr ""
+
+
+#. module: project_scrum
+#: model:ir.model,name:project_scrum.model_project_scrum_backlog_create_task
+msgid "Create Tasks from Product Backlogs"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.project,sprint_size:0
+msgid "Number of days allocated for sprint"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.product.backlog,sequence:0
+msgid "Gives the sequence order when displaying a list of product backlog."
+msgstr ""
+
+
#. module: project_scrum
#: model:ir.actions.act_window,name:project_scrum.action_sprint_open_tree5
#: model:ir.ui.menu,name:project_scrum.menu_action_sprint_open_tree5
@@ -539,17 +791,17 @@ msgstr ""
#. module: project_scrum
#: field:project.scrum.product.backlog,active:0
#: field:project.scrum.project,active:0
-#: field:scrum.task,active:0
+#: field:project.scrum.task,active:0
msgid "Active"
msgstr ""
#. module: project_scrum
-#: help:scrum.task,delay_hours:0
+#: help:project.scrum.task,delay_hours:0
msgid "Computed as: Total Time - Estimated Time. It gives the difference of the time estimated by the project manager and the real time to close the task."
msgstr ""
#. module: project_scrum
-#: field:scrum.task,timebox_id:0
+#: field:project.scrum.task,timebox_id:0
msgid "Timebox"
msgstr ""
@@ -565,27 +817,32 @@ msgid "Working Time"
msgstr ""
#. module: project_scrum
-#: field:scrum.task,work_ids:0
+#: field:project.scrum.task,work_ids:0
msgid "Work done"
msgstr ""
+#. module: project_scrum
+#: view:project.scrum.backlog.merge:0
+msgid "Merge"
+msgstr ""
+
#. module: project_scrum
#: model:ir.actions.act_window,name:project_scrum.action_sprint_backlog_open
msgid "View sprint backlog"
msgstr ""
#. module: project_scrum
-#: field:scrum.task,delegated_user_id:0
+#: field:project.scrum.task,delegated_user_id:0
msgid "Delegated To"
msgstr ""
#. module: project_scrum
-#: field:scrum.task,date_close:0
+#: field:project.scrum.task,date_close:0
msgid "Date Closed"
msgstr ""
#. module: project_scrum
-#: field:scrum.task,user_id:0
+#: field:project.scrum.task,user_id:0
msgid "Assigned to"
msgstr ""
@@ -595,17 +852,45 @@ msgid "Backlog Accurate"
msgstr ""
#. module: project_scrum
-#: help:scrum.project,effective_hours:0
+#: help:project.scrum.project,effective_hours:0
msgid "Sum of spent hours of all tasks related to this project."
msgstr ""
+
#. module: project_scrum
-#: help:scrum.task,project_id:0
+#: model:ir.model,name:project_scrum.model_project_scrum_sprint
+msgid "Project Scrum Sprint"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.product.backlog:0
+msgid "Feature Description"
+msgstr ""
+
+#. module: project_scrum
+#: field:project.scrum.product.backlog,effective_hours:0
+msgid "Spent Hours"
+msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.product.backlog,effective_hours:0
+msgid "Computed using the sum of the time spent on every related tasks"
+msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.act_window,name:project_scrum.open_board_project_scrum
+#: model:ir.ui.menu,name:project_scrum.menu_deshboard_scurm
+msgid "Scrum Dashboard"
+msgstr ""
+
+
+#. module: project_scrum
+#: help:project.scrum.task,project_id:0
msgid "If you have [?] in the project name, it means there are no analytic account linked to this project."
msgstr ""
#. module: project_scrum
-#: help:scrum.project,planned_hours:0
+#: help:project.scrum.project,planned_hours:0
msgid "Sum of planned hours of all tasks related to this project."
msgstr ""
@@ -621,20 +906,20 @@ msgid "My Sprints (Product Owner)"
msgstr ""
#. module: project_scrum
-#: field:scrum.task,name:0
+#: field:project.scrum.task,name:0
msgid "Task summary"
msgstr ""
#. module: project_scrum
-#: help:scrum.project,category_id:0
+#: help:project.scrum.project,category_id:0
msgid "Link this project to an analytic account if you need financial management on projects. It enables you to connect projects with budgets, planning, cost and revenue analysis, timesheets on projects, etc."
msgstr ""
#. module: project_scrum
#: selection:project.scrum.product.backlog,state:0
-#: selection:scrum.project,state:0
+#: selection:project.scrum.project,state:0
#: selection:project.scrum.sprint,state:0
-#: selection:scrum.task,state:0
+#: selection:project.scrum.task,state:0
msgid "Done"
msgstr ""
@@ -664,7 +949,7 @@ msgid "Warn Manager"
msgstr ""
#. module: project_scrum
-#: selection:scrum.task,state:0
+#: selection:project.scrum.task,state:0
msgid "In Progress"
msgstr ""
@@ -679,12 +964,12 @@ msgid "The Object name must start with x_ and not contain any special character
msgstr ""
#. module: project_scrum
-#: field:scrum.task,remaining_hours:0
+#: field:project.scrum.task,remaining_hours:0
msgid "Remaining Hours"
msgstr ""
#. module: project_scrum
-#: field:scrum.task,parent_id:0
+#: field:project.scrum.task,parent_id:0
msgid "Parent Task"
msgstr ""
@@ -695,12 +980,12 @@ msgstr ""
#. module: project_scrum
#: selection:project.scrum.product.backlog,priority:0
-#: selection:scrum.task,priority:0
+#: selection:project.scrum.task,priority:0
msgid "Very Low"
msgstr ""
#. module: project_scrum
-#: help:scrum.project,timesheet_id:0
+#: help:project.scrum.project,timesheet_id:0
msgid "Timetable working hours to adjust the gantt diagram report"
msgstr ""
@@ -728,6 +1013,11 @@ msgstr ""
msgid "Edit Projects"
msgstr ""
+#. module: project_scrum
+#: field:project.scrum.backlog.assign.sprint,state_open:0
+msgid "Set Open"
+msgstr ""
+
#. module: project_scrum
#: model:ir.actions.act_window,name:project_scrum.action_meeting_form
#: model:ir.model,name:project_scrum.model_scrum_meeting
@@ -737,16 +1027,23 @@ msgid "Scrum Meeting"
msgstr ""
#. module: project_scrum
-#: field:scrum.task,description:0
+#: field:project.scrum.task,description:0
msgid "Description"
msgstr ""
#. module: project_scrum
#: selection:project.scrum.product.backlog,priority:0
-#: selection:scrum.task,priority:0
+#: selection:project.scrum.task,priority:0
msgid "Urgent"
msgstr ""
+
+#. module: project_scrum
+#: model:ir.actions.report.xml,name:project_scrum.report_scrum_sprint_burndown_chart
+#: view:project.scrum.sprint:0
+msgid "Burndown Chart"
+msgstr ""
+
#. module: project_scrum
#: view:project.scrum.sprint:0
msgid "Daily Meetings"
@@ -758,7 +1055,7 @@ msgid "What are you working on today ?"
msgstr ""
#. module: project_scrum
-#: selection:scrum.project,state:0
+#: selection:project.scrum.project,state:0
msgid "Running"
msgstr ""
@@ -789,28 +1086,58 @@ msgstr ""
msgid "Sprint Info"
msgstr ""
+
+#. module: project_scrum
+#: help:project.scrum.product.backlog,active:0
+msgid "If Active field is set to true, it will allow you to hide the product backlog without removing it."
+msgstr ""
+
+
+#. module: project_scrum
+#: help:project.scrum.product.backlog,task_hours:0
+msgid "Estimated time of the total hours of the tasks"
+msgstr ""
+
+
#. module: project_scrum
#: field:project.scrum.sprint,scrum_master_id:0
msgid "Scrum Master"
msgstr ""
+
+#. module: project_scrum
+#: field:project.project,scrum:0
+msgid "Is a Scrum Project"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.backlog.merge:0
+msgid "This wizard merge backlogs and create one new backlog with draft state (Old backlogs Will be deleted). And it also merge old tasks from backlogs"
+msgstr ""
+
+#. module: project_scrum
+#: view:project.scrum.backlog.merge:0
+msgid "Select the project for merged backlogs"
+msgstr ""
+
+
#. module: project_scrum
#: field:project.scrum.product.backlog,tasks_id:0
msgid "Tasks Details"
msgstr ""
#. module: project_scrum
-#: field:scrum.task,effective_hours:0
+#: field:project.scrum.task,effective_hours:0
msgid "Hours Spent"
msgstr ""
#. module: project_scrum
-#: field:scrum.task,context_id:0
+#: field:project.scrum.task,context_id:0
msgid "Context"
msgstr ""
#. module: project_scrum
-#: field:scrum.task,total_hours:0
+#: field:project.scrum.task,total_hours:0
msgid "Total Hours"
msgstr ""
@@ -822,12 +1149,18 @@ msgstr ""
#. module: project_scrum
#: field:project.scrum.product.backlog,sequence:0
#: field:project.scrum.project,priority:0
-#: field:scrum.task,sequence:0
+#: field:project.scrum.task,sequence:0
msgid "Sequence"
msgstr ""
#. module: project_scrum
-#: help:scrum.project,warn_footer:0
+#: view:project.scrum.meeting:0
+msgid "Send to Product Owner"
+msgstr ""
+
+
+#. module: project_scrum
+#: help:project.scrum.project,warn_footer:0
msgid "Footer added at the beginning of the email for the warning message sent to the customer when a task is closed."
msgstr ""
diff --git a/addons/project_scrum/i18n/pt.po b/addons/project_scrum/i18n/pt.po
index b947ad8e596..91d946773e6 100644
--- a/addons/project_scrum/i18n/pt.po
+++ b/addons/project_scrum/i18n/pt.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-09-08 14:56+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: neiva.soares@prime.cv \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/pt_BR.po b/addons/project_scrum/i18n/pt_BR.po
index 3aea082e8f6..f08c77315e3 100644
--- a/addons/project_scrum/i18n/pt_BR.po
+++ b/addons/project_scrum/i18n/pt_BR.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-02-22 19:01+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: Luiz Fernando M.França \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/ro.po b/addons/project_scrum/i18n/ro.po
index b2e813f5c38..d159cf00cfe 100644
--- a/addons/project_scrum/i18n/ro.po
+++ b/addons/project_scrum/i18n/ro.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-02-03 06:26+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/ru.po b/addons/project_scrum/i18n/ru.po
index 79f90286f97..9516f178036 100644
--- a/addons/project_scrum/i18n/ru.po
+++ b/addons/project_scrum/i18n/ru.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-07-11 08:27+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: Pomazan Bogdan \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/sl.po b/addons/project_scrum/i18n/sl.po
index 15729fac6a9..3fdb9a36212 100644
--- a/addons/project_scrum/i18n/sl.po
+++ b/addons/project_scrum/i18n/sl.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-12-10 22:08+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: Simon Vidmar \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/sq.po b/addons/project_scrum/i18n/sq.po
index b0ba9983298..9ebdada149d 100644
--- a/addons/project_scrum/i18n/sq.po
+++ b/addons/project_scrum/i18n/sq.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 15:23:46+0000\n"
-"PO-Revision-Date: 2009-08-28 15:23:46+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/sv.po b/addons/project_scrum/i18n/sv.po
index b2dc90d725e..c53dc9d4631 100644
--- a/addons/project_scrum/i18n/sv.po
+++ b/addons/project_scrum/i18n/sv.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-04-10 09:37+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: Fabien (Open ERP) \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/tlh.po b/addons/project_scrum/i18n/tlh.po
index 495757da589..3d290132742 100644
--- a/addons/project_scrum/i18n/tlh.po
+++ b/addons/project_scrum/i18n/tlh.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-02-03 06:26+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/tr.po b/addons/project_scrum/i18n/tr.po
index faadb247517..9bd32c5def9 100644
--- a/addons/project_scrum/i18n/tr.po
+++ b/addons/project_scrum/i18n/tr.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-02-14 21:39+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: Fabien (Open ERP) \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/uk.po b/addons/project_scrum/i18n/uk.po
index 1248e913a85..96358c65246 100644
--- a/addons/project_scrum/i18n/uk.po
+++ b/addons/project_scrum/i18n/uk.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-02-04 06:32+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: Fabien (Open ERP) \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/vi.po b/addons/project_scrum/i18n/vi.po
index aeac69360c2..80f94c820c1 100644
--- a/addons/project_scrum/i18n/vi.po
+++ b/addons/project_scrum/i18n/vi.po
@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:00:38+0000\n"
-"PO-Revision-Date: 2009-08-28 16:00:38+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/zh_CN.po b/addons/project_scrum/i18n/zh_CN.po
index 9ef5a0f1b49..f34a67b3e42 100644
--- a/addons/project_scrum/i18n/zh_CN.po
+++ b/addons/project_scrum/i18n/zh_CN.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2010-03-20 10:28+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: Black Jack \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/project_scrum/i18n/zh_TW.po b/addons/project_scrum/i18n/zh_TW.po
index c3f8246cf04..be75acd60f9 100644
--- a/addons/project_scrum/i18n/zh_TW.po
+++ b/addons/project_scrum/i18n/zh_TW.po
@@ -7,7 +7,7 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.4\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
-"PO-Revision-Date: 2009-01-30 13:29+0000\n"
+"PO-Revision-Date: 2010-07-19 19:07:52+0000\n"
"Last-Translator: Fabien (Open ERP) \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index 155f157ae50..b726b05a19f 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -659,7 +659,6 @@ class sale_order(osv.osv):
'invoice_state': (order.order_policy=='picking' and '2binvoiced') or 'none',
'company_id': order.company_id.id,
})
-
move_id = self.pool.get('stock.move').create(cr, uid, {
'name': line.name[:64],
'picking_id': picking_id,
@@ -721,7 +720,6 @@ class sale_order(osv.osv):
val['state'] = 'manual'
break
self.write(cr, uid, [order.id], val)
-
return True
def action_ship_end(self, cr, uid, ids, context=None):
@@ -941,10 +939,11 @@ class sale_order_line(osv.osv):
for line in self.browse(cr, uid, ids, context=context):
if line.invoiced:
raise osv.except_osv(_('Invalid action !'), _('You cannot cancel a sale order line that has already been invoiced !'))
-# if line.order_id.picking_ids:
-# raise osv.except_osv(
-# _('Could not cancel sale order line!'),
-# _('You must first cancel stock move attached to this sale order line.'))
+ for pick in line.order_id.picking_ids:
+ if pick.state != 'cancel':
+ raise osv.except_osv(
+ _('Could not cancel sale order line!'),
+ _('You must first cancel all pickings attached with sale order.'))
message = _('Sale order line') + " '" + line.name + "' "+_("is cancelled")
self.log(cr, uid, id, message)
return self.write(cr, uid, ids, {'state': 'cancel'})
diff --git a/addons/stock/stock.py b/addons/stock/stock.py
index a0ccca91ddb..4e62e10f637 100644
--- a/addons/stock/stock.py
+++ b/addons/stock/stock.py
@@ -1591,8 +1591,9 @@ class stock_move(osv.osv):
'stock_journal_id': todo[0][1][3],
'company_id': todo[0][1][4] or res_obj._company_default_get(cr, uid, 'stock.company', context),
'address_id': picking.address_id.id,
-
- 'invoice_state': 'none'
+ 'invoice_state': 'none',
+ 'date': picking.date,
+ 'sale_id': picking.sale_id.id
})
for move, (loc, auto, delay, journal, company_id, ptype) in todo:
new_id = self.pool.get('stock.move').copy(cr, uid, move.id, {
diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml
index 6f744ce784d..2eb218da275 100644
--- a/addons/stock/stock_view.xml
+++ b/addons/stock/stock_view.xml
@@ -894,9 +894,9 @@
-
+
@@ -1093,7 +1093,6 @@
-
diff --git a/addons/warning/warning.py b/addons/warning/warning.py
index 0aec93f1c90..4f7b7fcc8d2 100644
--- a/addons/warning/warning.py
+++ b/addons/warning/warning.py
@@ -114,7 +114,7 @@ purchase_order()
class account_invoice(osv.osv):
_inherit = 'account.invoice'
def onchange_partner_id(self, cr, uid, ids, type, partner_id,
- date_invoice=False, payment_term=False, partner_bank=False, company_id=False):
+ date_invoice=False, payment_term=False, partner_bank_id=False, company_id=False):
if not partner_id:
return {'value': {
'address_contact_id': False ,
@@ -138,7 +138,7 @@ class account_invoice(osv.osv):
'message': message
}
result = super(account_invoice, self).onchange_partner_id(cr, uid, ids, type, partner_id,
- date_invoice=False, payment_term=False, partner_bank=False)
+ date_invoice=False, payment_term=False, partner_bank_id=False)
if result.get('warning',False):
warning['title'] = title and title +' & '+ result['warning']['title'] or result['warning']['title']