[MERGE]:merged with trunk
bzr revid: apa@tinyerp.com-20120724054906-fpkmvn5gi45y9a4y
This commit is contained in:
commit
8a0615e1b5
|
@ -99,6 +99,7 @@ module named account_voucher.
|
|||
'wizard/account_reconcile_partner_process_view.xml',
|
||||
'wizard/account_automatic_reconcile_view.xml',
|
||||
'wizard/account_financial_report_view.xml',
|
||||
'wizard/pos_box.xml',
|
||||
'project/wizard/project_account_analytic_line_view.xml',
|
||||
'account_end_fy.xml',
|
||||
'account_invoice_view.xml',
|
||||
|
@ -145,8 +146,8 @@ module named account_voucher.
|
|||
'test/account_use_model.yml',
|
||||
'test/account_validate_account_move.yml',
|
||||
'test/account_fiscalyear_close.yml',
|
||||
'test/account_bank_statement.yml',
|
||||
'test/account_cash_statement.yml',
|
||||
#'test/account_bank_statement.yml',
|
||||
#'test/account_cash_statement.yml',
|
||||
'test/test_edi_invoice.yml',
|
||||
'test/account_report.yml',
|
||||
'test/account_fiscalyear_close_state.yml', #last test, as it will definitively close the demo fiscalyear
|
||||
|
|
|
@ -474,7 +474,7 @@ class account_account(osv.osv):
|
|||
'shortcut': fields.char('Shortcut', size=12),
|
||||
'tax_ids': fields.many2many('account.tax', 'account_account_tax_default_rel',
|
||||
'account_id', 'tax_id', 'Default Taxes'),
|
||||
'note': fields.text('Note'),
|
||||
'note': fields.text('Internal Notes'),
|
||||
'company_currency_id': fields.function(_get_company_currency, type='many2one', relation='res.currency', string='Company Currency'),
|
||||
'company_id': fields.many2one('res.company', 'Company', required=True),
|
||||
'active': fields.boolean('Active', select=2, help="If the active field is set to False, it will allow you to hide the account without removing it."),
|
||||
|
@ -714,6 +714,7 @@ class account_journal(osv.osv):
|
|||
_name = "account.journal"
|
||||
_description = "Journal"
|
||||
_columns = {
|
||||
'with_last_closing_balance' : fields.boolean('Opening With Last Closing Balance'),
|
||||
'name': fields.char('Journal Name', size=64, required=True),
|
||||
'code': fields.char('Code', size=5, required=True, help="The code will be displayed on reports."),
|
||||
'type': fields.selection([('sale', 'Sale'),('sale_refund','Sale Refund'), ('purchase', 'Purchase'), ('purchase_refund','Purchase Refund'), ('cash', 'Cash'), ('bank', 'Bank and Cheques'), ('general', 'General'), ('situation', 'Opening/Closing Situation')], 'Type', size=32, required=True,
|
||||
|
@ -737,9 +738,14 @@ class account_journal(osv.osv):
|
|||
'entry_posted': fields.boolean('Skip \'Draft\' State for Manual Entries', help='Check this box if you don\'t want new journal entries to pass through the \'draft\' state and instead goes directly to the \'posted state\' without any manual validation. \nNote that journal entries that are automatically created by the system are always skipping that state.'),
|
||||
'company_id': fields.many2one('res.company', 'Company', required=True, select=1, help="Company related to this journal"),
|
||||
'allow_date':fields.boolean('Check Date in Period', help= 'If set to True then do not accept the entry if the entry date is not into the period dates'),
|
||||
|
||||
'profit_account_id' : fields.many2one('account.account', 'Profit Account'),
|
||||
'loss_account_id' : fields.many2one('account.account', 'Loss Account'),
|
||||
'internal_account_id' : fields.many2one('account.account', 'Internal Transfers Account', select=1),
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
'with_last_closing_balance' : False,
|
||||
'user_id': lambda self, cr, uid, context: uid,
|
||||
'company_id': lambda self, cr, uid, c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id,
|
||||
}
|
||||
|
@ -1782,7 +1788,7 @@ class account_tax_code(osv.osv):
|
|||
'line_ids': fields.one2many('account.move.line', 'tax_code_id', 'Lines'),
|
||||
'company_id': fields.many2one('res.company', 'Company', required=True),
|
||||
'sign': fields.float('Coefficent for parent', required=True, help='You can specify here the coefficient that will be used when consolidating the amount of this case into its parent. For example, set 1/-1 if you want to add/substract it.'),
|
||||
'notprintable':fields.boolean("Not Printable in Invoice", help="Check this box if you don't want any VAT related to this Tax Code to appear on invoices"),
|
||||
'notprintable':fields.boolean("Not Printable in Invoice", help="Check this box if you don't want any tax related to this tax code to appear on invoices"),
|
||||
'sequence': fields.integer('Sequence', help="Determine the display order in the report 'Accounting \ Reporting \ Generic Reporting \ Taxes \ Taxes Report'"),
|
||||
}
|
||||
|
||||
|
@ -1874,17 +1880,17 @@ class account_tax(osv.osv):
|
|||
'python_applicable':fields.text('Python Code'),
|
||||
|
||||
#
|
||||
# Fields used for the VAT declaration
|
||||
# Fields used for the Tax declaration
|
||||
#
|
||||
'base_code_id': fields.many2one('account.tax.code', 'Account Base Code', help="Use this code for the VAT declaration."),
|
||||
'tax_code_id': fields.many2one('account.tax.code', 'Account Tax Code', help="Use this code for the VAT declaration."),
|
||||
'base_code_id': fields.many2one('account.tax.code', 'Account Base Code', help="Use this code for the tax declaration."),
|
||||
'tax_code_id': fields.many2one('account.tax.code', 'Account Tax Code', help="Use this code for the tax declaration."),
|
||||
'base_sign': fields.float('Base Code Sign', help="Usually 1 or -1."),
|
||||
'tax_sign': fields.float('Tax Code Sign', help="Usually 1 or -1."),
|
||||
|
||||
# Same fields for refund invoices
|
||||
|
||||
'ref_base_code_id': fields.many2one('account.tax.code', 'Refund Base Code', help="Use this code for the VAT declaration."),
|
||||
'ref_tax_code_id': fields.many2one('account.tax.code', 'Refund Tax Code', help="Use this code for the VAT declaration."),
|
||||
'ref_base_code_id': fields.many2one('account.tax.code', 'Refund Base Code', help="Use this code for the tax declaration."),
|
||||
'ref_tax_code_id': fields.many2one('account.tax.code', 'Refund Tax Code', help="Use this code for the tax declaration."),
|
||||
'ref_base_sign': fields.float('Base Code Sign', help="Usually 1 or -1."),
|
||||
'ref_tax_sign': fields.float('Tax Code Sign', help="Usually 1 or -1."),
|
||||
'include_base_amount': fields.boolean('Included in base amount', help="Indicates if the amount of tax must be included in the base amount for the computation of the next taxes"),
|
||||
|
@ -2211,7 +2217,7 @@ class account_tax(osv.osv):
|
|||
def compute_inv(self, cr, uid, taxes, price_unit, quantity, product=None, partner=None, precision=None):
|
||||
"""
|
||||
Compute tax values for given PRICE_UNIT, QUANTITY and a buyer/seller ADDRESS_ID.
|
||||
Price Unit is a VAT included price
|
||||
Price Unit is a Tax included price
|
||||
|
||||
RETURN:
|
||||
[ tax ]
|
||||
|
@ -2667,7 +2673,7 @@ class account_tax_code_template(osv.osv):
|
|||
'parent_id': fields.many2one('account.tax.code.template', 'Parent Code', select=True),
|
||||
'child_ids': fields.one2many('account.tax.code.template', 'parent_id', 'Child Codes'),
|
||||
'sign': fields.float('Sign For Parent', required=True),
|
||||
'notprintable':fields.boolean("Not Printable in Invoice", help="Check this box if you don't want any VAT related to this Tax Code to appear on invoices"),
|
||||
'notprintable':fields.boolean("Not Printable in Invoice", help="Check this box if you don't want any tax related to this tax Code to appear on invoices."),
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
|
@ -2782,17 +2788,17 @@ class account_tax_template(osv.osv):
|
|||
'python_applicable':fields.text('Python Code'),
|
||||
|
||||
#
|
||||
# Fields used for the VAT declaration
|
||||
# Fields used for the Tax declaration
|
||||
#
|
||||
'base_code_id': fields.many2one('account.tax.code.template', 'Base Code', help="Use this code for the VAT declaration."),
|
||||
'tax_code_id': fields.many2one('account.tax.code.template', 'Tax Code', help="Use this code for the VAT declaration."),
|
||||
'base_code_id': fields.many2one('account.tax.code.template', 'Base Code', help="Use this code for the tax declaration."),
|
||||
'tax_code_id': fields.many2one('account.tax.code.template', 'Tax Code', help="Use this code for the tax declaration."),
|
||||
'base_sign': fields.float('Base Code Sign', help="Usually 1 or -1."),
|
||||
'tax_sign': fields.float('Tax Code Sign', help="Usually 1 or -1."),
|
||||
|
||||
# Same fields for refund invoices
|
||||
|
||||
'ref_base_code_id': fields.many2one('account.tax.code.template', 'Refund Base Code', help="Use this code for the VAT declaration."),
|
||||
'ref_tax_code_id': fields.many2one('account.tax.code.template', 'Refund Tax Code', help="Use this code for the VAT declaration."),
|
||||
'ref_base_code_id': fields.many2one('account.tax.code.template', 'Refund Base Code', help="Use this code for the tax declaration."),
|
||||
'ref_tax_code_id': fields.many2one('account.tax.code.template', 'Refund Tax Code', help="Use this code for the tax declaration."),
|
||||
'ref_base_sign': fields.float('Base Code Sign', help="Usually 1 or -1."),
|
||||
'ref_tax_sign': fields.float('Tax Code Sign', help="Usually 1 or -1."),
|
||||
'include_base_amount': fields.boolean('Include in Base Amount', help="Set if the amount of tax must be included in the base amount before computing the next taxes."),
|
||||
|
@ -3345,15 +3351,7 @@ class wizard_multi_charts_accounts(osv.osv_memory):
|
|||
|
||||
# Create Bank journals
|
||||
self._create_bank_journals_from_o2m(cr, uid, obj_wizard, company_id, acc_template_ref, context=context)
|
||||
action = {
|
||||
'type': 'ir.actions.act_window',
|
||||
'view_type': 'form',
|
||||
'view_mode': 'form',
|
||||
'res_model': 'board.board',
|
||||
'view_id': self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account', 'board_account_form')[1],
|
||||
'menu_id': self.pool.get('ir.model.data').get_object_reference(cr, uid, 'account', 'menu_finance')[1]
|
||||
}
|
||||
return action
|
||||
return {}
|
||||
|
||||
def _prepare_bank_journal(self, cr, uid, line, current_num, default_account_id, company_id, context=None):
|
||||
'''
|
||||
|
|
|
@ -26,24 +26,18 @@ from tools.translate import _
|
|||
import decimal_precision as dp
|
||||
|
||||
class account_bank_statement(osv.osv):
|
||||
|
||||
def create(self, cr, uid, vals, context=None):
|
||||
seq = 0
|
||||
if 'line_ids' in vals:
|
||||
new_line_ids = []
|
||||
for line in vals['line_ids']:
|
||||
seq += 1
|
||||
line[2]['sequence'] = seq
|
||||
for idx, line in enumerate(vals['line_ids']):
|
||||
line[2]['sequence'] = idx + 1
|
||||
return super(account_bank_statement, self).create(cr, uid, vals, context=context)
|
||||
|
||||
def write(self, cr, uid, ids, vals, context=None):
|
||||
res = super(account_bank_statement, self).write(cr, uid, ids, vals, context=context)
|
||||
account_bank_statement_line_obj = self.pool.get('account.bank.statement.line')
|
||||
for statement in self.browse(cr, uid, ids, context):
|
||||
seq = 0
|
||||
for line in statement.line_ids:
|
||||
seq += 1
|
||||
account_bank_statement_line_obj.write(cr, uid, [line.id], {'sequence': seq}, context=context)
|
||||
for idx, line in enumerate(statement.line_ids):
|
||||
account_bank_statement_line_obj.write(cr, uid, [line.id], {'sequence': idx + 1}, context=context)
|
||||
return res
|
||||
|
||||
def _default_journal_id(self, cr, uid, context=None):
|
||||
|
@ -51,45 +45,19 @@ class account_bank_statement(osv.osv):
|
|||
context = {}
|
||||
journal_pool = self.pool.get('account.journal')
|
||||
journal_type = context.get('journal_type', False)
|
||||
journal_id = False
|
||||
company_id = self.pool.get('res.company')._company_default_get(cr, uid, 'account.bank.statement',context=context)
|
||||
if journal_type:
|
||||
ids = journal_pool.search(cr, uid, [('type', '=', journal_type),('company_id','=',company_id)])
|
||||
if ids:
|
||||
journal_id = ids[0]
|
||||
return journal_id
|
||||
return ids[0]
|
||||
return False
|
||||
|
||||
def _end_balance(self, cursor, user, ids, name, attr, context=None):
|
||||
res_currency_obj = self.pool.get('res.currency')
|
||||
res_users_obj = self.pool.get('res.users')
|
||||
res = {}
|
||||
|
||||
company_currency_id = res_users_obj.browse(cursor, user, user,
|
||||
context=context).company_id.currency_id.id
|
||||
|
||||
statements = self.browse(cursor, user, ids, context=context)
|
||||
for statement in statements:
|
||||
for statement in self.browse(cursor, user, ids, context=context):
|
||||
res[statement.id] = statement.balance_start
|
||||
currency_id = statement.currency.id
|
||||
for line in statement.move_line_ids:
|
||||
if line.debit > 0:
|
||||
if line.account_id.id == \
|
||||
statement.journal_id.default_debit_account_id.id:
|
||||
res[statement.id] += res_currency_obj.compute(cursor,
|
||||
user, company_currency_id, currency_id,
|
||||
line.debit, context=context)
|
||||
else:
|
||||
if line.account_id.id == \
|
||||
statement.journal_id.default_credit_account_id.id:
|
||||
res[statement.id] -= res_currency_obj.compute(cursor,
|
||||
user, company_currency_id, currency_id,
|
||||
line.credit, context=context)
|
||||
|
||||
if statement.state in ('draft', 'open'):
|
||||
for line in statement.line_ids:
|
||||
res[statement.id] += line.amount
|
||||
for r in res:
|
||||
res[r] = round(res[r], 2)
|
||||
for line in statement.line_ids:
|
||||
res[statement.id] += line.amount
|
||||
return res
|
||||
|
||||
def _get_period(self, cr, uid, context=None):
|
||||
|
@ -129,7 +97,7 @@ class account_bank_statement(osv.osv):
|
|||
_description = "Bank Statement"
|
||||
_inherit = ['mail.thread']
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=64, required=True, states={'draft': [('readonly', False)]}, readonly=True, help='if you give the Name other then /, its created Accounting Entries Move will be with same name as statement name. This allows the statement entries to have the same references than the statement itself'), # readonly for account_cash_statement
|
||||
'name': fields.char('Reference', size=64, required=True, states={'draft': [('readonly', False)]}, readonly=True, help='if you give the Name other then /, its created Accounting Entries Move will be with same name as statement name. This allows the statement entries to have the same references than the statement itself'), # readonly for account_cash_statement
|
||||
'date': fields.date('Date', required=True, states={'confirm': [('readonly', True)]}, select=True),
|
||||
'journal_id': fields.many2one('account.journal', 'Journal', required=True,
|
||||
readonly=True, states={'draft':[('readonly',False)]}),
|
||||
|
@ -141,7 +109,7 @@ class account_bank_statement(osv.osv):
|
|||
states={'confirm': [('readonly', True)]}),
|
||||
'balance_end': fields.function(_end_balance,
|
||||
store = {
|
||||
'account.bank.statement': (lambda self, cr, uid, ids, c={}: ids, ['line_ids','move_line_ids'], 10),
|
||||
'account.bank.statement': (lambda self, cr, uid, ids, c={}: ids, ['line_ids','move_line_ids','balance_start'], 10),
|
||||
'account.bank.statement.line': (_get_statement, ['amount'], 10),
|
||||
},
|
||||
string="Computed Balance", help='Balance as calculated based on Starting Balance and transaction lines'),
|
||||
|
@ -311,7 +279,7 @@ class account_bank_statement(osv.osv):
|
|||
|
||||
def balance_check(self, cr, uid, st_id, journal_type='bank', context=None):
|
||||
st = self.browse(cr, uid, st_id, context=context)
|
||||
if not ((abs((st.balance_end or 0.0) - st.balance_end_real) < 0.0001) or (abs((st.balance_end or 0.0) - st.balance_end_cash) < 0.0001)):
|
||||
if not ((abs((st.balance_end or 0.0) - st.balance_end_real) < 0.0001) or (abs((st.balance_end or 0.0) - st.balance_end_real) < 0.0001)):
|
||||
raise osv.except_osv(_('Error !'),
|
||||
_('The statement balance is incorrect !\nThe expected balance (%.2f) is different than the computed one. (%.2f)') % (st.balance_end_real, st.balance_end))
|
||||
return True
|
||||
|
@ -380,14 +348,18 @@ class account_bank_statement(osv.osv):
|
|||
account_move_obj.unlink(cr, uid, ids, context)
|
||||
done.append(st.id)
|
||||
return self.write(cr, uid, done, {'state':'draft'}, context=context)
|
||||
|
||||
def onchange_journal_id(self, cr, uid, statement_id, journal_id, context=None):
|
||||
|
||||
def _compute_balance_end_real(self, cr, uid, journal_id, context=None):
|
||||
cr.execute('SELECT balance_end_real \
|
||||
FROM account_bank_statement \
|
||||
WHERE journal_id = %s AND NOT state = %s \
|
||||
ORDER BY date DESC,id DESC LIMIT 1', (journal_id, 'draft'))
|
||||
res = cr.fetchone()
|
||||
balance_start = res and res[0] or 0.0
|
||||
return res and res[0] or 0.0
|
||||
|
||||
def onchange_journal_id(self, cr, uid, statement_id, journal_id, context=None):
|
||||
balance_start = self._compute_balance_end_real(cr, uid, journal_id, context=context)
|
||||
|
||||
journal_data = self.pool.get('account.journal').read(cr, uid, journal_id, ['default_debit_account_id', 'company_id'], context=context)
|
||||
account_id = journal_data['default_debit_account_id']
|
||||
company_id = journal_data['company_id']
|
||||
|
|
|
@ -43,24 +43,27 @@ class account_cashbox_line(osv.osv):
|
|||
"""
|
||||
res = {}
|
||||
for obj in self.browse(cr, uid, ids, context=context):
|
||||
res[obj.id] = obj.pieces * obj.number
|
||||
res[obj.id] = {
|
||||
'subtotal_opening' : obj.pieces * obj.number_opening,
|
||||
'subtotal_closing' : obj.pieces * obj.number_closing,
|
||||
}
|
||||
return res
|
||||
|
||||
def on_change_sub(self, cr, uid, ids, pieces, number, *a):
|
||||
def on_change_sub_opening(self, cr, uid, ids, pieces, number, *a):
|
||||
""" Compute the subtotal for the opening """
|
||||
return {'value' : {'subtotal_opening' : (pieces * number) or 0.0 }}
|
||||
|
||||
""" Calculates Sub total on change of number
|
||||
@param pieces: Names of fields.
|
||||
@param number:
|
||||
"""
|
||||
sub = pieces * number
|
||||
return {'value': {'subtotal': sub or 0.0}}
|
||||
def on_change_sub_closing(self, cr, uid, ids, pieces, number, *a):
|
||||
""" Compute the subtotal for the closing """
|
||||
return {'value' : {'subtotal_closing' : (pieces * number) or 0.0 }}
|
||||
|
||||
_columns = {
|
||||
'pieces': fields.float('Values', digits_compute=dp.get_precision('Account')),
|
||||
'number': fields.integer('Number'),
|
||||
'subtotal': fields.function(_sub_total, string='Sub Total', type='float', digits_compute=dp.get_precision('Account')),
|
||||
'starting_id': fields.many2one('account.bank.statement', ondelete='cascade'),
|
||||
'ending_id': fields.many2one('account.bank.statement', ondelete='cascade'),
|
||||
'pieces': fields.float('Unit of Currency', digits_compute=dp.get_precision('Account')),
|
||||
'number_opening' : fields.integer('Number of Units', help='Opening Unit Numbers'),
|
||||
'number_closing' : fields.integer('Number of Units', help='Closing Unit Numbers'),
|
||||
'subtotal_opening': fields.function(_sub_total, string='Opening Subtotal', type='float', digits_compute=dp.get_precision('Account'), multi='subtotal'),
|
||||
'subtotal_closing': fields.function(_sub_total, string='Closing Subtotal', type='float', digits_compute=dp.get_precision('Account'), multi='subtotal'),
|
||||
'bank_statement_id' : fields.many2one('account.bank.statement', ondelete='cascade'),
|
||||
}
|
||||
|
||||
account_cashbox_line()
|
||||
|
@ -69,39 +72,24 @@ class account_cash_statement(osv.osv):
|
|||
|
||||
_inherit = 'account.bank.statement'
|
||||
|
||||
def _get_starting_balance(self, cr, uid, ids, context=None):
|
||||
|
||||
""" Find starting balance
|
||||
@param name: Names of fields.
|
||||
@param arg: User defined arguments
|
||||
@return: Dictionary of values.
|
||||
def _update_balances(self, cr, uid, ids, context=None):
|
||||
"""
|
||||
Set starting and ending balances according to pieces count
|
||||
"""
|
||||
res = {}
|
||||
for statement in self.browse(cr, uid, ids, context=context):
|
||||
amount_total = 0.0
|
||||
|
||||
if statement.journal_id.type not in('cash'):
|
||||
if statement.journal_id.type not in ('cash',):
|
||||
continue
|
||||
|
||||
for line in statement.starting_details_ids:
|
||||
amount_total+= line.pieces * line.number
|
||||
res[statement.id] = {
|
||||
'balance_start': amount_total
|
||||
start = end = 0
|
||||
for line in statement.details_ids:
|
||||
start += line.subtotal_opening
|
||||
end += line.subtotal_closing
|
||||
data = {
|
||||
'balance_start': start,
|
||||
'balance_end_real': end,
|
||||
}
|
||||
return res
|
||||
|
||||
def _balance_end_cash(self, cr, uid, ids, name, arg, context=None):
|
||||
""" Find ending balance "
|
||||
@param name: Names of fields.
|
||||
@param arg: User defined arguments
|
||||
@return: Dictionary of values.
|
||||
"""
|
||||
res = {}
|
||||
for statement in self.browse(cr, uid, ids, context=context):
|
||||
amount_total = 0.0
|
||||
for line in statement.ending_details_ids:
|
||||
amount_total += line.pieces * line.number
|
||||
res[statement.id] = amount_total
|
||||
res[statement.id] = data
|
||||
super(account_cash_statement, self).write(cr, uid, [statement.id], data, context=context)
|
||||
return res
|
||||
|
||||
def _get_sum_entry_encoding(self, cr, uid, ids, name, arg, context=None):
|
||||
|
@ -111,13 +99,10 @@ class account_cash_statement(osv.osv):
|
|||
@param arg: User defined arguments
|
||||
@return: Dictionary of values.
|
||||
"""
|
||||
res2 = {}
|
||||
res = {}
|
||||
for statement in self.browse(cr, uid, ids, context=context):
|
||||
encoding_total=0.0
|
||||
for line in statement.line_ids:
|
||||
encoding_total += line.amount
|
||||
res2[statement.id] = encoding_total
|
||||
return res2
|
||||
res[statement.id] = sum((line.amount for line in statement.line_ids), 0.0)
|
||||
return res
|
||||
|
||||
def _get_company(self, cr, uid, context=None):
|
||||
user_pool = self.pool.get('res.users')
|
||||
|
@ -128,96 +113,98 @@ class account_cash_statement(osv.osv):
|
|||
company_id = company_pool.search(cr, uid, [])
|
||||
return company_id and company_id[0] or False
|
||||
|
||||
def _get_cash_open_box_lines(self, cr, uid, context=None):
|
||||
res = []
|
||||
curr = [1, 2, 5, 10, 20, 50, 100, 500]
|
||||
for rs in curr:
|
||||
dct = {
|
||||
'pieces': rs,
|
||||
'number': 0
|
||||
}
|
||||
res.append(dct)
|
||||
journal_ids = self.pool.get('account.journal').search(cr, uid, [('type', '=', 'cash')], context=context)
|
||||
if journal_ids:
|
||||
results = self.search(cr, uid, [('journal_id', 'in', journal_ids),('state', '=', 'confirm')], context=context)
|
||||
if results:
|
||||
cash_st = self.browse(cr, uid, results, context=context)[0]
|
||||
for cash_line in cash_st.ending_details_ids:
|
||||
for r in res:
|
||||
if cash_line.pieces == r['pieces']:
|
||||
r['number'] = cash_line.number
|
||||
return res
|
||||
|
||||
def _get_default_cash_close_box_lines(self, cr, uid, context=None):
|
||||
res = []
|
||||
curr = [1, 2, 5, 10, 20, 50, 100, 500]
|
||||
for rs in curr:
|
||||
dct = {
|
||||
'pieces': rs,
|
||||
'number': 0
|
||||
}
|
||||
res.append(dct)
|
||||
return res
|
||||
|
||||
def _get_cash_close_box_lines(self, cr, uid, context=None):
|
||||
res = []
|
||||
curr = [1, 2, 5, 10, 20, 50, 100, 500]
|
||||
for rs in curr:
|
||||
dct = {
|
||||
'pieces': rs,
|
||||
'number': 0
|
||||
}
|
||||
res.append((0, 0, dct))
|
||||
return res
|
||||
|
||||
def _get_cash_open_close_box_lines(self, cr, uid, context=None):
|
||||
res = {}
|
||||
start_l = []
|
||||
end_l = []
|
||||
starting_details = self._get_cash_open_box_lines(cr, uid, context=context)
|
||||
ending_details = self._get_default_cash_close_box_lines(cr, uid, context)
|
||||
for start in starting_details:
|
||||
start_l.append((0, 0, start))
|
||||
for end in ending_details:
|
||||
end_l.append((0, 0, end))
|
||||
res['start'] = start_l
|
||||
res['end'] = end_l
|
||||
return res
|
||||
|
||||
def _get_statement(self, cr, uid, ids, context=None):
|
||||
def _get_statement_from_line(self, cr, uid, ids, context=None):
|
||||
result = {}
|
||||
for line in self.pool.get('account.bank.statement.line').browse(cr, uid, ids, context=context):
|
||||
result[line.statement_id.id] = True
|
||||
return result.keys()
|
||||
|
||||
def _compute_difference(self, cr, uid, ids, fieldnames, args, context=None):
|
||||
result = dict.fromkeys(ids, 0.0)
|
||||
|
||||
for obj in self.browse(cr, uid, ids, context=context):
|
||||
result[obj.id] = obj.balance_end_real - obj.balance_end
|
||||
|
||||
return result
|
||||
|
||||
def _compute_last_closing_balance(self, cr, uid, ids, fieldnames, args, context=None):
|
||||
result = dict.fromkeys(ids, 0.0)
|
||||
|
||||
for obj in self.browse(cr, uid, ids, context=context):
|
||||
if obj.state == 'draft':
|
||||
statement_ids = self.search(cr, uid,
|
||||
[('journal_id', '=', obj.journal_id.id),('state', '=', 'confirm')],
|
||||
order='create_date desc',
|
||||
limit=1,
|
||||
context=context
|
||||
)
|
||||
|
||||
if not statement_ids:
|
||||
continue
|
||||
else:
|
||||
st = self.browse(cr, uid, statement_ids[0], context=context)
|
||||
result[obj.id] = st.balance_end_real
|
||||
|
||||
return result
|
||||
|
||||
def onchange_journal_id(self, cr, uid, ids, journal_id, context=None):
|
||||
result = super(account_cash_statement, self).onchange_journal_id(cr, uid, ids, journal_id)
|
||||
|
||||
if not journal_id:
|
||||
return result
|
||||
|
||||
statement_ids = self.search(cr, uid,
|
||||
[('journal_id', '=', journal_id),('state', '=', 'confirm')],
|
||||
order='create_date desc',
|
||||
limit=1,
|
||||
context=context
|
||||
)
|
||||
|
||||
if not statement_ids:
|
||||
return result
|
||||
|
||||
st = self.browse(cr, uid, statement_ids[0], context=context)
|
||||
result.setdefault('value', {}).update({'last_closing_balance' : st.balance_end_real})
|
||||
|
||||
return result
|
||||
|
||||
_columns = {
|
||||
'total_entry_encoding': fields.function(_get_sum_entry_encoding, string="Cash Transaction", help="Total cash transactions",
|
||||
'total_entry_encoding': fields.function(_get_sum_entry_encoding, string="Total Cash Transactions",
|
||||
store = {
|
||||
'account.bank.statement': (lambda self, cr, uid, ids, c={}: ids, ['line_ids','move_line_ids'], 10),
|
||||
'account.bank.statement.line': (_get_statement, ['amount'], 10),
|
||||
'account.bank.statement': (lambda self, cr, uid, ids, context=None: ids, ['line_ids','move_line_ids'], 10),
|
||||
'account.bank.statement.line': (_get_statement_from_line, ['amount'], 10),
|
||||
}),
|
||||
'closing_date': fields.datetime("Closed On"),
|
||||
'balance_end_cash': fields.function(_balance_end_cash, store=True, string='Closing Balance', help="Closing balance based on cashBox"),
|
||||
'starting_details_ids': fields.one2many('account.cashbox.line', 'starting_id', string='Opening Cashbox'),
|
||||
'ending_details_ids': fields.one2many('account.cashbox.line', 'ending_id', string='Closing Cashbox'),
|
||||
'details_ids' : fields.one2many('account.cashbox.line', 'bank_statement_id', string='CashBox Lines'),
|
||||
'opening_details_ids' : fields.one2many('account.cashbox.line', 'bank_statement_id', string='Opening Cashbox Lines'),
|
||||
'closing_details_ids' : fields.one2many('account.cashbox.line', 'bank_statement_id', string='Closing Cashbox Lines'),
|
||||
'user_id': fields.many2one('res.users', 'Responsible', required=False),
|
||||
'difference' : fields.function(_compute_difference, method=True, string="Difference", type="float"),
|
||||
'last_closing_balance' : fields.function(_compute_last_closing_balance, method=True, string='Last Closing Balance', type='float'),
|
||||
}
|
||||
_defaults = {
|
||||
'state': 'draft',
|
||||
'date': lambda self,cr,uid,context={}: context.get('date', time.strftime("%Y-%m-%d %H:%M:%S")),
|
||||
'date': lambda self, cr, uid, context={}: context.get('date', time.strftime("%Y-%m-%d %H:%M:%S")),
|
||||
'user_id': lambda self, cr, uid, context=None: uid,
|
||||
'starting_details_ids': _get_cash_open_box_lines,
|
||||
'ending_details_ids': _get_default_cash_close_box_lines
|
||||
}
|
||||
}
|
||||
|
||||
def create(self, cr, uid, vals, context=None):
|
||||
if self.pool.get('account.journal').browse(cr, uid, vals['journal_id'], context=context).type == 'cash':
|
||||
amount_total = 0.0
|
||||
for line in vals.get('starting_details_ids',[]):
|
||||
if line and len(line)==3 and line[2]:
|
||||
amount_total+= line[2]['pieces'] * line[2]['number']
|
||||
vals.update(balance_start= amount_total)
|
||||
return super(account_cash_statement, self).create(cr, uid, vals, context=context)
|
||||
journal = False
|
||||
if vals.get('journal_id'):
|
||||
journal = self.pool.get('account.journal').browse(cr, uid, vals['journal_id'], context=context)
|
||||
if journal and (journal.type == 'cash') and not vals.get('details_ids'):
|
||||
vals['details_ids'] = []
|
||||
for value in journal.cashbox_line_ids:
|
||||
nested_values = {
|
||||
'number_closing' : 0,
|
||||
'number_opening' : 0,
|
||||
'pieces' : value.pieces
|
||||
}
|
||||
vals['details_ids'].append([0, False, nested_values])
|
||||
|
||||
res_id = super(account_cash_statement, self).create(cr, uid, vals, context=context)
|
||||
self._update_balances(cr, uid, [res_id], context)
|
||||
return res_id
|
||||
|
||||
def write(self, cr, uid, ids, vals, context=None):
|
||||
"""
|
||||
|
@ -233,34 +220,9 @@ class account_cash_statement(osv.osv):
|
|||
@return: True on success, False otherwise
|
||||
"""
|
||||
|
||||
super(account_cash_statement, self).write(cr, uid, ids, vals, context=context)
|
||||
res = self._get_starting_balance(cr, uid, ids)
|
||||
for rs in res:
|
||||
super(account_cash_statement, self).write(cr, uid, [rs], res.get(rs))
|
||||
return True
|
||||
|
||||
def onchange_journal_id(self, cr, uid, statement_id, journal_id, context=None):
|
||||
""" Changes balance start and starting details if journal_id changes"
|
||||
@param statement_id: Changed statement_id
|
||||
@param journal_id: Changed journal_id
|
||||
@return: Dictionary of changed values
|
||||
"""
|
||||
res = {}
|
||||
balance_start = 0.0
|
||||
if not journal_id:
|
||||
res.update({
|
||||
'balance_start': balance_start
|
||||
})
|
||||
return res
|
||||
return super(account_cash_statement, self).onchange_journal_id(cr, uid, statement_id, journal_id, context=context)
|
||||
|
||||
def _equal_balance(self, cr, uid, cash_id, context=None):
|
||||
statement = self.browse(cr, uid, cash_id, context=context)
|
||||
self.write(cr, uid, [cash_id], {'balance_end_real': statement.balance_end})
|
||||
statement.balance_end_real = statement.balance_end
|
||||
if statement.balance_end != statement.balance_end_cash:
|
||||
return False
|
||||
return True
|
||||
res = super(account_cash_statement, self).write(cr, uid, ids, vals, context=context)
|
||||
self._update_balances(cr, uid, ids, context)
|
||||
return res
|
||||
|
||||
def _user_allow(self, cr, uid, statement_id, context=None):
|
||||
return True
|
||||
|
@ -276,7 +238,7 @@ class account_cash_statement(osv.osv):
|
|||
for statement in statement_pool.browse(cr, uid, ids, context=context):
|
||||
vals = {}
|
||||
if not self._user_allow(cr, uid, statement.id, context=context):
|
||||
raise osv.except_osv(_('Error !'), (_('User %s does not have rights to access %s journal !') % (statement.user_id.name, statement.journal_id.name)))
|
||||
raise osv.except_osv(_('Error !'), (_('You do not have rights to open this %s journal !') % (statement.journal_id.name, )))
|
||||
|
||||
if statement.name and statement.name == '/':
|
||||
c = {'fiscalyear_id': statement.period_id.fiscalyear_id.id}
|
||||
|
@ -294,13 +256,6 @@ class account_cash_statement(osv.osv):
|
|||
self.write(cr, uid, [statement.id], vals, context=context)
|
||||
return True
|
||||
|
||||
def balance_check(self, cr, uid, cash_id, journal_type='bank', context=None):
|
||||
if journal_type == 'bank':
|
||||
return super(account_cash_statement, self).balance_check(cr, uid, cash_id, journal_type, context)
|
||||
if not self._equal_balance(cr, uid, cash_id, context):
|
||||
raise osv.except_osv(_('Error !'), _('The closing balance should be the same than the computed balance!'))
|
||||
return True
|
||||
|
||||
def statement_close(self, cr, uid, ids, journal_type='bank', context=None):
|
||||
if journal_type == 'bank':
|
||||
return super(account_cash_statement, self).statement_close(cr, uid, ids, journal_type, context)
|
||||
|
@ -317,16 +272,67 @@ class account_cash_statement(osv.osv):
|
|||
|
||||
def button_confirm_cash(self, cr, uid, ids, context=None):
|
||||
super(account_cash_statement, self).button_confirm_bank(cr, uid, ids, context=context)
|
||||
return self.write(cr, uid, ids, {'closing_date': time.strftime("%Y-%m-%d %H:%M:%S")}, context=context)
|
||||
absl_proxy = self.pool.get('account.bank.statement.line')
|
||||
|
||||
def button_cancel(self, cr, uid, ids, context=None):
|
||||
cash_box_line_pool = self.pool.get('account.cashbox.line')
|
||||
super(account_cash_statement, self).button_cancel(cr, uid, ids, context=context)
|
||||
for st in self.browse(cr, uid, ids, context):
|
||||
for end in st.ending_details_ids:
|
||||
cash_box_line_pool.write(cr, uid, [end.id], {'number': 0})
|
||||
return True
|
||||
TABLES = (('Profit', 'profit_account_id'), ('Loss', 'loss_account_id'),)
|
||||
|
||||
for obj in self.browse(cr, uid, ids, context=context):
|
||||
if obj.difference == 0.0:
|
||||
continue
|
||||
|
||||
for item_label, item_account in TALBES:
|
||||
if getattr(obj.journal_id, item_account):
|
||||
raise osv.except_osv(_('Error !'),
|
||||
_('There is no %s Account on the Journal %s') % (item_label, obj.journal_id.name,))
|
||||
|
||||
is_profit = obj.difference < 0.0
|
||||
|
||||
account = getattr(obj.journal_id, TABLES[is_profit][1])
|
||||
|
||||
values = {
|
||||
'statement_id' : obj.id,
|
||||
'journal_id' : obj.journal_id.id,
|
||||
'account_id' : account.id,
|
||||
'amount' : obj.difference,
|
||||
'name' : 'Exceptional %s' % TABLES[is_profit][0],
|
||||
}
|
||||
|
||||
absl_proxy.create(cr, uid, values, context=context)
|
||||
|
||||
return self.write(cr, uid, ids, {'closing_date': time.strftime("%Y-%m-%d %H:%M:%S")}, context=context)
|
||||
|
||||
account_cash_statement()
|
||||
|
||||
class account_journal(osv.osv):
|
||||
_inherit = 'account.journal'
|
||||
|
||||
def _default_cashbox_line_ids(self, cr, uid, context=None):
|
||||
# Return a list of coins in Euros.
|
||||
result = [
|
||||
dict(pieces=value) for value in [0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10, 20, 50, 100, 200, 500]
|
||||
]
|
||||
return result
|
||||
|
||||
_columns = {
|
||||
'cashbox_line_ids' : fields.one2many('account.journal.cashbox.line', 'journal_id', 'CashBox'),
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
'cashbox_line_ids' : _default_cashbox_line_ids,
|
||||
}
|
||||
|
||||
account_journal()
|
||||
|
||||
class account_journal_cashbox_line(osv.osv):
|
||||
_name = 'account.journal.cashbox.line'
|
||||
_rec_name = 'value'
|
||||
_columns = {
|
||||
'pieces': fields.float('Values', digits_compute=dp.get_precision('Account')),
|
||||
'journal_id' : fields.many2one('account.journal', 'Journal', required=True, select=1),
|
||||
}
|
||||
|
||||
_order = 'pieces asc'
|
||||
|
||||
account_journal_cashbox_line()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
|
|
@ -177,11 +177,11 @@
|
|||
domain="[('supplier', '=', True)]"/>
|
||||
<field name="fiscal_position" widget="selection"/>
|
||||
<field name="origin"/>
|
||||
<label for="reference_type"/>
|
||||
<div>
|
||||
<label for="reference_type"/>
|
||||
<div>
|
||||
<field name="reference_type" class="oe_inline oe_edit_only"/>
|
||||
<field name="reference" class="oe_inline"/>
|
||||
</div>
|
||||
</div>
|
||||
</group>
|
||||
<group>
|
||||
<field name="date_invoice"/>
|
||||
|
@ -292,8 +292,10 @@
|
|||
<form version="7.0">
|
||||
<header>
|
||||
<span groups="base.group_user">
|
||||
<button name="action_invoice_sent" type="object" string="Send by Email" states="open" attrs="{'invisible':['|',('sent','=',True), ('state', '=', 'draft')]}" class="oe_highlight"/>
|
||||
<button name="invoice_print" string="Print Invoice" type="object" states="open" attrs="{'invisible':['|',('sent','=',True), ('state', '=', 'draft')]}" class="oe_highlight"/>
|
||||
<button name="action_invoice_sent" type="object" string="Send by Email" attrs="{'invisible':['|',('sent','=',True), ('state', '!=', 'open')]}" class="oe_highlight"/>
|
||||
<button name="invoice_print" string="Print Invoice" type="object" attrs="{'invisible':['|',('sent','=',True), ('state', '!=', 'open')]}" class="oe_highlight"/>
|
||||
<button name="action_invoice_sent" type="object" string="Send by Email" attrs="{'invisible':['|',('sent','=',False), ('state', '!=', 'open')]}"/>
|
||||
<button name="invoice_print" string="Print Invoice" type="object" attrs="{'invisible':['|',('sent','=',False), ('state', '!=', 'open')]}"/>
|
||||
<button name="invoice_open" states="draft" string="Validate" class="oe_highlight"/>
|
||||
<button name="invoice_open" states="proforma2" string="Validate"/>
|
||||
<button name="invoice_proforma2" states="draft" string="PRO-FORMA" groups="account.group_proforma_invoices"/>
|
||||
|
@ -322,11 +324,9 @@
|
|||
<field name="fiscal_position" widget="selection" />
|
||||
</group>
|
||||
<group>
|
||||
|
||||
<field name="date_invoice"/>
|
||||
<field name="journal_id" groups="account.group_account_user"
|
||||
on_change="onchange_journal_id(journal_id, context)" widget="selection"/>
|
||||
|
||||
<field domain="[('company_id', '=', company_id),('type','=', 'receivable')]"
|
||||
name="account_id" groups="account.group_account_user"/>
|
||||
|
||||
|
@ -342,7 +342,6 @@
|
|||
</group>
|
||||
</group>
|
||||
<field name="sent" invisible="1"/>
|
||||
|
||||
<notebook colspan="4">
|
||||
<page string="Invoice Lines">
|
||||
<field name="invoice_line" nolabel="1" widget="one2many_list" context="{'type': type}"/>
|
||||
|
|
|
@ -2,10 +2,12 @@
|
|||
<openerp>
|
||||
<data>
|
||||
|
||||
<menuitem icon="terp-account" id="menu_finance" name="Invoicing" sequence="14"
|
||||
<!-- Top menu item -->
|
||||
<menuitem name="Invoicing"
|
||||
id="menu_finance"
|
||||
groups="group_account_user,group_account_manager,group_account_invoice"
|
||||
web_icon="images/accounting.png"
|
||||
web_icon_hover="images/accounting-hover.png"/>
|
||||
sequence="100"/>
|
||||
|
||||
<menuitem id="menu_finance_receivables" name="Customers" parent="menu_finance" sequence="2"/>
|
||||
<menuitem id="menu_finance_payables" name="Suppliers" parent="menu_finance" sequence="3"/>
|
||||
<menuitem id="menu_finance_bank_and_cash" name="Bank and Cash" parent="menu_finance" sequence="4"
|
||||
|
|
|
@ -19,6 +19,7 @@
|
|||
#
|
||||
##############################################################################
|
||||
|
||||
import sys
|
||||
import time
|
||||
from datetime import datetime
|
||||
from operator import itemgetter
|
||||
|
@ -326,7 +327,7 @@ class account_move_line(osv.osv):
|
|||
|
||||
if account and ((not fields) or ('debit' in fields) or ('credit' in fields)):
|
||||
data['account_id'] = account.id
|
||||
# Propose the price VAT excluded, the VAT will be added when confirming line
|
||||
# Propose the price Tax excluded, the Tax will be added when confirming line
|
||||
if account.tax_ids:
|
||||
taxes = fiscal_pos_obj.map_tax(cr, uid, part and part.property_account_position or False, account.tax_ids)
|
||||
tax = tax_obj.browse(cr, uid, taxes)
|
||||
|
@ -985,37 +986,32 @@ class account_move_line(osv.osv):
|
|||
if context.get('view_mode', False):
|
||||
return result
|
||||
fld = []
|
||||
fields = {}
|
||||
flds = []
|
||||
title = _("Accounting Entries") #self.view_header_get(cr, uid, view_id, view_type, context)
|
||||
title = _("Accounting Entries") # self.view_header_get(cr, uid, view_id, view_type, context)
|
||||
|
||||
ids = journal_pool.search(cr, uid, [])
|
||||
ids = journal_pool.search(cr, uid, [], context=context)
|
||||
journals = journal_pool.browse(cr, uid, ids, context=context)
|
||||
all_journal = [None]
|
||||
common_fields = {}
|
||||
total = len(journals)
|
||||
for journal in journals:
|
||||
all_journal.append(journal.id)
|
||||
for field in journal.view_id.columns_id:
|
||||
# sometimes, it's possible that a defined column is not loaded (the module containing
|
||||
# sometimes, it's possible that a defined column is not loaded (the module containing
|
||||
# this field is not loaded) when we make an update.
|
||||
if field.name not in self._columns:
|
||||
if field.field not in self._columns:
|
||||
continue
|
||||
|
||||
if not field.field in fields:
|
||||
fields[field.field] = [journal.id]
|
||||
if not field.field in flds:
|
||||
fld.append((field.field, field.sequence))
|
||||
flds.append(field.field)
|
||||
common_fields[field.field] = 1
|
||||
else:
|
||||
fields.get(field.field).append(journal.id)
|
||||
common_fields[field.field] = common_fields[field.field] + 1
|
||||
fld.append(('period_id', 3))
|
||||
fld.append(('journal_id', 10))
|
||||
flds.append('period_id')
|
||||
flds.append('journal_id')
|
||||
fields['period_id'] = all_journal
|
||||
fields['journal_id'] = all_journal
|
||||
|
||||
default_columns = {
|
||||
'period_id': 3,
|
||||
'journal_id': 10,
|
||||
'state': sys.maxint,
|
||||
}
|
||||
for d in default_columns:
|
||||
if d not in flds:
|
||||
fld.append((d, default_columns[d]))
|
||||
flds.append(d)
|
||||
|
||||
fld = sorted(fld, key=itemgetter(1))
|
||||
widths = {
|
||||
'statement_id': 50,
|
||||
|
@ -1029,10 +1025,7 @@ class account_move_line(osv.osv):
|
|||
colors="red:state=='draft';black:state=='valid'")
|
||||
fields_get = self.fields_get(cr, uid, flds, context)
|
||||
for field, _seq in fld:
|
||||
if common_fields.get(field) == total:
|
||||
fields.get(field).append(None)
|
||||
# if field=='state':
|
||||
# state = 'colors="red:state==\'draft\'"'
|
||||
# TODO add string to element
|
||||
f = etree.SubElement(document, 'field', name=field)
|
||||
|
||||
if field == 'debit':
|
||||
|
@ -1354,7 +1347,7 @@ class account_move_line(osv.osv):
|
|||
}
|
||||
if data['tax_code_id']:
|
||||
self.create(cr, uid, data, context)
|
||||
#create the VAT movement
|
||||
#create the Tax movement
|
||||
data = {
|
||||
'move_id': vals['move_id'],
|
||||
'name': tools.ustr(vals['name'] or '') + ' ' + tools.ustr(tax['name'] or ''),
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
<button name="create_period3" states="draft" string="Create 3 Months Periods" type="object" class="oe_highlight"/>
|
||||
<field name="state" widget="statusbar" nolabel="1" />
|
||||
</header>
|
||||
<sheet string="Fiscalyear" >
|
||||
<group>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
|
@ -38,10 +37,10 @@
|
|||
<field name="date_start"/>
|
||||
<field name="date_stop"/>
|
||||
<field name="special"/>
|
||||
<field name="state" invisible="1"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -99,21 +98,28 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form version="7.0">
|
||||
<header>
|
||||
<button name="action_draft" states="done" string="Set to Draft" type="object" groups="account.group_account_manager"/>
|
||||
<field name="state" widget="statusbar" nolabel="1"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group col="4">
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="date_start"/>
|
||||
<field name="date_stop"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
<field name="fiscalyear_id" widget="selection"/>
|
||||
<field name="special"/>
|
||||
</group>
|
||||
</sheet>
|
||||
<header>
|
||||
<button name="action_draft" states="done" string="Set to Draft" type="object" groups="account.group_account_manager"/>
|
||||
<field name="state" widget="statusbar" nolabel="1"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="fiscalyear_id" widget="selection"/>
|
||||
<label for="date_start" string="Duration"/>
|
||||
<div>
|
||||
<field name="date_start" class="oe_inline" nolabel="1"/> -
|
||||
<field name="date_stop" nolabel="1" class="oe_inline"/>
|
||||
</div>
|
||||
</group>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
<field name="special"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -169,41 +175,37 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Account" version="7.0">
|
||||
<label for="name" class="oe_edit_only" string="Account Name and Code:"/>
|
||||
<label for="code" class="oe_edit_only" string="Account Code and Name"/>
|
||||
<h1>
|
||||
<field name="name"/> -
|
||||
<field name="code"/>
|
||||
<field name="code" class="oe_inline" placeholder="Account code" style="width: 6em"/> -
|
||||
<field name="name" class="oe_inline" placeholder="Account name"/>
|
||||
</h1>
|
||||
<label for="company_id"/>
|
||||
<h2>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
</h2>
|
||||
<group>
|
||||
<group>
|
||||
<field name="parent_id"/>
|
||||
<field name="type"/>
|
||||
<field name="user_type"/>
|
||||
<field name="active"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="debit" invisible="context.get('config_invisible', True)" attrs="{'readonly':[('type','=','view')]}"/>
|
||||
<field name="credit" invisible="context.get('config_invisible', True)" attrs="{'readonly':[('type','=','view')]}"/>
|
||||
<field name="balance" invisible="context.get('config_invisible', True)"/>
|
||||
<field name="debit" attrs="{'readonly':[('type','=','view')]}"/>
|
||||
<field name="credit" attrs="{'readonly':[('type','=','view')]}"/>
|
||||
<field name="balance"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="tax_ids" domain="[('parent_id','=',False)]" widget="many2many_tags"/>
|
||||
<field name="reconcile"/>
|
||||
<field name="child_consol_ids"
|
||||
attrs="{'readonly':[('type','!=','consolidation')]}"
|
||||
attrs="{'invisible':[('type','!=','consolidation')]}"
|
||||
widget="many2many_tags"/>
|
||||
</group>
|
||||
<group string="Currency">
|
||||
<group>
|
||||
<field name="currency_id"/>
|
||||
<field name="currency_mode" attrs="{'readonly': [('currency_id','=',False)]}"/>
|
||||
</group>
|
||||
<group string="Reconcile">
|
||||
<field name="reconcile"/>
|
||||
</group>
|
||||
</group>
|
||||
<label for="note"/>
|
||||
<field name="note"/>
|
||||
</form>
|
||||
</field>
|
||||
|
@ -467,38 +469,59 @@
|
|||
<div class="oe_title">
|
||||
<label for="name" class="oe_edit_only"/>
|
||||
<h1><field name="name"/></h1>
|
||||
<label for="type" class="oe_edit_only"/>
|
||||
<h2><field name="type" on_change="onchange_type(type, currency, context)"/></h2>
|
||||
</div>
|
||||
<notebook>
|
||||
<page string="Journal Configuration">
|
||||
<group>
|
||||
<group>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
<field name="currency"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="user_id"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="default_debit_account_id" attrs="{'required':[('type','in', ('cash', 'bank'))]}" domain="[('type','<>','view'),('type','<>','consolidation')]"/>
|
||||
<field name="default_credit_account_id" attrs="{'required':[('type','in',('cash', 'bank'))]}" domain="[('type','<>','view'),('type','<>','consolidation')]"/>
|
||||
<field name="view_id" widget="selection"/>
|
||||
<field name="sequence_id" required="0"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="centralisation"/>
|
||||
<field name="entry_posted"/>
|
||||
<field name="allow_date"/>
|
||||
<field name="group_invoice_lines"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="type_control_ids" widget="many2many_tags"/>
|
||||
<field name="account_control_ids" widget="many2many_tags"/>
|
||||
</group>
|
||||
<field name="code"/>
|
||||
<field name="type" on_change="onchange_type(type, currency, context)"/>
|
||||
</group>
|
||||
</page>
|
||||
<group>
|
||||
<field name="default_debit_account_id" attrs="{'required':[('type','in', ('cash', 'bank'))]}" domain="[('type','<>','view'),('type','<>','consolidation')]"/>
|
||||
<field name="default_credit_account_id" attrs="{'required':[('type','in',('cash', 'bank'))]}" domain="[('type','<>','view'),('type','<>','consolidation')]"/>
|
||||
<field name="currency"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Advanced Settings">
|
||||
<group>
|
||||
<group>
|
||||
<field name="user_id"/>
|
||||
<field name="view_id" widget="selection"/>
|
||||
<field name="sequence_id" required="0"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="centralisation"/>
|
||||
<field name="entry_posted"/>
|
||||
<field name="allow_date"/>
|
||||
<field name="group_invoice_lines"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Entry Controls">
|
||||
<separator colspan="4" string="Accounts Type Allowed (empty for no control)"/>
|
||||
<field colspan="4" name="type_control_ids" nolabel="1"/>
|
||||
<separator colspan="4" string="Accounts Allowed (empty for no control)"/>
|
||||
<field colspan="4" name="account_control_ids" nolabel="1"/>
|
||||
</page>
|
||||
<page string="Cash Registers" attrs="{'invisible':[('type', '!=', 'cash')]}">
|
||||
<group>
|
||||
<group string="Accounts">
|
||||
<field name="profit_account_id"/>
|
||||
<field name="loss_account_id"/>
|
||||
<field name="internal_account_id"/>
|
||||
</group>
|
||||
<group string="Miscellaneous">
|
||||
<field name="with_last_closing_balance"/>
|
||||
</group>
|
||||
</group>
|
||||
<separator string="Available Coins" colspan="4" />
|
||||
<field name="cashbox_line_ids" nolabel="1" string="Unit Of Currency Definition" colspan="4">
|
||||
<tree string="CashBox Lines" editable="bottom">
|
||||
<field name="pieces" />
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
</field>
|
||||
|
@ -598,17 +621,29 @@
|
|||
<field name="state" widget="statusbar" statusbar_visible="draft,confirm"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<div class="oe_right oe_button_box" name="import_buttons">
|
||||
<!-- Put here related buttons -->
|
||||
</div>
|
||||
<label for="name" class="oe_edit_only" attrs="{'invisible':[('name','=','/')]}"/>
|
||||
<h1>
|
||||
<field name="name" attrs="{'invisible':[('name','=','/')]}"/>
|
||||
</h1>
|
||||
<group>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="date" on_change="onchange_date(date, company_id)"/>
|
||||
<field name="journal_id" domain="[('type', '=', 'bank')]" on_change="onchange_journal_id(journal_id)" widget="selection"/>
|
||||
<field name="period_id"/>
|
||||
<label for="date" string="Date / Period"/>
|
||||
<div>
|
||||
<field name="date" on_change="onchange_date(date, company_id)" class="oe_inline"/>
|
||||
<field name="period_id" class="oe_inline"/>
|
||||
</div>
|
||||
<field name='company_id' widget="selection" groups="base.group_multi_company" />
|
||||
</group><group>
|
||||
<field name="balance_start"/>
|
||||
<label for="balance_start"/>
|
||||
<div>
|
||||
<field name="balance_start" class="oe_inline"/>
|
||||
<field name="currency" class="oe_inline"/>
|
||||
</div>
|
||||
<field name="balance_end_real"/>
|
||||
<field name="currency" invisible="1"/>
|
||||
</group>
|
||||
</group>
|
||||
|
||||
|
@ -894,47 +929,68 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Account Tax" version="7.0">
|
||||
<group col="4">
|
||||
<field name="name"/>
|
||||
<field name="description"/>
|
||||
<field name="type_tax_use"/>
|
||||
<field name="price_include"/>
|
||||
<field name="active"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
<group>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="description"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="type_tax_use"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
<field name="active"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Tax Definition">
|
||||
<group col="4">
|
||||
<field name="type"/>
|
||||
<field name="amount" attrs="{'readonly':[('type','in',('none', 'code', 'balance'))]}"/>
|
||||
<separator colspan="4" string="Accounting Information"/>
|
||||
<group>
|
||||
<group string="Tax Computation">
|
||||
<label for="type"/>
|
||||
<div>
|
||||
<field name="type"/>
|
||||
<field name="amount" class="oe_inline"
|
||||
attrs="{'invisible':[('type','in',('none', 'code', 'balance'))]}"/>
|
||||
<label string="%%" attrs="{'invisible':[('type','<>','percent')]}"/>
|
||||
</div>
|
||||
<field name="python_compute" attrs="{'invisible':[('type','!=','code')],'required':[('type','=','code')]}"/>
|
||||
<field name="python_compute_inv" attrs="{'invisible':[('type','!=','code')],'required':[('type','=','code')]}"/>
|
||||
<field name="price_include"/>
|
||||
</group>
|
||||
<group string="Misc">
|
||||
<field name="sequence"/>
|
||||
<field name="include_base_amount"/>
|
||||
<field name="child_depend"/>
|
||||
</group>
|
||||
<group string="Invoices">
|
||||
<field name="account_collected_id" domain="[('type','<>','view'),('type','<>','consolidation')]"/>
|
||||
<field name="account_analytic_collected_id" domain="[('type','<>','view'), ('company_id', '=', company_id), ('parent_id', '<>', False)]" groups="analytic.group_analytic_accounting"/>
|
||||
<field name="account_paid_id" domain="[('type','<>','view'),('type','<>','consolidation')]"/>
|
||||
<field name="account_analytic_paid_id" domain="[('type','<>','view'), ('company_id', '=', company_id), ('parent_id', '<>', False)]" groups="analytic.group_analytic_accounting"/>
|
||||
<separator colspan="4" string="Tax Declaration: Invoices"/>
|
||||
|
||||
<field name="base_code_id"/>
|
||||
<field name="base_sign"/>
|
||||
<field name="tax_code_id"/>
|
||||
<field name="tax_sign"/>
|
||||
<separator colspan="4" string="Tax Declaration: Credit Notes"/>
|
||||
|
||||
</group>
|
||||
<group string="Refunds">
|
||||
<field name="account_paid_id" domain="[('type','<>','view'),('type','<>','consolidation')]"/>
|
||||
<field name="account_analytic_paid_id" domain="[('type','<>','view'), ('company_id', '=', company_id), ('parent_id', '<>', False)]" groups="analytic.group_analytic_accounting"/>
|
||||
|
||||
<field name="ref_base_code_id"/>
|
||||
<field name="ref_base_sign"/>
|
||||
<field name="ref_tax_code_id"/>
|
||||
<field name="ref_tax_sign"/>
|
||||
<separator colspan="4" string="Children Definition"/>
|
||||
<field name="child_depend"/>
|
||||
<field name="sequence"/>
|
||||
<field name="include_base_amount"/>
|
||||
<field colspan="4" name="child_ids">
|
||||
</group>
|
||||
<group string="Children/Sub Taxes" colspan="2">
|
||||
<field name="child_depend" class="oe_inline"/>
|
||||
<field name="child_ids" nolabel="1" colspan="2">
|
||||
<tree string="Account Tax">
|
||||
<field name="sequence"/>
|
||||
<field name="name"/>
|
||||
<field name="price_include"/>
|
||||
<field name="description"/>
|
||||
</tree>
|
||||
</field>
|
||||
</field>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Special Computation">
|
||||
<group col="4">
|
||||
|
@ -943,10 +999,6 @@
|
|||
<field name="domain"/>
|
||||
<separator colspan="4" string="Applicable Code (if type=code)"/>
|
||||
<field colspan="4" name="python_applicable" nolabel="1" attrs="{'readonly':[('applicable_type','=','true')], 'required':[('applicable_type','=','code')]}"/>
|
||||
<separator colspan="2" string="Compute Code"/>
|
||||
<separator colspan="2" string="Reverse Compute Code"/>
|
||||
<field colspan="2" name="python_compute" nolabel="1" attrs="{'readonly':[('type','!=','code')],'required':[('type','=','code')]}"/>
|
||||
<field colspan="2" name="python_compute_inv" nolabel="1" attrs="{'readonly':[('type','!=','code')],'required':[('type','=','code')]}"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
|
@ -1011,69 +1063,66 @@
|
|||
<field eval="2" name="priority"/>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Journal Item" version="7.0">
|
||||
<group col="6">
|
||||
<field name="name"/>
|
||||
<field name="ref"/>
|
||||
<field name="partner_id" on_change="onchange_partner_id(False,partner_id,account_id,debit,credit,date)"/>
|
||||
|
||||
<field name="journal_id"/>
|
||||
<field name="period_id"/>
|
||||
<field name="company_id" required="1" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Information">
|
||||
<group>
|
||||
<group string="Amount">
|
||||
<field name="account_id" domain="[('company_id', '=', company_id), ('type','<>','view'), ('type','<>','consolidation')]"/>
|
||||
<field name="debit"/>
|
||||
<field name="credit"/>
|
||||
<field name="quantity"/>
|
||||
</group>
|
||||
|
||||
<group string="Accounting Documents">
|
||||
<field name="invoice" readonly="True"/>
|
||||
<field name="move_id" required="False"/>
|
||||
<field name="statement_id" readonly="True"/>
|
||||
</group>
|
||||
|
||||
<group string="Dates">
|
||||
<field name="date"/>
|
||||
<field name="date_maturity"/>
|
||||
<field name="date_created" readonly="True"/>
|
||||
</group>
|
||||
|
||||
<group string="Taxes">
|
||||
<field name="tax_code_id"/>
|
||||
<field name="tax_amount"/>
|
||||
<field name="account_tax_id" domain="[('parent_id','=',False)]"/>
|
||||
</group>
|
||||
|
||||
<group attrs="{'readonly':[('state','=','valid')]}" string="Currency">
|
||||
<field name="currency_id"/>
|
||||
<field name="amount_currency"/>
|
||||
</group>
|
||||
|
||||
<group string="Reconciliation">
|
||||
<field name="reconcile_id"/>
|
||||
<field name="reconcile_partial_id"/>
|
||||
</group>
|
||||
|
||||
<group string="States">
|
||||
<field name="state"/>
|
||||
<field name="blocked"/>
|
||||
</group>
|
||||
|
||||
<group groups="analytic.group_analytic_accounting" string="Analytic">
|
||||
<field name="analytic_account_id" domain="[('parent_id','!=',False)]"/>
|
||||
</group>
|
||||
</group>
|
||||
<separator string="Internal Note" colspan="4"/>
|
||||
<field name="narration" colspan="4" nolabel="1"/>
|
||||
</page>
|
||||
<page string="Analytic Lines" groups="analytic.group_analytic_accounting">
|
||||
<field name="analytic_lines" context="{'default_general_account_id':account_id, 'default_name': name, 'default_date':date, 'amount': (debit or 0.0)-(credit or 0.0)}"/>
|
||||
</page>
|
||||
</notebook>
|
||||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="ref"/>
|
||||
<field name="partner_id" on_change="onchange_partner_id(False,partner_id,account_id,debit,credit,date)"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="journal_id"/>
|
||||
<field name="period_id"/>
|
||||
<field name="company_id" required="1" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="Information">
|
||||
<group>
|
||||
<group string="Amount">
|
||||
<field name="account_id" domain="[('company_id', '=', company_id), ('type','<>','view'), ('type','<>','consolidation')]"/>
|
||||
<field name="debit"/>
|
||||
<field name="credit"/>
|
||||
<field name="quantity"/>
|
||||
</group>
|
||||
<group string="Accounting Documents">
|
||||
<field name="invoice" readonly="True"/>
|
||||
<field name="move_id" required="False"/>
|
||||
<field name="statement_id" readonly="True"/>
|
||||
</group>
|
||||
<group string="Dates">
|
||||
<field name="date"/>
|
||||
<field name="date_maturity"/>
|
||||
<field name="date_created" readonly="True"/>
|
||||
</group>
|
||||
<group string="Taxes">
|
||||
<field name="tax_code_id"/>
|
||||
<field name="tax_amount"/>
|
||||
<field name="account_tax_id" domain="[('parent_id','=',False)]"/>
|
||||
</group>
|
||||
<group attrs="{'readonly':[('state','=','valid')]}" string="Currency">
|
||||
<field name="currency_id"/>
|
||||
<field name="amount_currency"/>
|
||||
</group>
|
||||
<group string="Reconciliation">
|
||||
<field name="reconcile_id"/>
|
||||
<field name="reconcile_partial_id"/>
|
||||
</group>
|
||||
<group string="States">
|
||||
<field name="state"/>
|
||||
<field name="blocked"/>
|
||||
</group>
|
||||
<group groups="analytic.group_analytic_accounting" string="Analytic">
|
||||
<field name="analytic_account_id" domain="[('parent_id','!=',False)]"/>
|
||||
</group>
|
||||
</group>
|
||||
<field name="narration" colspan="4" nolabel="1" placeholder="Add an internal note..."/>
|
||||
</page>
|
||||
<page string="Analytic Lines" groups="analytic.group_analytic_accounting">
|
||||
<field name="analytic_lines" context="{'default_general_account_id':account_id, 'default_name': name, 'default_date':date, 'amount': (debit or 0.0)-(credit or 0.0)}"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -1273,16 +1322,23 @@
|
|||
<field name="state" widget="statusbar"/>
|
||||
</header>
|
||||
<sheet string="Journal Entries" >
|
||||
<group col="4">
|
||||
<field name="name" readonly="True"/>
|
||||
<field name="ref"/>
|
||||
<field name="journal_id"/>
|
||||
<field name="period_id"/>
|
||||
<field name="to_check"/>
|
||||
<field name="date"/>
|
||||
<field name="company_id" required="1" groups="base.group_multi_company"/>
|
||||
<field name="partner_id" invisible="1"/>
|
||||
<field name="amount" invisible="1"/>
|
||||
<label for="name" class="oe_edit_only" attrs="{'invisible':[('name','=','/')]}"/>
|
||||
<h1>
|
||||
<field name="name" readonly="True" attrs="{'invisible':[('name','=','/')]}"/>
|
||||
</h1>
|
||||
<group>
|
||||
<group>
|
||||
<field name="journal_id"/>
|
||||
<field name="period_id"/>
|
||||
<field name="company_id" required="1" groups="base.group_multi_company"/>
|
||||
<field name="partner_id" invisible="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="ref"/>
|
||||
<field name="date"/>
|
||||
<field name="to_check"/>
|
||||
<field name="amount" invisible="1"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Journal Items">
|
||||
|
@ -1374,8 +1430,7 @@
|
|||
<field name="reconcile_partial_id"/>
|
||||
</tree>
|
||||
</field>
|
||||
<separator string="Internal Note"/>
|
||||
<field name="narration" colspan="4" nolabel="1" height="50"/>
|
||||
<field name="narration" colspan="4" placeholder="Add an internal note..." nolabel="1" height="50"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
|
@ -1835,16 +1890,11 @@
|
|||
<field name="model_id"/>
|
||||
<field name="ref"/>
|
||||
</group>
|
||||
<newline/>
|
||||
|
||||
<group string="Starts on">
|
||||
<group>
|
||||
<field name="date_start"/>
|
||||
<field name="period_total"/>
|
||||
</group>
|
||||
|
||||
<group string="Valid Up to">
|
||||
<field name="period_nbr"/>
|
||||
<field name="period_type"/>
|
||||
<field name="period_nbr"/>
|
||||
<field name="period_total"/>
|
||||
</group>
|
||||
</group>
|
||||
<separator string="Subscription Lines"/>
|
||||
|
@ -2528,7 +2578,7 @@ action = pool.get('res.config').next(cr, uid, [], context)
|
|||
<field name="journal_id"/>
|
||||
<field name="balance_start"/>
|
||||
<field name="balance_end_real"/>
|
||||
<field name="balance_end"/>
|
||||
<field name="balance_end" invisible="1" />
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</field>
|
||||
|
@ -2547,15 +2597,22 @@ action = pool.get('res.config').next(cr, uid, [], context)
|
|||
<field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,confirm"/>
|
||||
</header>
|
||||
<sheet string="Statement">
|
||||
<group col="4">
|
||||
<field name="name"/>
|
||||
<field name='company_id' widget="selection" groups="base.group_multi_company" />
|
||||
<field name="journal_id" on_change="onchange_journal_id(journal_id)" widget="selection"/>
|
||||
<field name="user_id" readonly="1"/>
|
||||
<field name="period_id"/>
|
||||
<field name="currency" invisible="1"/>
|
||||
<label for="name" class="oe_edit_only" attrs="{'invisible':[('name','=','/')]}"/>
|
||||
<h1><field name="name" class="oe_inline" attrs="{'invisible':[('name','=','/')]}"/></h1>
|
||||
<group>
|
||||
<group>
|
||||
<field name="journal_id" on_change="onchange_journal_id(journal_id)" widget="selection"/>
|
||||
<field name="user_id" readonly="1" string="Responsible"/>
|
||||
<field name="total_entry_encoding"/>
|
||||
<field name='company_id' widget="selection" groups="base.group_multi_company" />
|
||||
</group>
|
||||
<group>
|
||||
<field name="date" attrs="{'readonly':[('state','!=','draft')]}" on_change="onchange_date(date, company_id)"/>
|
||||
<field name="closing_date" readonly="1"/>
|
||||
<field name="period_id" class="oe_inline"/>
|
||||
<field name="currency" invisible="1"/>
|
||||
</group>
|
||||
</group>
|
||||
|
||||
<notebook>
|
||||
<page string="Cash Transactions" attrs="{'invisible': [('state','=','draft')]}">
|
||||
<field name="line_ids" context="{'date':date}">
|
||||
|
@ -2587,31 +2644,24 @@ action = pool.get('res.config').next(cr, uid, [], context)
|
|||
</form>
|
||||
</field>
|
||||
</page>
|
||||
<page string="CashBox">
|
||||
<group>
|
||||
<field name="starting_details_ids" attrs="{'readonly':[('state','!=','draft')]}" nolabel="1">
|
||||
<tree string = "Opening Balance" editable="bottom">
|
||||
<page string="Cash Control">
|
||||
<group col="2" expand="1">
|
||||
<field name="opening_details_ids" nolabel="1" colspan="4" attrs="{'invisible' : [('state', '!=', 'draft')]}">
|
||||
<tree string="Opening Cashbox Lines" editable="bottom">
|
||||
<field name="pieces"/>
|
||||
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
|
||||
<field name="subtotal" sum="Total"/>
|
||||
<field name="number_opening" string="Opening Unit Numbers" on_change="on_change_sub_opening(pieces, number_opening, parent.balance_end)"/>
|
||||
<field name="subtotal_opening" string="Opening Subtotal"/>
|
||||
</tree>
|
||||
<form string = "Opening Balance" version="7.0">
|
||||
<field name="pieces"/>
|
||||
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
|
||||
<field name="subtotal"/>
|
||||
</form>
|
||||
</field>
|
||||
<field name="ending_details_ids" attrs="{'readonly':[('state','!=','open')]}" nolabel="1">
|
||||
<tree string = "Closing Balance" editable="bottom">
|
||||
<field name="pieces"/>
|
||||
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
|
||||
<field name="subtotal" sum="Total"/>
|
||||
<field name="closing_details_ids" nolabel="1" colspan="4" attrs="{'invisible' : [('state', '=', 'draft')]}">
|
||||
<tree string="Closing Cashbox Lines" editable="bottom">
|
||||
<field name="pieces" readonly="1" />
|
||||
<field name="number_opening" string="Opening Unit Numbers" readonly="1" />
|
||||
<field name="subtotal_opening" string="Opening Subtotal" readonly="1" />
|
||||
|
||||
<field name="number_closing" string="Closing Unit Numbers" on_change="on_change_sub_closing(pieces, number_closing, parent.balance_end)"/>
|
||||
<field name="subtotal_closing" string="Closing Subtotal"/>
|
||||
</tree>
|
||||
<form string = "Closing Balance" version="7.0">
|
||||
<field name="pieces"/>
|
||||
<field name="number" on_change="on_change_sub(pieces,number, parent.balance_end)"/>
|
||||
<field name="subtotal"/>
|
||||
</form>
|
||||
</field>
|
||||
</group>
|
||||
</page>
|
||||
|
@ -2619,18 +2669,15 @@ action = pool.get('res.config').next(cr, uid, [], context)
|
|||
<field name="move_line_ids" string="Journal Entries"/>
|
||||
</page>
|
||||
</notebook>
|
||||
<group col="3">
|
||||
<group string="Dates">
|
||||
<field name="date" attrs="{'readonly':[('state','!=','draft')]}" on_change="onchange_date(date, company_id)"/>
|
||||
<field name="closing_date" readonly="1"/>
|
||||
</group>
|
||||
<group string="Opening Balance">
|
||||
<field name="balance_start" readonly="1" string="Opening Balance"/>
|
||||
<field name="total_entry_encoding"/>
|
||||
<group col="6" colspan="4">
|
||||
<group col="2" colspan="2">
|
||||
<separator string="Opening Balance" colspan="4"/>
|
||||
<field name="balance_start" readonly="1" string="Opening Cash Control"/>
|
||||
<field name="last_closing_balance" readonly="1" string="Last Closing Balance" />
|
||||
<field name="total_entry_encoding" />
|
||||
</group>
|
||||
<group string="Closing Balance">
|
||||
<field name="balance_end"/>
|
||||
<field name="balance_end_cash"/>
|
||||
</group>
|
||||
</group>
|
||||
</sheet>
|
||||
|
|
|
@ -22,11 +22,11 @@
|
|||
<field name="model">res.company</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="currency_id" position="after">
|
||||
<field name="property_reserve_and_surplus_account" colspan="2"/>
|
||||
<field name="tax_calculation_rounding_method"/>
|
||||
<field name="paypal_account" placeholder="sales@openerp.com"/>
|
||||
</field>
|
||||
<xpath expr="//group[@name='account_grp']" position="inside">
|
||||
<field name="property_reserve_and_surplus_account"/>
|
||||
<field name="tax_calculation_rounding_method"/>
|
||||
<field name="paypal_account" placeholder="sales@openerp.com"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
|
@ -203,7 +203,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: help:account.tax.code,notprintable:0
|
||||
#: help:account.tax.code.template,notprintable:0
|
||||
msgid "Check this box if you don't want any VAT related to this Tax Code to appear on invoices"
|
||||
msgid "Check this box if you don't want any tax related to this tax code to appear on invoices"
|
||||
msgstr ""
|
||||
|
||||
#. module: account
|
||||
|
@ -1853,7 +1853,7 @@ msgstr ""
|
|||
|
||||
#. module: account
|
||||
#: report:account.journal.period.print.sale.purchase:0
|
||||
msgid "VAT Declaration"
|
||||
msgid "Tax Declaration"
|
||||
msgstr ""
|
||||
|
||||
#. module: account
|
||||
|
@ -2249,7 +2249,7 @@ msgstr ""
|
|||
|
||||
#. module: account
|
||||
#: view:account.vat.declaration:0
|
||||
msgid "This menu prints a VAT declaration based on invoices or payments. Select one or several periods of the fiscal year. The information required for a tax declaration is automatically generated by OpenERP from invoices (or payments, in some countries). This data is updated in real time. That’s very useful because it enables you to preview at any time the tax that you owe at the start and end of the month or quarter."
|
||||
msgid "This menu prints a tax declaration based on invoices or payments. Select one or several periods of the fiscal year. The information required for a tax declaration is automatically generated by OpenERP from invoices (or payments, in some countries). This data is updated in real time. That’s very useful because it enables you to preview at any time the tax that you owe at the start and end of the month or quarter."
|
||||
msgstr ""
|
||||
|
||||
#. module: account
|
||||
|
@ -4480,7 +4480,7 @@ msgstr ""
|
|||
#. module: account
|
||||
#: model:ir.actions.act_window,name:account.action_account_vat_declaration
|
||||
#: model:ir.model,name:account.model_account_vat_declaration
|
||||
msgid "Account Vat Declaration"
|
||||
msgid "Account Tax Declaration"
|
||||
msgstr ""
|
||||
|
||||
#. module: account
|
||||
|
@ -4821,7 +4821,7 @@ msgstr ""
|
|||
#: help:account.tax.template,ref_base_code_id:0
|
||||
#: help:account.tax.template,ref_tax_code_id:0
|
||||
#: help:account.tax.template,tax_code_id:0
|
||||
msgid "Use this code for the VAT declaration."
|
||||
msgid "Use this code for the tax declaration."
|
||||
msgstr ""
|
||||
|
||||
#. module: account
|
||||
|
@ -5247,7 +5247,7 @@ msgstr ""
|
|||
|
||||
#. module: account
|
||||
#: report:account.journal.period.print.sale.purchase:0
|
||||
msgid "VAT"
|
||||
msgid "Tax"
|
||||
msgstr ""
|
||||
|
||||
#. module: account
|
||||
|
@ -7561,7 +7561,7 @@ msgstr ""
|
|||
|
||||
#. module: account
|
||||
#: model:ir.actions.act_window,help:account.action_account_vat_declaration
|
||||
msgid "This menu print a VAT declaration based on invoices or payments. You can select one or several periods of the fiscal year. Information required for a tax declaration is automatically generated by OpenERP from invoices (or payments, in some countries). This data is updated in real time. That’s very useful because it enables you to preview at any time the tax that you owe at the start and end of the month or quarter."
|
||||
msgid "This menu print a tax declaration based on invoices or payments. You can select one or several periods of the fiscal year. Information required for a tax declaration is automatically generated by OpenERP from invoices (or payments, in some countries). This data is updated in real time. That’s very useful because it enables you to preview at any time the tax that you owe at the start and end of the month or quarter."
|
||||
msgstr ""
|
||||
|
||||
#. module: account
|
||||
|
|
|
@ -76,56 +76,57 @@
|
|||
<field name="arch" type="xml">
|
||||
<page string="History" position="before" version="7.0">
|
||||
<page string="Accounting" col="4">
|
||||
<group col="4">
|
||||
<group string="Customer Accounting Properties" col="4">
|
||||
<field name="property_account_receivable" groups="account.group_account_invoice" />
|
||||
<group>
|
||||
<group>
|
||||
<field name="property_account_position" widget="selection"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="last_reconciliation_date"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="property_account_receivable" groups="account.group_account_invoice" />
|
||||
<field name="property_payment_term" widget="selection"/>
|
||||
</group>
|
||||
<group string="Supplier Accounting Properties" col="4">
|
||||
<field name="property_account_payable" groups="account.group_account_invoice"/>
|
||||
</group>
|
||||
<group string="Customer Credit" col="4">
|
||||
<field name="credit"/>
|
||||
<field name="credit_limit"/>
|
||||
</group>
|
||||
<group string="Supplier Debit" col="4">
|
||||
<group>
|
||||
<field name="property_account_payable" groups="account.group_account_invoice"/>
|
||||
<field name="debit"/>
|
||||
</group>
|
||||
<field name="bank_ids">
|
||||
<form string="Bank account" version="7.0">
|
||||
<field name="state"/>
|
||||
<field name="acc_number"/>
|
||||
<group>
|
||||
<group name="owner" string="Bank Account Owner">
|
||||
<field name="partner_id" on_change="onchange_partner_id(partner_id)"/>
|
||||
<field name="owner_name"/>
|
||||
<label for="street" string="Address"/>
|
||||
<div>
|
||||
<field name="street" placeholder="Street..."/>
|
||||
<div>
|
||||
<field name="zip" class="oe_inline" placeholder="ZIP"/>
|
||||
<field name="city" class="oe_inline" placeholder="City"/>
|
||||
</div>
|
||||
<field name="state_id" placeholder="State"/>
|
||||
<field name="country_id" placeholder="Country"/>
|
||||
</div>
|
||||
</group>
|
||||
<group name="bank" string="Information About the Bank">
|
||||
<field name="bank" on_change="onchange_bank_id(bank)"/>
|
||||
<field name="bank_name"/>
|
||||
<field name="bank_bic" placeholder="[Identifier code]"/>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
<tree string="Bank Details">
|
||||
<field name="sequence" invisible="1"/>
|
||||
<field name="acc_number"/>
|
||||
<field name="bank_name"/>
|
||||
<field name="owner_name"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<field name="bank_ids">
|
||||
<form string="Bank account" version="7.0">
|
||||
<field name="state"/>
|
||||
<field name="acc_number"/>
|
||||
<group>
|
||||
<group name="owner" string="Bank Account Owner">
|
||||
<field name="partner_id" on_change="onchange_partner_id(partner_id)"/>
|
||||
<field name="owner_name"/>
|
||||
<label for="street" string="Address"/>
|
||||
<div>
|
||||
<field name="street" placeholder="Street..."/>
|
||||
<div>
|
||||
<field name="zip" class="oe_inline" placeholder="ZIP"/>
|
||||
<field name="city" class="oe_inline" placeholder="City"/>
|
||||
</div>
|
||||
<field name="state_id" placeholder="State"/>
|
||||
<field name="country_id" placeholder="Country"/>
|
||||
</div>
|
||||
</group>
|
||||
<group name="bank" string="Information About the Bank">
|
||||
<field name="bank" on_change="onchange_bank_id(bank)"/>
|
||||
<field name="bank_name"/>
|
||||
<field name="bank_bic" placeholder="e.g. GEBABEBB"/>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
<tree string="Bank Details">
|
||||
<field name="sequence" invisible="1"/>
|
||||
<field name="acc_number"/>
|
||||
<field name="bank_name"/>
|
||||
<field name="owner_name"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
</page>
|
||||
</field>
|
||||
|
@ -142,16 +143,5 @@
|
|||
view_type="form"
|
||||
view_mode="tree,form,graph,calendar"/>
|
||||
|
||||
<record id="view_res_partner_reconcile" model="ir.ui.view">
|
||||
<field name="name">res.partner.form.reconcile</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="credit_limit" position="after">
|
||||
<field name="last_reconciliation_date"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -118,6 +118,7 @@
|
|||
<field name="name">account.analytic.line.form</field>
|
||||
<field name="model">account.analytic.line</field>
|
||||
<field name="type">form</field>
|
||||
<field name="priority">1</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Analytic Entry" version="7.0">
|
||||
<group>
|
||||
|
@ -385,7 +386,7 @@
|
|||
<field name="inherit_id" ref="account.view_account_journal_form"/>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="currency" position="after">
|
||||
<field name="type" position="after">
|
||||
<field name="analytic_journal_id"/>
|
||||
</field>
|
||||
</field>
|
||||
|
|
|
@ -219,7 +219,7 @@
|
|||
<td><para style="P10a">Account</para></td>
|
||||
<td><para style="P10a">Partner</para></td>
|
||||
<td><para style="P10a">Label</para></td>
|
||||
<td><para style="P10a">VAT</para></td>
|
||||
<td><para style="P10a">Tax</para></td>
|
||||
<td><para style="P11"></para></td>
|
||||
<td><para style="P10b">Debit</para></td>
|
||||
<td><para style="P10b">Credit</para></td>
|
||||
|
@ -271,7 +271,7 @@
|
|||
<td><para style="P10a">Account</para></td>
|
||||
<td><para style="P10a">Partner</para></td>
|
||||
<td><para style="P10a">Label</para></td>
|
||||
<td><para style="P10a">VAT</para></td>
|
||||
<td><para style="P10a">Tax</para></td>
|
||||
<td><para style="P11"></para></td>
|
||||
<td><para style="P10b">Debit</para></td>
|
||||
<td><para style="P10b">Credit</para></td>
|
||||
|
@ -330,7 +330,7 @@
|
|||
<blockTable colWidths="15.0,80.0,20.0,182.0" style="Table1" repeatRows="1">
|
||||
<tr>
|
||||
<td><para style="P12"></para></td>
|
||||
<td><para style="P12">VAT Declaration</para></td>
|
||||
<td><para style="P12">Tax Declaration</para></td>
|
||||
<td><para style="P12"></para></td>
|
||||
<td><para style="P12"></para></td>
|
||||
</tr>
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
or
|
||||
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
|
||||
</header>
|
||||
|
||||
<field name="has_default_company" invisible="1" />
|
||||
<field name="has_chart_of_accounts" invisible="1"/>
|
||||
<field name="complete_tax_set" invisible="1"/>
|
||||
|
@ -34,7 +33,6 @@
|
|||
<field name="expects_chart_of_accounts"/>
|
||||
</group>
|
||||
|
||||
<div class="oe_form_button_save_dirty">
|
||||
<group string="Select a Chart of Accounts to Install"
|
||||
attrs="{'invisible': ['|', ('expects_chart_of_accounts','=',False), ('has_chart_of_accounts','=',True)]}">
|
||||
<group>
|
||||
|
@ -51,9 +49,7 @@
|
|||
<button string="Install More Chart Templates" icon="gtk-go-forward"
|
||||
name="%(open_account_charts_modules)d" type="action"/>
|
||||
</group>
|
||||
</div>
|
||||
|
||||
<div class="oe_form_button_save_dirty">
|
||||
<group string="No Fiscal Year Defined for This Company"
|
||||
attrs="{'invisible': ['|', ('expects_chart_of_accounts','=',False), ('has_fiscal_year','=',True)]}">
|
||||
<label for="date_start" string="Date Range"/>
|
||||
|
@ -63,78 +59,67 @@
|
|||
</div>
|
||||
<field name="period"/>
|
||||
</group>
|
||||
</div>
|
||||
|
||||
<group string="Accounting Configuration">
|
||||
<group>
|
||||
<group>
|
||||
<group name="account_config">
|
||||
<separator string="Accounting Configuration" colspan="2"/>
|
||||
<field name="default_sale_tax" domain="[('type_tax_use','=','sale'), ('company_id','=',company_id)]"
|
||||
attrs="{'invisible': [('has_chart_of_accounts','=',False)]}"/>
|
||||
<field name="module_account_accountant"/>
|
||||
<field name="currency_id"/>
|
||||
<field name="decimal_precision"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="default_purchase_tax" domain="[('type_tax_use','=','purchase'), ('company_id','=',company_id)]"
|
||||
attrs="{'invisible': [('has_chart_of_accounts','=',False)]}"/>
|
||||
<field name="tax_calculation_rounding_method"/>
|
||||
<field name="module_account_asset"/>
|
||||
<field name="module_account_budget"/>
|
||||
</group>
|
||||
</group>
|
||||
|
||||
<field name="sale_journal_id" invisible="1"/>
|
||||
<field name="sale_refund_journal_id" invisible="1"/>
|
||||
<field name="purchase_journal_id" invisible="1"/>
|
||||
<field name="purchase_refund_journal_id" invisible="1"/>
|
||||
<group>
|
||||
<group string="Customer Invoices">
|
||||
<separator string="Customer Invoices" colspan="2"/>
|
||||
<label for="sale_sequence_next"/>
|
||||
<group>
|
||||
<field name="sale_sequence_prefix" class="oe_inline" nolabel="1"
|
||||
help='If you put "%%(year)s" in the prefix, it will be replaced by the current year.'/>
|
||||
<field name="sale_sequence_next" class="oe_inline" nolabel="1" attrs="{'readonly': [('sale_journal_id','=',False)]}"/>
|
||||
<field name="sale_sequence_next" class="oe_inline" nolabel="1" attrs="{'readonly': [('sale_journal_id','=',False)]}"/>
|
||||
</group>
|
||||
<label for="sale_refund_sequence_next"/>
|
||||
<group>
|
||||
<field name="sale_refund_sequence_prefix" class="oe_inline" nolabel="1"
|
||||
<field name="sale_refund_sequence_prefix" class="oe_inline" nolabel="1"
|
||||
help='If you put "%%(year)s" in the prefix, it will be replaced by the current year.'/>
|
||||
<field name="sale_refund_sequence_next" class="oe_inline" nolabel="1" attrs="{'readonly': [('sale_refund_journal_id','=',False)]}"/>
|
||||
<field name="sale_refund_sequence_next" nolabel="1" class="oe_inline" attrs="{'readonly': [('sale_refund_journal_id','=',False)]}"/>
|
||||
</group>
|
||||
<field name="module_account_voucher"/>
|
||||
<field name="module_account_followup"/>
|
||||
<field name="group_proforma_invoices"/>
|
||||
<separator name="analytic_accounting" invisible="1" string="Analytic Accounting"/>
|
||||
</group>
|
||||
|
||||
<group string="Supplier Invoices">
|
||||
<group name="other_cofing">
|
||||
<separator string="Supplier Invoices" colspan="2"/>
|
||||
<label for="purchase_sequence_next"/>
|
||||
<group>
|
||||
<field name="purchase_sequence_prefix" class="oe_inline" nolabel="1"
|
||||
help='If you put "%%(year)s" in the prefix, it will be replaced by the current year.'/>
|
||||
<field name="purchase_sequence_next" class="oe_inline" nolabel="1" attrs="{'readonly': [('purchase_journal_id','=',False)]}"/>
|
||||
<field name="purchase_sequence_next" nolabel="1" class="oe_inline" attrs="{'readonly': [('purchase_journal_id','=',False)]}"/>
|
||||
</group>
|
||||
<label for="purchase_refund_sequence_next"/>
|
||||
<group>
|
||||
<field name="purchase_refund_sequence_prefix" class="oe_inline" nolabel="1"
|
||||
<field name="purchase_refund_sequence_prefix" class="oe_inline" nolabel="1"
|
||||
help='If you put "%%(year)s" in the prefix, it will be replaced by the current year.'/>
|
||||
<field name="purchase_refund_sequence_next" class="oe_inline" nolabel="1"
|
||||
attrs="{'readonly': [('purchase_refund_journal_id','=',False)]}"/>
|
||||
<field name="purchase_refund_sequence_next" class="oe_inline"
|
||||
attrs="{'readonly': [('purchase_refund_journal_id','=',False)]}" nolabel="1"/>
|
||||
</group>
|
||||
<field name="module_account_payment"/>
|
||||
</group>
|
||||
|
||||
<group string="Electronic Payments">
|
||||
<separator string="Electronic Payments" colspan="2"/>
|
||||
<field name="paypal_account" placeholder="sales@openerp.com"/>
|
||||
</group>
|
||||
|
||||
<group string="Bank & Cash">
|
||||
<separator string="Bank & Cash" colspan="2"/>
|
||||
<label for="id" string="Configure Bank Accounts"/>
|
||||
<button name="%(action_bank_tree)d" string="Configure Bank Accounts" icon="gtk-go-forward" type="action"/>
|
||||
<field name="company_footer"/>
|
||||
<field name="module_account_check_writing"/>
|
||||
</group>
|
||||
|
||||
<group name="analytic_accounting" invisible="1" string="Analytic Accounting"/>
|
||||
</group>
|
||||
<field name="sale_journal_id" invisible="1"/>
|
||||
<field name="sale_refund_journal_id" invisible="1"/>
|
||||
<field name="purchase_journal_id" invisible="1"/>
|
||||
<field name="purchase_refund_journal_id" invisible="1"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -44,4 +44,5 @@ class res_currency_account(osv.osv):
|
|||
|
||||
res_currency_account()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
-
|
||||
In order to test Cash statement I create a Cash statement and confirm it and check it's move created
|
||||
In order to test Cash statement I create a Cash statement and confirm it and check its move created
|
||||
-
|
||||
!record {model: account.bank.statement, id: account_bank_statement_1}:
|
||||
date: !eval time.strftime('%Y-%m-%d')
|
||||
|
@ -57,7 +57,6 @@
|
|||
- pieces: 500.0
|
||||
number: 2
|
||||
subtotal: 1000.0
|
||||
balance_end_cash: 1120.0
|
||||
|
||||
-
|
||||
I clicked on Close CashBox button to close the cashbox
|
||||
|
|
|
@ -64,6 +64,8 @@ import account_report_account_balance
|
|||
|
||||
import account_change_currency
|
||||
|
||||
import pos_box;
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
||||
|
|
|
@ -7,13 +7,18 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Account charts" version="7.0">
|
||||
<group colspan="4">
|
||||
<field name="fiscalyear" on_change="onchange_fiscalyear(fiscalyear)"/>
|
||||
<group>
|
||||
<label for="fiscalyear"/>
|
||||
<div>
|
||||
<field name="fiscalyear" on_change="onchange_fiscalyear(fiscalyear)" class="oe_inline"/>
|
||||
<label align="0.7" string="(If you do not select Fiscal year it will take all open fiscal years)" class="oe_inline"/>
|
||||
</div>
|
||||
<field name="target_move"/>
|
||||
<label align="0.7" colspan="4" string="(If you do not select Fiscal year it will take all open fiscal years)"/>
|
||||
<separator string="Periods" colspan="4"/>
|
||||
<field name="period_from"/>
|
||||
<field name="period_to"/>
|
||||
<label for="period_from" string="Periods"/>
|
||||
<div>
|
||||
<field name="period_from" class="oe_inline"/> -
|
||||
<field name="period_to" class="oe_inline"/>
|
||||
</div>
|
||||
</group>
|
||||
<footer>
|
||||
<button string="Open Charts" name="account_chart_open_window" type="object" class="oe_highlight"/>
|
||||
|
|
|
@ -30,7 +30,7 @@ class account_fiscalyear_close_state(osv.osv_memory):
|
|||
_description = "Fiscalyear Close state"
|
||||
_columns = {
|
||||
'fy_id': fields.many2one('account.fiscalyear', \
|
||||
'Fiscal Year to close', required=True, help="Select a fiscal year to close"),
|
||||
'Fiscal Year to Close', required=True, help="Select a fiscal year to close"),
|
||||
}
|
||||
|
||||
def data_save(self, cr, uid, ids, context=None):
|
||||
|
|
|
@ -7,15 +7,15 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Close states of Fiscal year and periods" version="7.0">
|
||||
<header>
|
||||
<button icon="terp-locked" string="Close Fiscalyear" name="data_save" type="object" class="oe_highlight" />
|
||||
</header>
|
||||
<separator string="Close states of Fiscal year and periods"/>
|
||||
<label string ="If no additional entries should be recorded on a fiscal year, you can close it from here. It will close all opened periods in this year that will make impossible any new entry record. Close a fiscal year when you need to finalize your end of year results definitive "/>
|
||||
<group>
|
||||
<field name="fy_id" domain="[('state','=','draft')]"/>
|
||||
</group>
|
||||
</form>
|
||||
<footer>
|
||||
<button icon="terp-locked" string="Close Fiscal Year" name="data_save" type="object" class="oe_highlight"/>
|
||||
or
|
||||
<button string="Cancel" class="oe_link" special="cancel"/>
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
|
@ -102,22 +102,20 @@ class account_move_journal(osv.osv_memory):
|
|||
period = period_pool.browse(cr, uid, [period_id], ['name'])[0]['name']
|
||||
period_string = _("Period: %s") % tools.ustr(period)
|
||||
|
||||
separator_string = _("Open Journal Items !")
|
||||
open_string = _("Open")
|
||||
view = """<?xml version="1.0" encoding="utf-8"?>
|
||||
<form string="Standard entries" version="7.0">
|
||||
<header>
|
||||
<group>
|
||||
<field name="target_move"/>
|
||||
</group>
|
||||
%s: <label string="%s"/>
|
||||
%s: <label string="%s"/>
|
||||
<footer>
|
||||
<button string="%s" name="action_open_window" default_focus="1" type="object" class="oe_highlight"/>
|
||||
or
|
||||
<button string="Cancel" class="oe_link" special="cancel"/>
|
||||
</header>
|
||||
<group string="%s">
|
||||
<field name="target_move" />
|
||||
</group>
|
||||
<label width="300" string="%s"/>
|
||||
<newline/>
|
||||
<label width="300" string="%s"/>
|
||||
</form>""" % (open_string, separator_string, journal_string, period_string)
|
||||
</footer>
|
||||
</form>""" % (_('Journal'), journal_string, _('Period'), period_string, open_string)
|
||||
|
||||
view = etree.fromstring(view.encode('utf8'))
|
||||
xarch, xfields = self._view_look_dom_arch(cr, uid, view, view_id, context=context)
|
||||
|
|
|
@ -13,10 +13,6 @@
|
|||
<xpath expr="//field[@name='journal_ids']" position="replace">
|
||||
<field name="journal_ids" colspan="4" nolabel="1" required="0" readonly="1"/>
|
||||
</xpath>
|
||||
<xpath expr="/form/label[@string='']" position="replace">
|
||||
<separator string="Trial Balance" colspan="4"/>
|
||||
<label nolabel="1" colspan="4" string="This report allows you to print or generate a pdf of your trial balance allowing you to quickly check the balance of each of your accounts in a single report"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='target_move']" position="after">
|
||||
<field name="display_account"/>
|
||||
<newline/>
|
||||
|
|
|
@ -17,16 +17,16 @@
|
|||
</group>
|
||||
<notebook tabpos="up" colspan="4">
|
||||
<page string="Filters" name="filters">
|
||||
<group col="4">
|
||||
<group>
|
||||
<field name="filter" on_change="onchange_filter(filter, fiscalyear_id)"/>
|
||||
</group>
|
||||
<group string="Dates" col="4">
|
||||
<field name="date_from" attrs="{'readonly':[('filter', '!=', 'filter_date')], 'required':[('filter', '=', 'filter_date')]}" colspan="4"/>
|
||||
<field name="date_to" attrs="{'readonly':[('filter', '!=', 'filter_date')], 'required':[('filter', '=', 'filter_date')]}" colspan="4"/>
|
||||
<group string="Dates" attrs="{'invisible':[('filter', '!=', 'filter_date')], 'required':[('filter', '=', 'filter_date')]}">
|
||||
<field name="date_from" />
|
||||
<field name="date_to" />
|
||||
</group>
|
||||
<group string="Periods" col="4">
|
||||
<field name="period_from" domain="[('fiscalyear_id', '=', fiscalyear_id)]" attrs="{'readonly':[('filter','!=','filter_period')], 'required':[('filter', '=', 'filter_period')]}" colspan="4"/>
|
||||
<field name="period_to" domain="[('fiscalyear_id', '=', fiscalyear_id)]" attrs="{'readonly':[('filter','!=','filter_period')], 'required':[('filter', '=', 'filter_period')]}" colspan="4"/>
|
||||
<group string="Periods" attrs="{'invisible':[('filter','!=','filter_period')], 'required':[('filter', '=', 'filter_period')]}">
|
||||
<field name="period_from" domain="[('fiscalyear_id', '=', fiscalyear_id)]"/>
|
||||
<field name="period_to" domain="[('fiscalyear_id', '=', fiscalyear_id)]"/>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Journals" name="journal_ids">
|
||||
|
|
|
@ -9,10 +9,6 @@
|
|||
<field name="inherit_id" ref="account_common_report_view" />
|
||||
<field name="arch" type="xml">
|
||||
<data>
|
||||
<xpath expr="/form/label[@string='']" position="replace">
|
||||
<separator string="General Journals" colspan="4"/>
|
||||
<label nolabel="1" colspan="4" string="This report gives you an overview of the situation of your general journals"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='target_move']" position="after">
|
||||
<field name="amount_currency"/>
|
||||
<newline/>
|
||||
|
|
|
@ -9,10 +9,6 @@
|
|||
<field name="inherit_id" ref="account_common_report_view" />
|
||||
<field name="arch" type="xml">
|
||||
<data>
|
||||
<xpath expr="/form/label[@string='']" position="replace">
|
||||
<separator string="General Ledger" colspan="4"/>
|
||||
<label nolabel="1" colspan="4" string="This report allows you to print or generate a pdf of your general ledger with details of all your account journals"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='target_move']" position="after">
|
||||
<field name="display_account"/>
|
||||
<field name="sortby"/>
|
||||
|
|
|
@ -9,10 +9,6 @@
|
|||
<field name="inherit_id" ref="account_common_report_view" />
|
||||
<field name="arch" type="xml">
|
||||
<data>
|
||||
<xpath expr="/form/label[@string='']" position="replace">
|
||||
<separator string="Partner Balance" colspan="4"/>
|
||||
<label nolabel="1" colspan="4" string="This report is an analysis done by a partner. It is a PDF report containing one line per partner representing the cumulative credit balance"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='target_move']" position="after">
|
||||
<field name="result_selection"/>
|
||||
<field name="display_partner"/>
|
||||
|
|
|
@ -9,10 +9,6 @@
|
|||
<field name="inherit_id" ref="account_common_report_view" />
|
||||
<field name="arch" type="xml">
|
||||
<data>
|
||||
<xpath expr="/form/label[@string='']" position="replace">
|
||||
<separator string="Partner Ledger" colspan="4"/>
|
||||
<label nolabel="1" colspan="4" string="This report is an analysis done by a partner. It is a PDF report containing one line per partner representing the cumulative credit balance"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='target_move']" position="after">
|
||||
<field name="result_selection"/>
|
||||
<field name="amount_currency"/>
|
||||
|
|
|
@ -9,10 +9,6 @@
|
|||
<field name="inherit_id" ref="account_common_report_view" />
|
||||
<field name="arch" type="xml">
|
||||
<data>
|
||||
<xpath expr="/form/label[@string='']" position="replace">
|
||||
<separator string="Journals" colspan="4"/>
|
||||
<label nolabel="1" colspan="4" string="This report gives you an overview of the situation of a specific journal"/>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='target_move']" position="after">
|
||||
<field name="sort_selection"/>
|
||||
<field name="amount_currency"/>
|
||||
|
|
|
@ -28,7 +28,7 @@ class account_subscription_generate(osv.osv_memory):
|
|||
_name = "account.subscription.generate"
|
||||
_description = "Subscription Compute"
|
||||
_columns = {
|
||||
'date': fields.date('Date', required=True),
|
||||
'date': fields.date('Generate Entries Before', required=True),
|
||||
}
|
||||
_defaults = {
|
||||
'date': lambda *a: time.strftime('%Y-%m-%d'),
|
||||
|
|
|
@ -8,8 +8,6 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Subscription Compute" version="7.0">
|
||||
<separator string="Generate Entries before:"/>
|
||||
<label string ="Automatically generate entries based on what has been entered in the system before a specific date."/>
|
||||
<group>
|
||||
<field name="date"/>
|
||||
</group>
|
||||
|
|
|
@ -9,10 +9,13 @@
|
|||
<field name="arch" type="xml">
|
||||
<form string="Account tax charts" version="7.0">
|
||||
<group>
|
||||
<field name="period_id"/>
|
||||
<label colspan="4" string="(If you do not select period it will take all open periods)"/>
|
||||
<label for="period_id"/>
|
||||
<div>
|
||||
<field name="period_id" class="oe_inline"/>
|
||||
<label string="(If you do not select period it will take all open periods)" class="oe_inline"/>
|
||||
</div>
|
||||
<field name="target_move"/>
|
||||
</group>
|
||||
</group>
|
||||
<footer>
|
||||
<button string="Open Charts" name="account_tax_chart_open_window" type="object" class="oe_highlight"/>
|
||||
or
|
||||
|
|
|
@ -8,8 +8,6 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Create Entries From Models" version="7.0">
|
||||
<separator string="This wizard will create recurring accounting entries"/>
|
||||
<label string="Create manual recurring entries in a chosen journal."/>
|
||||
<group>
|
||||
<field name="model"/>
|
||||
</group>
|
||||
|
|
|
@ -9,8 +9,6 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Post Journal Entries" version="7.0">
|
||||
<separator string="Post Journal Entries of a Journal"/>
|
||||
<label string="All draft account entries in this journal and period will be validated. It means you won't be able to modify their accounting fields anymore."/>
|
||||
<group>
|
||||
<field name="journal_id"/>
|
||||
<field name="period_id"/>
|
||||
|
@ -25,7 +23,7 @@
|
|||
</record>
|
||||
|
||||
<record id="action_validate_account_move" model="ir.actions.act_window">
|
||||
<field name="name">Open Journal</field>
|
||||
<field name="name">Post Journal Entries</field>
|
||||
<field name="res_model">validate.account.move</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
|
|
|
@ -3,12 +3,12 @@
|
|||
<data>
|
||||
|
||||
<record id="view_account_vat_declaration" model="ir.ui.view">
|
||||
<field name="name">Account Vat Declaration</field>
|
||||
<field name="name">Account Tax Declaration</field>
|
||||
<field name="model">account.vat.declaration</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Taxes Report" version="7.0">
|
||||
<label colspan="4" string="This menu prints a VAT declaration based on invoices or payments. Select one or several periods of the fiscal year. The information required for a tax declaration is automatically generated by OpenERP from invoices (or payments, in some countries). This data is updated in real time. That’s very useful because it enables you to preview at any time the tax that you owe at the start and end of the month or quarter."/>
|
||||
<label colspan="4" string="This menu prints a tax declaration based on invoices or payments. Select one or several periods of the fiscal year. The information required for a tax declaration is automatically generated by OpenERP from invoices (or payments, in some countries). This data is updated in real time. That’s very useful because it enables you to preview at any time the tax that you owe at the start and end of the month or quarter."/>
|
||||
<group string="Taxes Report" col="4">
|
||||
<field name="chart_tax_id" widget='selection'/>
|
||||
<field name="fiscalyear_id"/>
|
||||
|
@ -30,13 +30,13 @@
|
|||
</record>
|
||||
|
||||
<record id="action_account_vat_declaration" model="ir.actions.act_window">
|
||||
<field name="name">Account Vat Declaration</field>
|
||||
<field name="name">Account Tax Declaration</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">account.vat.declaration</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="target">new</field>
|
||||
<field name="help">This menu print a VAT declaration based on invoices or payments. You can select one or several periods of the fiscal year. Information required for a tax declaration is automatically generated by OpenERP from invoices (or payments, in some countries). This data is updated in real time. That’s very useful because it enables you to preview at any time the tax that you owe at the start and end of the month or quarter.</field>
|
||||
<field name="help">This menu print a tax declaration based on invoices or payments. You can select one or several periods of the fiscal year. Information required for a tax declaration is automatically generated by OpenERP from invoices (or payments, in some countries). This data is updated in real time. That’s very useful because it enables you to preview at any time the tax that you owe at the start and end of the month or quarter.</field>
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
|
|
|
@ -0,0 +1,85 @@
|
|||
#!/usr/bin/env python
|
||||
from osv import osv, fields
|
||||
import decimal_precision as dp
|
||||
from tools.translate import _
|
||||
|
||||
class CashBox(osv.osv_memory):
|
||||
_register = False
|
||||
_columns = {
|
||||
'name' : fields.char('Reason', size=64, required=True),
|
||||
# Attention, we don't set a domain, because there is a journal_type key
|
||||
# in the context of the action
|
||||
'amount' : fields.float('Amount',
|
||||
digits_compute = dp.get_precision('Account'),
|
||||
required=True),
|
||||
}
|
||||
|
||||
def run(self, cr, uid, ids, context=None):
|
||||
if not context:
|
||||
context = dict()
|
||||
|
||||
active_model = context.get('active_model', False) or False
|
||||
active_ids = context.get('active_ids', []) or []
|
||||
|
||||
records = self.pool.get(active_model).browse(cr, uid, active_ids, context=context)
|
||||
|
||||
return self._run(cr, uid, ids, records, context=None)
|
||||
|
||||
def _run(self, cr, uid, ids, records, context=None):
|
||||
for box in self.browse(cr, uid, ids, context=context):
|
||||
for record in records:
|
||||
if not record.journal_id:
|
||||
raise osv.except_osv(_('Error !'),
|
||||
_("Please check that the field 'Journal' is set on the Bank Statement"))
|
||||
|
||||
if not record.journal_id.internal_account_id:
|
||||
raise osv.except_osv(_('Error !'),
|
||||
_("Please check that the field 'Internal Transfers Account' is set on the payment method '%s'.") % (record.journal_id.name,))
|
||||
|
||||
self._create_bank_statement_line(cr, uid, box, record, context=context)
|
||||
|
||||
return {}
|
||||
|
||||
|
||||
class CashBoxIn(CashBox):
|
||||
_name = 'cash.box.in'
|
||||
|
||||
_columns = CashBox._columns.copy()
|
||||
_columns.update({
|
||||
'ref' : fields.char('Reference', size=32),
|
||||
})
|
||||
|
||||
def _create_bank_statement_line(self, cr, uid, box, record, context=None):
|
||||
absl_proxy = self.pool.get('account.bank.statement.line')
|
||||
|
||||
values = {
|
||||
'statement_id' : record.id,
|
||||
'journal_id' : record.journal_id.id,
|
||||
'account_id' : record.journal_id.internal_account_id.id,
|
||||
'amount' : box.amount or 0.0,
|
||||
'ref' : "%s" % (box.ref or ''),
|
||||
'name' : box.name,
|
||||
}
|
||||
|
||||
return absl_proxy.create(cr, uid, values, context=context)
|
||||
|
||||
CashBoxIn()
|
||||
|
||||
class CashBoxOut(CashBox):
|
||||
_name = 'cash.box.out'
|
||||
|
||||
def _create_bank_statement_line(self, cr, uid, box, record, context=None):
|
||||
absl_proxy = self.pool.get('account.bank.statement.line')
|
||||
|
||||
amount = box.amount or 0.0
|
||||
values = {
|
||||
'statement_id' : record.id,
|
||||
'journal_id' : record.journal_id.id,
|
||||
'account_id' : record.journal_id.internal_account_id.id,
|
||||
'amount' : -amount if amount > 0.0 else amount,
|
||||
'name' : box.name,
|
||||
}
|
||||
|
||||
return absl_proxy.create(cr, uid, values, context=context)
|
||||
|
||||
CashBoxOut()
|
|
@ -0,0 +1,62 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record model="ir.ui.view" id="cash_box_in_form">
|
||||
<field name="name">cash_box_in</field>
|
||||
<field name="model">cash.box.in</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Put Money In">
|
||||
<separator string="Fill in this form if you put money in the cash register:" colspan="4" />
|
||||
<field name="name" />
|
||||
<field name="amount" />
|
||||
|
||||
<separator colspan="4" />
|
||||
<group colspan="4" col="4">
|
||||
<group col="2" colspan="2" />
|
||||
<button icon="gtk-stop" special="cancel" string="Cancel" />
|
||||
<button name="run" string="Put Money In" colspan="1" type="object" icon="gtk-apply" />
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<act_window
|
||||
name="Put Money In"
|
||||
res_model="cash.box.in"
|
||||
src_model="account.bank.statement"
|
||||
view_mode="form"
|
||||
target="new"
|
||||
key2="client_action_multi"
|
||||
id="action_cash_box_in" />
|
||||
|
||||
<record model="ir.ui.view" id="cash_box_out_form">
|
||||
<field name="name">cash_box_out</field>
|
||||
<field name="model">cash.box.out</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Take Money Out">
|
||||
<separator string="Describe why you take money from the cash register:" colspan="4" />
|
||||
<field name="name" />
|
||||
<field name="amount" />
|
||||
|
||||
<separator colspan="4" />
|
||||
<group colspan="4" col="4">
|
||||
<group col="2" colspan="2" />
|
||||
<button icon="gtk-stop" special="cancel" string="Cancel" />
|
||||
<button name="run" string="Take Money Out" colspan="1" type="object" icon="gtk-apply" />
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<act_window
|
||||
name="Take Money Out"
|
||||
res_model="cash.box.out"
|
||||
src_model="account.bank.statement"
|
||||
view_mode="form"
|
||||
target="new"
|
||||
key2="client_action_multi"
|
||||
id="action_cash_box_out" />
|
||||
</data>
|
||||
</openerp>
|
|
@ -24,6 +24,7 @@
|
|||
"author" : "OpenERP SA",
|
||||
"category": 'Accounting & Finance',
|
||||
"sequence": 10,
|
||||
"summary": "Accounts Moves, Journals, Chart of Accounts",
|
||||
"description": """
|
||||
Accounting Access Rights.
|
||||
=========================
|
||||
|
|
|
@ -213,13 +213,13 @@ class account_asset_asset(osv.osv):
|
|||
|
||||
_columns = {
|
||||
'account_move_line_ids': fields.one2many('account.move.line', 'asset_id', 'Entries', readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'name': fields.char('Asset', size=64, required=True, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'name': fields.char('Asset Name', size=64, required=True, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'code': fields.char('Reference', size=32, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'purchase_value': fields.float('Gross value ', required=True, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'purchase_value': fields.float('Gross Value', required=True, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'currency_id': fields.many2one('res.currency','Currency',required=True, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'company_id': fields.many2one('res.company', 'Company', required=True, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'note': fields.text('Note'),
|
||||
'category_id': fields.many2one('account.asset.category', 'Asset category', required=True, change_default=True, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'category_id': fields.many2one('account.asset.category', 'Asset Category', required=True, change_default=True, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'parent_id': fields.many2one('account.asset.asset', 'Parent Asset', readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'child_ids': fields.one2many('account.asset.asset', 'parent_id', 'Children Assets'),
|
||||
'purchase_date': fields.date('Purchase Date', required=True, readonly=True, states={'draft':[('readonly',False)]}),
|
||||
|
@ -233,7 +233,7 @@ class account_asset_asset(osv.osv):
|
|||
" * Linear: Calculated on basis of: Gross Value / Number of Depreciations\n" \
|
||||
" * Degressive: Calculated on basis of: Remaining Value * Degressive Factor"),
|
||||
'method_number': fields.integer('Number of Depreciations', readonly=True, states={'draft':[('readonly',False)]}, help="Calculates Depreciation within specified interval"),
|
||||
'method_period': fields.integer('Period Length', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="State here the time during 2 depreciations, in months"),
|
||||
'method_period': fields.integer('Number of Months in a Period', required=True, readonly=True, states={'draft':[('readonly',False)]}, help="State here the time during 2 depreciations, in months"),
|
||||
'method_end': fields.date('Ending Date', readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'method_progress_factor': fields.float('Degressive Factor', readonly=True, states={'draft':[('readonly',False)]}),
|
||||
'value_residual': fields.function(_amount_residual, method=True, digits_compute=dp.get_precision('Account'), string='Residual Value'),
|
||||
|
@ -316,6 +316,19 @@ class account_asset_asset(osv.osv):
|
|||
asset_id = super(account_asset_asset, self).create(cr, uid, vals, context=context)
|
||||
self.compute_depreciation_board(cr, uid, [asset_id], context=context)
|
||||
return asset_id
|
||||
|
||||
def open_entries(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
context.update({'search_default_asset_id': ids, 'default_asset_id': ids})
|
||||
return {
|
||||
'view_type': 'form',
|
||||
'view_mode': 'tree,form',
|
||||
'res_model': 'account.move.line',
|
||||
'view_id': False,
|
||||
'type': 'ir.actions.act_window',
|
||||
'context': context,
|
||||
}
|
||||
|
||||
account_asset_asset()
|
||||
|
||||
|
@ -331,7 +344,7 @@ class account_asset_depreciation_line(osv.osv):
|
|||
|
||||
_columns = {
|
||||
'name': fields.char('Depreciation Name', size=64, required=True, select=1),
|
||||
'sequence': fields.integer('Sequence of the depreciation', required=True),
|
||||
'sequence': fields.integer('Sequence', required=True),
|
||||
'asset_id': fields.many2one('account.asset.asset', 'Asset', required=True),
|
||||
'parent_state': fields.related('asset_id', 'state', type='char', string='State of Asset'),
|
||||
'amount': fields.float('Depreciation Amount', required=True),
|
||||
|
|
|
@ -88,60 +88,87 @@
|
|||
<field name="state" widget="statusbar" statusbar_visible="draft,open"/>
|
||||
</header>
|
||||
<sheet>
|
||||
<label for="name"/>
|
||||
<h1><field name="name"/></h1>
|
||||
<label for="category_id"/>
|
||||
<h2><field name="category_id" on_change="onchange_category_id(category_id)"/></h2>
|
||||
<div class="oe_button_box oe_right">
|
||||
<button name="open_entries" string="Entries" type="object" class="oe_inline"/>
|
||||
</div>
|
||||
<div class="oe_title">
|
||||
<label for="name" class="oe_edit_only"/>
|
||||
<h1>
|
||||
<field name="name" class="oe_inline"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="category_id" on_change="onchange_category_id(category_id)"/>
|
||||
<field name="code"/>
|
||||
<field name="parent_id"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="purchase_date"/>
|
||||
<field name="currency_id"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company" on_change="onchange_company_id(company_id)"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<page string="General">
|
||||
<group>
|
||||
<group>
|
||||
<field name="code"/>
|
||||
<field name="company_id" widget="selection"
|
||||
groups="base.group_multi_company" on_change="onchange_company_id(company_id)"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="purchase_value"/>
|
||||
<field name="salvage_value"/>
|
||||
<field name="value_residual"/>
|
||||
<field name="currency_id"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="partner_id"/>
|
||||
<field name="purchase_date"/>
|
||||
<field name="parent_id"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="method_time" on_change="onchange_method_time(method_time)"/>
|
||||
<field name="method_number" attrs="{'invisible':[('method_time','=','end')], 'required':[('method_time','=','number')]}"/>
|
||||
<field name="method_period"/>
|
||||
<field name="method_end" attrs="{'required': [('method_time','=','end')], 'invisible':[('method_time','=','number')]}"/>
|
||||
<button name="%(action_asset_modify)d" states="open" string="Change Duration" type="action" icon="terp-stock_effects-object-colorize" colspan="2"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="method"/>
|
||||
<field name="method_progress_factor" attrs="{'invisible':[('method','=','linear')], 'required':[('method','=','degressive')]}"/>
|
||||
<field name="prorata" attrs="{'invisible': [('method_time','=','end')]}"/>
|
||||
</group>
|
||||
</group>
|
||||
<group>
|
||||
<group>
|
||||
<field name="purchase_value"/>
|
||||
<field name="salvage_value"/>
|
||||
<field name="value_residual"/>
|
||||
<field name="partner_id"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="method"/>
|
||||
<field name="method_progress_factor" attrs="{'invisible':[('method','=','linear')], 'required':[('method','=','degressive')]}"/>
|
||||
<label for="method_time"/>
|
||||
<div>
|
||||
<field name="method_time" on_change="onchange_method_time(method_time)" class="oe_inline"/>
|
||||
<button name="%(action_asset_modify)d" states="open" string="Change Duration" type="action" icon="terp-stock_effects-object-colorize" class="oe_inline" colspan="1"/>
|
||||
</div>
|
||||
<field name="prorata" attrs="{'invisible': [('method_time','=','end')]}"/>
|
||||
<field name="method_number" attrs="{'invisible':[('method_time','=','end')], 'required':[('method_time','=','number')]}"/>
|
||||
<field name="method_period"/>
|
||||
<field name="method_end" attrs="{'required': [('method_time','=','end')], 'invisible':[('method_time','=','number')]}"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Depreciation Board">
|
||||
<field name="depreciation_line_ids" mode="tree,graph">
|
||||
<tree string="Depreciation Lines" colors="blue:(move_check == False);black:(move_check == True)">
|
||||
<field name="depreciation_date"/>
|
||||
<field name="sequence" invisible="1"/>
|
||||
<field name="depreciated_value" readonly="1"/>
|
||||
<field name="amount"/>
|
||||
<field name="remaining_value" readonly="1"/>
|
||||
<field name="move_check"/>
|
||||
<field name="parent_state" invisible="1"/>
|
||||
<button name="create_move" attrs="{'invisible':['|',('move_check','!=',False),('parent_state','!=','open')]}" icon="gtk-execute" string="Create Move" type="object"/>
|
||||
</tree>
|
||||
<graph type="bar">
|
||||
<field name="name"/>
|
||||
<field name="amount"/>
|
||||
<field name="depreciated_value"/>
|
||||
</graph>
|
||||
<tree string="Depreciation Lines" colors="blue:(move_check == False);black:(move_check == True)">
|
||||
<field name="depreciation_date"/>
|
||||
<field name="sequence" invisible="1"/>
|
||||
<field name="depreciated_value" readonly="1"/>
|
||||
<field name="amount"/>
|
||||
<field name="remaining_value" readonly="1"/>
|
||||
<field name="move_check"/>
|
||||
<field name="parent_state" invisible="1"/>
|
||||
<button name="create_move" attrs="{'invisible':['|',('move_check','!=',False),('parent_state','!=','open')]}" icon="gtk-execute" string="Create Move" type="object"/>
|
||||
</tree>
|
||||
<form string="Depreciation Lines">
|
||||
<group>
|
||||
<group>
|
||||
<field name="asset_id" invisible="1"/>
|
||||
<field name="parent_state" invisible="1"/>
|
||||
<field name="name"/>
|
||||
<field name="amount"/>
|
||||
<field name="move_id"/>
|
||||
<field name="move_check"/>
|
||||
<field name="parent_state" invisible="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="sequence"/>
|
||||
<field name="depreciation_date"/>
|
||||
<field name="depreciated_value" readonly="1"/>
|
||||
<field name="remaining_value" readonly="1"/>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
<graph type="bar">
|
||||
<field name="name"/>
|
||||
<field name="amount"/>
|
||||
<field name="depreciated_value"/>
|
||||
</graph>
|
||||
</field>
|
||||
<button type="object" name="compute_depreciation_board" string="Compute" icon="terp-stock_format-scientific" colspan="2" attrs="{'invisible':[('state','=','close')]}"/>
|
||||
</page>
|
||||
|
@ -150,12 +177,12 @@
|
|||
<field name="history_ids" readonly="1"/>
|
||||
</page>
|
||||
<page string="Notes">
|
||||
<field name="note"/>
|
||||
<field name="note" placeholder="Add an internal note here..."/>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_account_asset_asset_tree">
|
||||
|
|
|
@ -7,8 +7,6 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Compute Asset" version="7.0">
|
||||
<separator string="Post Depreciation Lines"/>
|
||||
<label string="This wizard will post the depreciation lines of running assets that belong to the selected period."/>
|
||||
<group>
|
||||
<field name="period_id"/>
|
||||
</group>
|
||||
|
|
|
@ -41,9 +41,10 @@ class account_bank_statement(osv.osv):
|
|||
def button_confirm_bank(self, cr, uid, ids, context=None):
|
||||
super(account_bank_statement, self).button_confirm_bank(cr, uid, ids, context=context)
|
||||
for st in self.browse(cr, uid, ids, context=context):
|
||||
cr.execute("UPDATE account_bank_statement_line \
|
||||
SET state='confirm' WHERE id in %s ",
|
||||
(tuple([x.id for x in st.line_ids]),))
|
||||
if st.line_ids:
|
||||
cr.execute("UPDATE account_bank_statement_line \
|
||||
SET state='confirm' WHERE id in %s ",
|
||||
(tuple([x.id for x in st.line_ids]),))
|
||||
return True
|
||||
|
||||
def button_cancel(self, cr, uid, ids, context=None):
|
||||
|
|
|
@ -0,0 +1,374 @@
|
|||
# Mongolian translation for openobject-addons
|
||||
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2012-07-16 07:16+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Mongolian <mn@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-07-17 04:49+0000\n"
|
||||
"X-Generator: Launchpad (build 15627)\n"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Search Bank Transactions"
|
||||
msgstr "Банкны гүйлгээгээр хайх"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
#: selection:account.bank.statement.line,state:0
|
||||
msgid "Confirmed"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement:0
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Glob. Id"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: selection:account.bank.statement.line.global,type:0
|
||||
msgid "CODA"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line.global,parent_id:0
|
||||
msgid "Parent Code"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Debit"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:cancel.statement.line:0
|
||||
#: model:ir.actions.act_window,name:account_bank_statement_extensions.action_cancel_statement_line
|
||||
#: model:ir.model,name:account_bank_statement_extensions.model_cancel_statement_line
|
||||
msgid "Cancel selected statement lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: constraint:res.partner.bank:0
|
||||
msgid "The RIB and/or IBAN is not valid"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Group By..."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line,state:0
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
#: selection:account.bank.statement.line,state:0
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Statement"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:confirm.statement.line:0
|
||||
#: model:ir.actions.act_window,name:account_bank_statement_extensions.action_confirm_statement_line
|
||||
#: model:ir.model,name:account_bank_statement_extensions.model_confirm_statement_line
|
||||
msgid "Confirm selected statement lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: report:bank.statement.balance.report:0
|
||||
#: model:ir.actions.report.xml,name:account_bank_statement_extensions.bank_statement_balance_report
|
||||
msgid "Bank Statement Balances Report"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:cancel.statement.line:0
|
||||
msgid "Cancel Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line.global:0
|
||||
#: model:ir.model,name:account_bank_statement_extensions.model_account_bank_statement_line_global
|
||||
msgid "Batch Payment Info"
|
||||
msgstr "Багц төлбөрийн мэдээлэл"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:confirm.statement.line:0
|
||||
msgid "Confirm Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: code:addons/account_bank_statement_extensions/account_bank_statement.py:130
|
||||
#, python-format
|
||||
msgid ""
|
||||
"Delete operation not allowed ! Please go to the associated bank "
|
||||
"statement in order to delete and/or modify this bank statement line"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line.global,type:0
|
||||
msgid "Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
#: field:account.bank.statement.line,journal_id:0
|
||||
#: report:bank.statement.balance.report:0
|
||||
msgid "Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Confirmed Statement Lines."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Credit Transactions."
|
||||
msgstr "Кредитын гүйлгээ"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: model:ir.actions.act_window,help:account_bank_statement_extensions.action_cancel_statement_line
|
||||
msgid "cancel selected statement lines."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line,counterparty_number:0
|
||||
msgid "Counterparty Number"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line.global:0
|
||||
msgid "Transactions"
|
||||
msgstr "Гүйлгээ"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: code:addons/account_bank_statement_extensions/account_bank_statement.py:130
|
||||
#, python-format
|
||||
msgid "Warning"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: report:bank.statement.balance.report:0
|
||||
msgid "Closing Balance"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: report:bank.statement.balance.report:0
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
#: field:account.bank.statement.line,globalisation_amount:0
|
||||
msgid "Glob. Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Debit Transactions."
|
||||
msgstr "Дебитын гүйлгээ"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Extended Filters..."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:confirm.statement.line:0
|
||||
msgid "Confirmed lines cannot be changed anymore."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: constraint:res.partner.bank:0
|
||||
msgid ""
|
||||
"\n"
|
||||
"Please define BIC/Swift code on bank for bank type IBAN Account to make "
|
||||
"valid payments"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line,val_date:0
|
||||
msgid "Valuta Date"
|
||||
msgstr "Мөнгөн тэмдэгтийн огноо"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: model:ir.actions.act_window,help:account_bank_statement_extensions.action_confirm_statement_line
|
||||
msgid "Confirm selected statement lines."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:cancel.statement.line:0
|
||||
msgid "Are you sure you want to cancel the selected Bank Statement lines ?"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: report:bank.statement.balance.report:0
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: selection:account.bank.statement.line.global,type:0
|
||||
msgid "ISO 20022"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Notes"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: selection:account.bank.statement.line.global,type:0
|
||||
msgid "Manual"
|
||||
msgstr "Гарын авлага"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Credit"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line.global,amount:0
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Fin.Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line,counterparty_currency:0
|
||||
msgid "Counterparty Currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line,counterparty_bic:0
|
||||
msgid "Counterparty BIC"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line.global,child_ids:0
|
||||
msgid "Child Codes"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:confirm.statement.line:0
|
||||
msgid "Are you sure you want to confirm the selected Bank Statement lines ?"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: constraint:account.bank.statement.line:0
|
||||
msgid ""
|
||||
"The amount of the voucher must be the same amount as the one on the "
|
||||
"statement line"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: help:account.bank.statement.line,globalisation_id:0
|
||||
msgid ""
|
||||
"Code to identify transactions belonging to the same globalisation level "
|
||||
"within a batch payment"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Draft Statement Lines."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Glob. Am."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: model:ir.model,name:account_bank_statement_extensions.model_account_bank_statement_line
|
||||
msgid "Bank Statement Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line.global,code:0
|
||||
msgid "Code"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line,counterparty_name:0
|
||||
msgid "Counterparty Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line.global,name:0
|
||||
msgid "Communication"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: model:ir.model,name:account_bank_statement_extensions.model_res_partner_bank
|
||||
msgid "Bank Accounts"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: constraint:account.bank.statement:0
|
||||
msgid "The journal and period chosen have to belong to the same company."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: model:ir.model,name:account_bank_statement_extensions.model_account_bank_statement
|
||||
msgid "Bank Statement"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Statement Line"
|
||||
msgstr "Тайлангийн мөр"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: sql_constraint:account.bank.statement.line.global:0
|
||||
msgid "The code must be unique !"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line.global,bank_statement_line_ids:0
|
||||
#: model:ir.actions.act_window,name:account_bank_statement_extensions.action_bank_statement_line
|
||||
#: model:ir.ui.menu,name:account_bank_statement_extensions.bank_statement_line
|
||||
msgid "Bank Statement Lines"
|
||||
msgstr "Банкны тайлангийн мөр"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line.global:0
|
||||
msgid "Child Batch Payments"
|
||||
msgstr "Хүү багцын төлбөр"
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:cancel.statement.line:0
|
||||
#: view:confirm.statement.line:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Statement Lines"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: view:account.bank.statement.line:0
|
||||
msgid "Total Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_bank_statement_extensions
|
||||
#: field:account.bank.statement.line,globalisation_id:0
|
||||
msgid "Globalisation ID"
|
||||
msgstr ""
|
|
@ -108,48 +108,71 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form version="7.0">
|
||||
<header>
|
||||
<button string="Confirm" name="confirm" states="draft" type="workflow" class="oe_highlight"/>
|
||||
<button string="Approve" name="validate" states="confirm" type="workflow" class="oe_highlight"/>
|
||||
<button string="Done" name="done" states="validate" type="workflow" class="oe_highlight"/>
|
||||
<button name="draft" states="cancel" string="Reset to Draft" type="workflow" />
|
||||
<button string="Cancel" name="cancel" states="confirm,validate" type="workflow"/>
|
||||
<field name="state" widget="statusbar" statusbar_visible="draft,confirm"/>
|
||||
</header>
|
||||
<sheet string="Budget">
|
||||
<group col="4">
|
||||
<field name="name" colspan="1" attrs="{'readonly':[('state','!=','draft')]}"/>
|
||||
<field name="code" colspan="1" attrs="{'readonly':[('state','!=','draft')]}"/>
|
||||
<field name="creating_user_id" attrs="{'readonly':[('state','!=','draft')]}"/>
|
||||
<field name="validating_user_id" readonly="True" attrs="{'readonly':[('state','!=','draft')]}"/>
|
||||
<field name="date_from" attrs="{'readonly':[('state','!=','draft')]}"/>
|
||||
<field name="date_to" attrs="{'readonly':[('state','!=','draft')]}"/>
|
||||
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
|
||||
<field name="crossovered_budget_line" colspan="4" nolabel="1" attrs="{'readonly':[('state','!=','draft')]}">
|
||||
<tree string="Budget Lines">
|
||||
<field name="analytic_account_id" groups="analytic.group_analytic_accounting"/>
|
||||
<field name="general_budget_id"/>
|
||||
<field name="date_from"/>
|
||||
<field name="date_to"/>
|
||||
<field name="paid_date"/>
|
||||
<field name="planned_amount" sum="Planned Amount"/>
|
||||
<field name="practical_amount" sum="Practical Amount"/>
|
||||
<field name="theoritical_amount" sum="Theoretical Amount"/>
|
||||
<field name="percentage"/>
|
||||
</tree>
|
||||
<form string="Budget Lines" version="7.0">
|
||||
<group col="4">
|
||||
<header>
|
||||
<button string="Confirm" name="confirm" states="draft" type="workflow" class="oe_highlight"/>
|
||||
<button string="Approve" name="validate" states="confirm" type="workflow" class="oe_highlight"/>
|
||||
<button string="Done" name="done" states="validate" type="workflow" class="oe_highlight"/>
|
||||
<button name="draft" states="cancel" string="Reset to Draft" type="workflow" />
|
||||
<button string="Cancel" name="cancel" states="confirm,validate" type="workflow"/>
|
||||
<field name="state" widget="statusbar" statusbar_visible="draft,confirm"/>
|
||||
</header>
|
||||
<sheet string="Budget">
|
||||
<div class="oe_title">
|
||||
<label for="name" class="oe_edit_only"/>
|
||||
<h1>
|
||||
<field name="name" attrs="{'readonly':[('state','!=','draft')]}"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="creating_user_id" attrs="{'readonly':[('state','!=','draft')]}"/>
|
||||
<field name="validating_user_id" readonly="True" attrs="{'readonly':[('state','!=','draft')]}"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="code" attrs="{'readonly':[('state','!=','draft')]}"/>
|
||||
<label for="date_from" string="Duration"/>
|
||||
<div>
|
||||
<field name="date_from" class="oe_inline" attrs="{'readonly':[('state','!=','draft')]}"/> -
|
||||
<field name="date_to" class="oe_inline" attrs="{'readonly':[('state','!=','draft')]}" nolabel="1"/>
|
||||
</div>
|
||||
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Budget Lines">
|
||||
<field name="crossovered_budget_line" colspan="4" nolabel="1" attrs="{'readonly':[('state','!=','draft')]}">
|
||||
<tree string="Budget Lines">
|
||||
<field name="analytic_account_id" groups="analytic.group_analytic_accounting"/>
|
||||
<field name="general_budget_id"/>
|
||||
<field name="date_from"/>
|
||||
<field name="date_to"/>
|
||||
<field name="paid_date"/>
|
||||
<field name="planned_amount"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</group>
|
||||
<field name="planned_amount" sum="Planned Amount"/>
|
||||
<field name="practical_amount" sum="Practical Amount"/>
|
||||
<field name="theoritical_amount" sum="Theoretical Amount"/>
|
||||
<field name="percentage"/>
|
||||
</tree>
|
||||
<form string="Budget Lines" version="7.0">
|
||||
<group>
|
||||
<group>
|
||||
<field name="analytic_account_id" groups="analytic.group_analytic_accounting"/>
|
||||
<field name="general_budget_id"/>
|
||||
<field name="planned_amount"/>
|
||||
</group>
|
||||
<group>
|
||||
<label for="date_from" string="Duration"/>
|
||||
<div>
|
||||
<field name="date_from" class="oe_inline"/> -
|
||||
<field name="date_to" class="oe_inline"/>
|
||||
</div>
|
||||
<field name="paid_date"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
|
|
|
@ -31,11 +31,9 @@
|
|||
<field name="priority">17</field>
|
||||
<field name="inherit_id" ref="base.view_company_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<page string="Configuration" position="inside">
|
||||
<separator string="Default Check Layout" colspan="4"/>
|
||||
<xpath expr="//group[@name='account_grp']" position="inside">
|
||||
<field name="check_layout"/>
|
||||
<newline/>
|
||||
</page>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- Supplier voucher view -->
|
||||
<!-- Supplier write check view -->
|
||||
|
||||
<record model="ir.ui.view" id="view_vendor_payment_check_form">
|
||||
<field name="name">account.voucher.payment.check.form</field>
|
||||
|
|
|
@ -0,0 +1,199 @@
|
|||
# Mongolian translation for openobject-addons
|
||||
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
|
||||
"PO-Revision-Date: 2012-07-16 07:40+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Mongolian <mn@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-07-17 04:49+0000\n"
|
||||
"X-Generator: Launchpad (build 15627)\n"
|
||||
|
||||
#. module: account_check_writing
|
||||
#: selection:res.company,check_layout:0
|
||||
msgid "Check on Top"
|
||||
msgstr "Чекийн дээд хэсэг"
|
||||
|
||||
#. module: account_check_writing
|
||||
#: model:ir.actions.act_window,help:account_check_writing.action_write_check
|
||||
msgid ""
|
||||
"The check payment form allows you to track the payment you do to your "
|
||||
"suppliers specially by check. When you select a supplier, the payment method "
|
||||
"and an amount for the payment, OpenERP will propose to reconcile your "
|
||||
"payment with the open supplier invoices or bills.You can print the check"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_check_writing
|
||||
#: view:account.voucher:0
|
||||
#: model:ir.actions.report.xml,name:account_check_writing.account_print_check_bottom
|
||||
#: model:ir.actions.report.xml,name:account_check_writing.account_print_check_middle
|
||||
#: model:ir.actions.report.xml,name:account_check_writing.account_print_check_top
|
||||
msgid "Print Check"
|
||||
msgstr "Чек хэвлэх"
|
||||
|
||||
#. module: account_check_writing
|
||||
#: selection:res.company,check_layout:0
|
||||
msgid "Check in middle"
|
||||
msgstr "Чекийн төв хэсэг"
|
||||
|
||||
#. module: account_check_writing
|
||||
#: help:res.company,check_layout:0
|
||||
msgid ""
|
||||
"Check on top is compatible with Quicken, QuickBooks and Microsoft Money. "
|
||||
"Check in middle is compatible with Peachtree, ACCPAC and DacEasy. Check on "
|
||||
"bottom is compatible with Peachtree, ACCPAC and DacEasy only"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_check_writing
|
||||
#: selection:res.company,check_layout:0
|
||||
msgid "Check on bottom"
|
||||
msgstr "Чекийн доод хэсэг"
|
||||
|
||||
#. module: account_check_writing
|
||||
#: constraint:res.company:0
|
||||
msgid "Error! You can not create recursive companies."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_check_writing
|
||||
#: help:account.journal,allow_check_writing:0
|
||||
msgid "Check this if the journal is to be used for writing checks."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_check_writing
|
||||
#: field:account.journal,allow_check_writing:0
|
||||
msgid "Allow Check writing"
|
||||
msgstr "Бичсэн чекийг зөвшөөрөх"
|
||||
|
||||
#. module: account_check_writing
|
||||
#: report:account.print.check.bottom:0
|
||||
#: report:account.print.check.middle:0
|
||||
#: report:account.print.check.top:0
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_check_writing
|
||||
#: model:ir.model,name:account_check_writing.model_account_journal
|
||||
msgid "Journal"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_check_writing
|
||||
#: model:ir.actions.act_window,name:account_check_writing.action_write_check
|
||||
#: model:ir.ui.menu,name:account_check_writing.menu_action_write_check
|
||||
msgid "Write Checks"
|
||||
msgstr "Чек бичих"
|
||||
|
||||
#. module: account_check_writing
|
||||
#: report:account.print.check.bottom:0
|
||||
#: report:account.print.check.middle:0
|
||||
#: report:account.print.check.top:0
|
||||
msgid "Discount"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_check_writing
|
||||
#: report:account.print.check.bottom:0
|
||||
#: report:account.print.check.middle:0
|
||||
#: report:account.print.check.top:0
|
||||
msgid "Original Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_check_writing
|
||||
#: view:res.company:0
|
||||
msgid "Configuration"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_check_writing
|
||||
#: field:account.voucher,allow_check:0
|
||||
msgid "Allow Check Writing"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_check_writing
|
||||
#: report:account.print.check.bottom:0
|
||||
#: report:account.print.check.middle:0
|
||||
#: report:account.print.check.top:0
|
||||
msgid "Payment"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_check_writing
|
||||
#: field:account.journal,use_preprint_check:0
|
||||
msgid "Use Preprinted Check"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_check_writing
|
||||
#: sql_constraint:res.company:0
|
||||
msgid "The company name must be unique !"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_check_writing
|
||||
#: report:account.print.check.bottom:0
|
||||
#: report:account.print.check.middle:0
|
||||
#: report:account.print.check.top:0
|
||||
msgid "Due Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_check_writing
|
||||
#: model:ir.model,name:account_check_writing.model_res_company
|
||||
msgid "Companies"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_check_writing
|
||||
#: view:res.company:0
|
||||
msgid "Default Check Layout"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_check_writing
|
||||
#: constraint:account.journal:0
|
||||
msgid ""
|
||||
"Configuration error! The currency chosen should be shared by the default "
|
||||
"accounts too."
|
||||
msgstr ""
|
||||
|
||||
#. module: account_check_writing
|
||||
#: report:account.print.check.bottom:0
|
||||
#: report:account.print.check.middle:0
|
||||
msgid "Balance Due"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_check_writing
|
||||
#: report:account.print.check.bottom:0
|
||||
#: report:account.print.check.middle:0
|
||||
#: report:account.print.check.top:0
|
||||
msgid "Check Amount"
|
||||
msgstr "Чекийн дүн"
|
||||
|
||||
#. module: account_check_writing
|
||||
#: model:ir.model,name:account_check_writing.model_account_voucher
|
||||
msgid "Accounting Voucher"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_check_writing
|
||||
#: sql_constraint:account.journal:0
|
||||
msgid "The name of the journal must be unique per company !"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_check_writing
|
||||
#: sql_constraint:account.journal:0
|
||||
msgid "The code of the journal must be unique per company !"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_check_writing
|
||||
#: field:account.voucher,amount_in_word:0
|
||||
msgid "Amount in Word"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_check_writing
|
||||
#: report:account.print.check.top:0
|
||||
msgid "Open Balance"
|
||||
msgstr ""
|
||||
|
||||
#. module: account_check_writing
|
||||
#: field:res.company,check_layout:0
|
||||
msgid "Choose Check layout"
|
||||
msgstr ""
|
|
@ -14,7 +14,7 @@
|
|||
or
|
||||
<button string="Cancel" class="oe_link" special="cancel"/>
|
||||
</header>
|
||||
<group col="2" string="Select Your File :">
|
||||
<group col="2">
|
||||
<field name="coda_data" filename="coda_fname"/>
|
||||
<field name="coda_fname"/>
|
||||
</group>
|
||||
|
|
|
@ -31,7 +31,7 @@ class account_followup_print(osv.osv_memory):
|
|||
_description = 'Print Follow-up & Send Mail to Customers'
|
||||
_columns = {
|
||||
'date': fields.date('Follow-up Sending Date', required=True, help="This field allow you to select a forecast date to plan your follow-ups"),
|
||||
'followup_id': fields.many2one('account_followup.followup', 'Follow-up', required=True),
|
||||
'followup_id': fields.many2one('account_followup.followup', 'Follow-Up', required=True),
|
||||
}
|
||||
|
||||
def _get_followup(self, cr, uid, context=None):
|
||||
|
@ -121,10 +121,10 @@ class account_followup_print_all(osv.osv_memory):
|
|||
_description = 'Print Follow-up & Send Mail to Customers'
|
||||
_columns = {
|
||||
'partner_ids': fields.many2many('account_followup.stat.by.partner', 'partner_stat_rel', 'osv_memory_id', 'partner_id', 'Partners', required=True),
|
||||
'email_conf': fields.boolean('Send email confirmation'),
|
||||
'email_conf': fields.boolean('Send Email Confirmation'),
|
||||
'email_subject': fields.char('Email Subject', size=64),
|
||||
'partner_lang': fields.boolean('Send Email in Partner Language', help='Do not change message text, if you want to send email in partner language, or configure from company'),
|
||||
'email_body': fields.text('Email body'),
|
||||
'email_body': fields.text('Email Body'),
|
||||
'summary': fields.text('Summary', required=True, readonly=True),
|
||||
'test_print': fields.boolean('Test Print', help='Check if you want to print follow-ups without changing follow-ups level.')
|
||||
}
|
||||
|
|
|
@ -8,8 +8,6 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Send follow-ups" version="7.0">
|
||||
<separator string="Send Follow-ups"/>
|
||||
<label string ="This feature allows you to send reminders to partners with pending invoices. You can send them the default message for unpaid invoices or manually enter a message should you need to remind them of a specific information."/>
|
||||
<group col="4">
|
||||
<field name="followup_id"/>
|
||||
<field name="date"/>
|
||||
|
@ -24,7 +22,7 @@
|
|||
</record>
|
||||
|
||||
<record id="action_account_followup_print" model="ir.actions.act_window">
|
||||
<field name="name">Send follow-ups</field>
|
||||
<field name="name">Send Follow-Ups</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">account.followup.print</field>
|
||||
<field name="view_type">form</field>
|
||||
|
@ -76,7 +74,7 @@
|
|||
<field name="model">account.followup.print.all</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Send follow-ups" version="7.0">
|
||||
<form string="Send Follow-Ups" version="7.0">
|
||||
<header>
|
||||
<button name="do_mail" string="Send Mails" type="object" class="oe_highlight"/>
|
||||
<button name="do_print" string="Print Follow Ups" type="object" class="oe_highlight"/>
|
||||
|
@ -93,7 +91,6 @@
|
|||
<field name="partner_lang" colspan="4"/>
|
||||
<field name="test_print" colspan="4"/>
|
||||
<field name="email_subject" colspan="4"/>
|
||||
<separator string="Email Body" colspan="4" />
|
||||
<field name="email_body" colspan="4" nolabel="1"/>
|
||||
</group>
|
||||
<group string="Legend">
|
||||
|
@ -125,7 +122,7 @@
|
|||
</record>
|
||||
|
||||
<record id="action_account_followup_print_all" model="ir.actions.act_window">
|
||||
<field name="name">Send follow-ups</field>
|
||||
<field name="name">Send Follow-Ups</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">account.followup.print.all</field>
|
||||
<field name="view_type">form</field>
|
||||
|
|
|
@ -87,9 +87,9 @@ class payment_order(osv.osv):
|
|||
return res
|
||||
|
||||
_columns = {
|
||||
'date_scheduled': fields.date('Scheduled date if fixed', states={'done':[('readonly', True)]}, help='Select a date if you have chosen Preferred Date to be fixed.'),
|
||||
'date_scheduled': fields.date('Scheduled Date', states={'done':[('readonly', True)]}, help='Select a date if you have chosen Preferred Date to be fixed.'),
|
||||
'reference': fields.char('Reference', size=128, required=1, states={'done': [('readonly', True)]}),
|
||||
'mode': fields.many2one('payment.mode', 'Payment mode', select=True, required=1, states={'done': [('readonly', True)]}, help='Select the Payment Mode to be applied.'),
|
||||
'mode': fields.many2one('payment.mode', 'Payment Mode', select=True, required=1, states={'done': [('readonly', True)]}, help='Select the Payment Mode to be applied.'),
|
||||
'state': fields.selection([
|
||||
('draft', 'Draft'),
|
||||
('cancel', 'Cancelled'),
|
||||
|
@ -98,14 +98,14 @@ class payment_order(osv.osv):
|
|||
help='When an order is placed the state is \'Draft\'.\n Once the bank is confirmed the state is set to \'Confirmed\'.\n Then the order is paid the state is \'Done\'.'),
|
||||
'line_ids': fields.one2many('payment.line', 'order_id', 'Payment lines', states={'done': [('readonly', True)]}),
|
||||
'total': fields.function(_total, string="Total", type='float'),
|
||||
'user_id': fields.many2one('res.users', 'User', required=True, states={'done': [('readonly', True)]}),
|
||||
'user_id': fields.many2one('res.users', 'Responsible', required=True, states={'done': [('readonly', True)]}),
|
||||
'date_prefered': fields.selection([
|
||||
('now', 'Directly'),
|
||||
('due', 'Due date'),
|
||||
('fixed', 'Fixed date')
|
||||
], "Preferred date", change_default=True, required=True, states={'done': [('readonly', True)]}, help="Choose an option for the Payment Order:'Fixed' stands for a date specified by you.'Directly' stands for the direct execution.'Due date' stands for the scheduled date of execution."),
|
||||
'date_created': fields.date('Creation date', readonly=True),
|
||||
'date_done': fields.date('Execution date', readonly=True),
|
||||
], "Preferred Date", change_default=True, required=True, states={'done': [('readonly', True)]}, help="Choose an option for the Payment Order:'Fixed' stands for a date specified by you.'Directly' stands for the direct execution.'Due date' stands for the scheduled date of execution."),
|
||||
'date_created': fields.date('Creation Date', readonly=True),
|
||||
'date_done': fields.date('Execution Date', readonly=True),
|
||||
'company_id': fields.related('mode', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True),
|
||||
}
|
||||
|
||||
|
|
|
@ -112,16 +112,25 @@
|
|||
<button name="cancel" states="draft,open" string="Cancel"/>
|
||||
<field name="state" widget="statusbar" statusbar_visible="draft,open"/>
|
||||
</header>
|
||||
<sheet string="Payment order" >
|
||||
<group col="4">
|
||||
<field name="reference"/>
|
||||
<field name="mode" widget='selection'/>
|
||||
<field name="user_id"/>
|
||||
<field name="date_prefered"/>
|
||||
<field name="date_scheduled" attrs="{'readonly':[('date_prefered','!=','fixed')]}" />
|
||||
<field name="company_id" widget='selection' groups="base.group_multi_company"/>
|
||||
<button name="%(action_create_payment_order)d" string="Select Invoices to Pay"
|
||||
type="action" attrs="{'invisible':[('state','=','done')]}" icon="gtk-find"/>
|
||||
<sheet string="Payment order">
|
||||
<div class="oe_button_box">
|
||||
<button name="%(action_create_payment_order)d" string="Select Invoices to Pay"
|
||||
type="action" attrs="{'invisible':[('state','=','done')]}" icon="gtk-find"/>
|
||||
</div>
|
||||
<div class="oe_title">
|
||||
<label for="reference" class="oe_edit_only"/>
|
||||
<h1><field name="reference"/></h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="user_id"/>
|
||||
<field name="mode"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="date_prefered"/>
|
||||
<field name="date_scheduled" attrs="{'readonly':[('date_prefered','!=','fixed')]}"/>
|
||||
<field name="company_id" widget='selection' groups="base.group_multi_company"/>
|
||||
</group>
|
||||
</group>
|
||||
<field name="line_ids" context="{'order_id': active_id or False}" >
|
||||
<form string="Payment Line" version="7.0">
|
||||
|
@ -177,8 +186,6 @@
|
|||
<field name="amount" sum="Total in Company Currency" invisible="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
<field name="date_created"/>
|
||||
<field name="date_done"/>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
|
@ -330,9 +337,9 @@
|
|||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="account.view_bank_statement_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="journal_id" position="after">
|
||||
<button name="%(action_account_populate_statement_confirm)d" attrs="{'invisible':[('state','=','confirm')]}" string="Import payment lines" type="action" icon="gtk-execute"/>
|
||||
</field>
|
||||
<xpath expr="//div[@name='import_buttons']" position="inside">
|
||||
<button name="%(action_account_populate_statement_confirm)d" attrs="{'invisible':[('state','=','confirm')]}" string="Import Payment Lines" type="action" icon="gtk-execute"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="account.view_move_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="to_check" position="after">
|
||||
<field name="period_id" position="after">
|
||||
<field name="internal_sequence_number"/>
|
||||
</field>
|
||||
</field>
|
||||
|
@ -44,7 +44,7 @@
|
|||
<field name="inherit_id" ref="account.view_account_move_filter"/>
|
||||
<field name="arch" type="xml">
|
||||
<data>
|
||||
<xpath expr="//field[@name='ref']" position="before">
|
||||
<xpath expr="//field[@name='name']" position="after">
|
||||
<field name="internal_sequence_number"/>
|
||||
</xpath>
|
||||
</data>
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
"name" : "eInvoicing & Payments",
|
||||
"version" : "1.0",
|
||||
"author" : 'OpenERP SA',
|
||||
"summary": 'Supplier & Customer Invoices, Payments',
|
||||
"description": """
|
||||
Account Voucher module includes all the basic requirements of Voucher Entries for Bank, Cash, Sales, Purchase, Expanse, Contra, etc.
|
||||
====================================================================================================================================
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
<field name="period_id" invisible="context.get('visible', True)"/>
|
||||
<field name="type" invisible="context.get('visible', True)"/>
|
||||
<field name="amount" sum="Total Amount"/>
|
||||
<field name="audit"/>
|
||||
<field name="audit" invisible="1"/>
|
||||
<field name="state"/>
|
||||
</tree>
|
||||
</field>
|
||||
|
@ -52,6 +52,7 @@
|
|||
<sheet string="Accounting Voucher">
|
||||
<group col="6" colspan="4">
|
||||
<field name="partner_id" required="1" on_change="onchange_journal_voucher(line_ids, tax_id, amount, partner_id, journal_id, type)"/>
|
||||
<field name="payment_rate_currency_id" invisible="1"/>
|
||||
<field name="date" on_change="onchange_date(date, currency_id, payment_rate_currency_id, amount, company_id)"/>
|
||||
<field name="journal_id" widget="selection" on_change="onchange_journal_voucher(line_ids, tax_id, amount, partner_id, journal_id, type)"/>
|
||||
<field name="type" required="1"/>
|
||||
|
@ -209,11 +210,11 @@
|
|||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="account.view_bank_statement_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="currency" invisible="1" position="after">
|
||||
<button name="%(action_view_account_statement_from_invoice_lines)d"
|
||||
<xpath expr="//div[@name='import_buttons']" position="inside">
|
||||
<button name="%(action_view_account_statement_from_invoice_lines)d"
|
||||
string="Import Invoices" type="action" icon="gtk-execute"
|
||||
attrs="{'invisible':[('state','=','confirm')]}"/>
|
||||
</field>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
@ -272,8 +273,8 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="currency_id" position="after">
|
||||
<field name="income_currency_exchange_account_id" colspan="2"/>
|
||||
<field name="expense_currency_exchange_account_id" colspan="2"/>
|
||||
<field name="income_currency_exchange_account_id"/>
|
||||
<field name="expense_currency_exchange_account_id"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -149,26 +149,31 @@
|
|||
<button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft" invisible="context.get('line_type', False)"/>
|
||||
<field name="state" widget="statusbar" statusbar_visible="draft,posted" statusbar_colors='{"proforma":"blue"}'/>
|
||||
</header>
|
||||
<sheet string="Bill Payment">
|
||||
<group col="6">
|
||||
<field name="partner_id" required="1" invisible="context.get('line_type', False)" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" context="{'invoice_currency':currency_id, 'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}" string="Supplier"/>
|
||||
<field name="amount" invisible="context.get('line_type', False)" on_change="onchange_amount(amount, payment_rate, partner_id, journal_id, currency_id, type, date, payment_rate_currency_id, company_id, context)"/>
|
||||
<field name="journal_id"
|
||||
domain="[('type','in',['bank', 'cash'])]"
|
||||
invisible="context.get('line_type', False)"
|
||||
widget="selection"
|
||||
on_change="onchange_journal(journal_id, line_dr_ids, False, partner_id, date, amount, type, company_id, context)"
|
||||
string="Payment Method"/>
|
||||
<field name="date" invisible="context.get('line_type', False)" on_change="onchange_date(date, currency_id, payment_rate_currency_id, amount, company_id, context)"/>
|
||||
<field name="reference" invisible="context.get('line_type', False)" string="Payment Ref" placeholder="003/10"/>
|
||||
<field name="name" colspan="2" invisible="context.get('line_type', False)" placeholder="Invoice SAJ/0042"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
<field name="account_id"
|
||||
widget="selection"
|
||||
invisible="True"/>
|
||||
<field name="pre_line" invisible="1"/>
|
||||
<field name="type" invisible="True"/>
|
||||
<field name="currency_id" invisible="1" colspan="4"/>
|
||||
<sheet>
|
||||
<field name="account_id" invisible="True"/>
|
||||
<field name="pre_line" invisible="1"/>
|
||||
<field name="type" invisible="True"/>
|
||||
<group>
|
||||
<group>
|
||||
<field name="partner_id" required="1" invisible="context.get('line_type', False)" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" context="{'invoice_currency':currency_id, 'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}" string="Supplier"/>
|
||||
<label for="amount" string="Amount"/>
|
||||
<div>
|
||||
<field name="amount" invisible="context.get('line_type', False)" on_change="onchange_amount(amount, payment_rate, partner_id, journal_id, currency_id, type, date, payment_rate_currency_id, company_id, context)" class="oe_inline"/>
|
||||
<field name="currency_id" class="oe_inline"/>
|
||||
</div>
|
||||
<field name="journal_id"
|
||||
domain="[('type','in',['bank', 'cash'])]"
|
||||
invisible="context.get('line_type', False)"
|
||||
widget="selection"
|
||||
on_change="onchange_journal(journal_id, line_dr_ids, False, partner_id, date, amount, type, company_id, context)"
|
||||
string="Payment Method"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="date" invisible="context.get('line_type', False)" on_change="onchange_date(date, currency_id, payment_rate_currency_id, amount, company_id, context)"/>
|
||||
<field name="reference" invisible="context.get('line_type', False)" string="Payment Ref" placeholder="003/10"/>
|
||||
<field name="name" colspan="2" invisible="context.get('line_type', False)" placeholder="Invoice SAJ/0042"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Payment Information">
|
||||
|
@ -311,10 +316,15 @@
|
|||
<group>
|
||||
<group>
|
||||
<field name="partner_id" domain="[('customer','=',True)]" required="1" invisible="context.get('line_type', False)" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" string="Customer" context="{'search_default_customer': 1}"/>
|
||||
<field name="amount"
|
||||
invisible="context.get('line_type', False)"
|
||||
string="Paid Amount"
|
||||
on_change="onchange_amount(amount, payment_rate, partner_id, journal_id, currency_id, type, date, payment_rate_currency_id, company_id, context)"/>
|
||||
<label for="amount"
|
||||
string="Paid Amount"/>
|
||||
<div>
|
||||
<field name="amount" class="oe_inline"
|
||||
invisible="context.get('line_type', False)"
|
||||
on_change="onchange_amount(amount, payment_rate, partner_id, journal_id, currency_id, type, date, payment_rate_currency_id, company_id, context)"/>
|
||||
<field name="currency_id" class="oe_inline"/>
|
||||
</div>
|
||||
|
||||
<field name="journal_id"
|
||||
domain="[('type','in',['bank', 'cash'])]"
|
||||
invisible="context.get('line_type', False)"
|
||||
|
@ -323,7 +333,6 @@
|
|||
string="Payment Method"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="currency_id" invisible="1"/>
|
||||
<field name="date" invisible="context.get('line_type', False)" on_change="onchange_date(date, currency_id, payment_rate_currency_id, amount, company_id, context)"/>
|
||||
<field name="reference" invisible="context.get('line_type', False)" string="Payment Ref" placeholder="003/10"/>
|
||||
<field name="name" colspan="2" invisible="context.get('line_type', False)" placeholder="Invoice SAJ/0042"/>
|
||||
|
|
|
@ -88,18 +88,18 @@
|
|||
<field name="state" widget="statusbar" statusbar_visible="draft,posted" statusbar_colors='{"proforma":"blue"}'/>
|
||||
</header>
|
||||
<sheet string="Sales Receipt" >
|
||||
<h1><label for="number" string="Sales Receipt "/><field name="number" class="oe_inline"/></h1>
|
||||
<h1><label for="number" string="Sale Receipt"/> <field name="number" class="oe_inline" readonly="1"/></h1>
|
||||
<group>
|
||||
<group>
|
||||
<field name="partner_id" domain="[('customer','=',True)]" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" string="Customer" context="{'search_default_customer':1, 'show_address': 1}" options='{"always_reload": true}'/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="currency_id" invisible="1"/>
|
||||
<field name="journal_id" domain="[('type','in',['sale','sale_refund'])]" widget="selection" on_change="onchange_journal(journal_id, line_cr_ids, tax_id, partner_id, date, amount, type, company_id, context)"/>
|
||||
<field name="journal_id" domain="[('type','in',['sale','sale_refund'])]" widget="selection" on_change="onchange_journal(journal_id, line_cr_ids, tax_id, partner_id, date, amount, type, company_id, context)" groups="account.group_account_user"/>
|
||||
<field name="date" on_change="onchange_date(date, currency_id, currency_id, amount, company_id, context)"/>
|
||||
<field name="name"/>
|
||||
<field name="paid" invisible="1"/>
|
||||
<field name="currency_id" invisible="1"/>
|
||||
</group>
|
||||
<field name="type" invisible="True"/>
|
||||
</group>
|
||||
|
@ -113,23 +113,24 @@
|
|||
<field name="account_analytic_id" groups="analytic.group_analytic_accounting"/>
|
||||
</tree>
|
||||
</field>
|
||||
<group>
|
||||
<group>
|
||||
<field name="narration" placeholder="Internal Notes" nolabel="1"/>
|
||||
<group class="oe_subtotal_footer oe_right">
|
||||
<field name="tax_id"
|
||||
on_change="onchange_price(line_cr_ids, tax_id, partner_id)"
|
||||
widget="selection"
|
||||
widget="selection" nolabel="1"
|
||||
placeholder="select tax..."
|
||||
domain="[('type_tax_use','in',('sale','all')), ('parent_id', '=', False)]"/>
|
||||
<div>
|
||||
<label for="tax_amount"/>
|
||||
<field name="tax_amount" nolabel="1"/>
|
||||
<div class="oe_subtotal_footer_separator">
|
||||
<label for="amount"/>
|
||||
<button type="object" class="oe_link oe_edit_only"
|
||||
name="compute_tax" string="(update)"
|
||||
attrs="{'invisible': [('state','!=','draft')]}"/>
|
||||
</div>
|
||||
<field name="tax_amount" nolabel="1"/>
|
||||
<field name="amount" class="oe_subtotal_footer_separator" />
|
||||
</div>
|
||||
<field name="amount" class="oe_subtotal_footer_separator" nolabel="1"/>
|
||||
</group>
|
||||
<group>
|
||||
<group>
|
||||
<field name="pay_now" on_change="onchange_payment(pay_now, journal_id, partner_id)" required="1"/>
|
||||
<field name="date_due" attrs="{'invisible':[('pay_now','=','pay_now')]}"/>
|
||||
<field name="account_id"
|
||||
|
@ -138,7 +139,7 @@
|
|||
<field name="reference"
|
||||
attrs="{'invisible':[('pay_now','!=','pay_now')]}"/>
|
||||
</group>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Journal Items" attrs="{'invisible': [('state','!=','posted')]}">
|
||||
<group col="4">
|
||||
|
@ -228,51 +229,43 @@
|
|||
<field name="state" widget="statusbar" statusbar_visible="draft,posted" statusbar_colors='{"proforma":"blue"}'/>
|
||||
</header>
|
||||
<sheet string="Supplier Voucher">
|
||||
<div class="oe_title">
|
||||
<label for="number" class="oe_edit_only"/>
|
||||
<h1><field name="number" readonly="0" /></h1>
|
||||
</div>
|
||||
<h1><label for="number" string="Purchase Receipt"/> <field name="number" class="oe_inline" readonly="1"/></h1>
|
||||
|
||||
<field name="pay_now" invisible="1"/>
|
||||
<field name="account_id" domain="[('type','=','other')]" invisible="True"/>
|
||||
<field name="type" invisible="True"/>
|
||||
<group>
|
||||
<group>
|
||||
<field name="partner_id" domain="[('supplier','=',True)]" required="1" string="Supplier" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}" />
|
||||
<field name="date" string="Bill Date" on_change="onchange_date(date, currency_id, currency_id, amount, company_id, context)"/>
|
||||
<field name="date_due"/>
|
||||
<field name="partner_id" domain="[('supplier','=',True)]" string="Supplier" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}" />
|
||||
<field name="name" colspan="2"/>
|
||||
|
||||
</group>
|
||||
<group>
|
||||
<field name="paid" invisible="1"/>
|
||||
<field name="currency_id"/>
|
||||
<field name="journal_id"
|
||||
domain="[('type','in',['purchase','purchase_refund'])]"
|
||||
widget="selection"
|
||||
on_change="onchange_journal(journal_id, line_dr_ids, tax_id, partner_id, date, amount, type, company_id, context)"/>
|
||||
<field name="reference"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
</group>
|
||||
|
||||
<group>
|
||||
<field name="date" string="Bill Date" on_change="onchange_date(date, currency_id, currency_id, amount, company_id, context)"/>
|
||||
<field name="date_due"/>
|
||||
<field name="paid" invisible="1"/>
|
||||
<field name="currency_id" invisible="1"/>
|
||||
<field name="journal_id"
|
||||
domain="[('type','in',['purchase','purchase_refund'])]"
|
||||
widget="selection"
|
||||
on_change="onchange_journal(journal_id, line_dr_ids, tax_id, partner_id, date, amount, type, company_id, context)"
|
||||
groups="account.group_account_user"/>
|
||||
</group>
|
||||
</group>
|
||||
<group col="6">
|
||||
<field name="account_id" domain="[('type','=','other')]" invisible="True"/>
|
||||
<field name="type" invisible="True"/>
|
||||
</group>
|
||||
<notebook colspan="4">
|
||||
<notebook>
|
||||
<page string="Bill Information">
|
||||
<field name="line_dr_ids" on_change="onchange_price(line_dr_ids, tax_id, partner_id)" context="{'journal_id':journal_id,'partner_id':partner_id}">
|
||||
<tree string="Expense Lines" editable="bottom">
|
||||
<field name="account_id" widget="selection" domain="[('user_type.report_type','=','expense'), ('type','!=','view')]" groups="account.group_account_user"/>
|
||||
<field name="account_id" widget="selection" domain="[('user_type.report_type','=','expense'), ('type','!=','view')]" groups="account.group_account_user"/>
|
||||
<field name="name"/>
|
||||
<field name="amount"/>
|
||||
<field name="account_analytic_id" groups="analytic.group_analytic_accounting"/>
|
||||
</tree>
|
||||
</field>
|
||||
<group>
|
||||
<group>
|
||||
<field name="narration" placeholder="Internal Notes" nolabel="1" />
|
||||
</group>
|
||||
<group class="oe_subtotal_footer">
|
||||
<field name="narration" placeholder="Internal Notes" nolabel="1"/>
|
||||
<group class="oe_subtotal_footer oe_right">
|
||||
<!--
|
||||
<div>
|
||||
<label for="tax_id" />
|
||||
|
@ -284,13 +277,20 @@
|
|||
-->
|
||||
<field name="tax_id"
|
||||
on_change="onchange_price(line_dr_ids, tax_id, partner_id)"
|
||||
widget="selection"
|
||||
widget="selection" nolabel="1"
|
||||
placeholder="select tax..."
|
||||
|
||||
domain="[('type_tax_use','in',('purchase','all')), ('parent_id', '=', False)]"
|
||||
/>
|
||||
<field name="tax_amount" />
|
||||
<field name="amount" string="Total" class="oe_subtotal_footer_separator"/>
|
||||
</group>
|
||||
|
||||
<field name="tax_amount" nolabel="1"/>
|
||||
<div class="oe_subtotal_footer_separator">
|
||||
<label for="amount"/>
|
||||
<button type="object" class="oe_link oe_edit_only"
|
||||
name="compute_tax" string="(update)"
|
||||
attrs="{'invisible': [('state','!=','draft')]}"/>
|
||||
</div>
|
||||
<field name="amount" class="oe_subtotal_footer_separator" nolabel="1"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Journal Items" attrs="{'invisible': [('state','!=','posted')]}">
|
||||
|
|
|
@ -1,12 +1,22 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record model="res.users" id="user">
|
||||
<record id="anonymous_user" model="res.users">
|
||||
<field name="name">Anonymous</field>
|
||||
<field name="login">anonymous</field>
|
||||
<field name="password">anonymous</field>
|
||||
<!-- Avoid auto-including this demo user in any default group -->
|
||||
<field name="groups_id" eval="[(5,)]"/>
|
||||
<field name="avatar">iVBORw0KGgoAAAANSUhEUgAAAJYAAACWCAAAAAAZai4+AAAMQElEQVR4nO2ce4wV1R3Hv7/fmbvrPliQZWEXWFgWEFgQBRNI0dZW7euPxliTRhNbW5NatammoaaPNKmpKRYiUunDFzEU28YYkRaiaX0hYhUELApaKG90l2VZdmVl2WXvnPPrH/c1M3d2uWdmePzB75+9d+7Mmc/8zjm/+T3OWRJciMLnGyBcLmLZyEUsG7mIZSNOAm2IQAAQQAAEAhBRrCYprjkVI6GPpkXFIIuHJYYJ6D/Wsb+97fiJk339A0ZVDa8bP3lG4xhAjDofWGIUcOifW3ceOFr026Q5V980CSbq2I2B5To49dILL/YAQE4tkhlf0ABG3Pzta+FG7EqJKEZL1/IZANgJuzMrBpxvvCuio7QeFcsVWTsLUEMogxSh7IEBcc8dVlrabyeoM40cRfjS3ihc0bC0bJoOp5R5lkLT1ghckbC0WV1bqiF20PCB/fiKpq30VUiVRgUozOgUY3mDaHaFKkmXeq5O/XehsTVDEc2dzX3Szqp1XPJTZCRRD4KYw+yFyBJtaVSTxGIxRkKmp6ZNG9nYNZUQEgAyo66ZnQrTizLPw250JYfF+OmHG7ZsukWKuQzeH1B2XJEMhHt10fM4+HHGDPwQRf1IqD1oZ7uS0hbpkfcYDWj51VgT1Jeo4+12vZhYJ8qoOlaAkrqWsGdtt2stMW3lfC6RyWG/n7ZrLvnIh04mcJ+ksYzqWE8hNmqYXTMRAzJWAXvOxABgDN/XporeNEL1sLLzEbF6deDWGr0AtOKFzxa//8g01Nq1HxFrfmUq0FO6UYmb6r37GcctOptkyuhzoS1+NGibBMSU2nTfu1xMBZYpZdoqZoyGRcVevGF1YvGy/lQ65HQj11m+EyMHZH4xrpi/zRpkYhPVHbH0T5PBckVeuQYYJDpTuM82ykgEKy2d38Wg4RnzsI+MZZCRBJaWVy4DDzqkU1hsHZIlgOXKCmeIQMjBl11jG/nEx3JllaJB32GUwhWt1lTxsbS8VD44FQM3tEbIjsTFMuZkS7E7moNycMnP+qPkbOJiubJ8MJNMCvjKZrGOqBPAMiZ9HYUqixygeZVIOgpVeDq2dBFufR9hIaDSbt1d99RDR7tBXCx0HA+LTJUu+8G9U+CWlGxKHivcSSfS1y5aAM2RWz8rVQymn7+6QJsYifkkqhhBYf3gL030nDxwVrSlzNd/4cZs+CxgGbqbB7f7pUn8TuQAAUnVVbGfNjaWMUX2IV0et9H4WJWTHT8X6ZpYoz3TSNzCnT5VbAaq4hUTkQDW2ZH4Qz77XCIioEwKILayktJWvqKpQ3PN1pIMllY4/f7h42r8lfUwiZjCeP5WRlxp/3VLJQA0LjwWrYAYkCSwXHm1GQA7DgPTdyfBlUhAtiYFJzvYHUw7oiM5pAljabO7xjOhU7gtUr3VL/HHp9BDPZ6clque26zsKikhEhtL+MA6b7JUaGBN3DYTwDK0q0vEd2BT/D5IwMik/VUekb2nbJNsRZIAVlFWpNeyNhAiCah7Qk1ANzWXxG00PhaZGXN9LjLTnIqQ4p2dJGAg+E4fBcnXwsoYdhL/VS3QX329YLhS6VnvVMV3bWIbZDFycAJSTABIpVD/XgIvxWRe1R/NBaAUA5gfYY1IsSTk2PQsagaAinlP9SXi2CTjBhpG95ZuU9Ewj5JxAxNzmjOOjZELyWkGIEZAcWP8vFygAdkFukr3IpaNXMSykeg5CI/bEMgk5X/QkVeCRzMQIia8duE/iwDRFMXAWmPliU6o6uwhs9eT6qZ09dgsVNdT82aOBgAtbKk1m04UgYCZobt27HhLLctm14w8s2RYbkkGG17dIAyAzMhh1zW3tMyb05gCRJO3e0u4V0lidDoTK3e/ufLez9cqVG7PuwpGfwsOcsH+s/mg2pUHAaBq7veffKNLRETSbol5gBKwjE6ntYhI/4F/PXzjpDIAoIo3CyG9lr4FcEBE5GCRJ9R35TsoZwBINd+8fENbBi1dQo5iaCxjXNcVETndvfH3d3wus1BGOaqMVspA4TQthyeDATDu9FbqjHtyPhSxykyP8Tfc/+yeUyIi2nWH9soGxzI6nbnDwO7V919bT1kiJoLCbyTtPdeVrWNAYHzTrwotB5vAAIiVwwBQOev2Fe/1ioiYoXo0FMtoN3PJwKH1S2+9fExmMDu5ma5wh0n7r0jLYjhEFfsCvqkr/x6WNxCUXV0/fPpNi9d/rEVE9CBsRTNRRDKrP/p2bv5o5+4OAHBgRPJlAaVv/ENw1SuZk4DA9AXsjXIXPHkrZa2QaIDA9NmJXWtQP+PK2dc0OQxooMi0ebEERkgRYPbv2rHzncMaABPE+BYZsZ73VEVwQRLTAQiQPjozwOW4t+x5wJOSkCyFtLevR/nsBbNmT68BoIXYG8XlsTSYoKAPtW3btr31GAAwS3HlBISb69ygkknvgoDNkaKkCJvvLT4VMNoGADHM6S1bUFl/+fx5k8aVAzCeCqSnQ/v3vHD/9fWZxkL3fWR+QsuJ4JIZIx0jQFBYKoFBJ2n50aA2mzhbNK79wsJ/7Pdemcd6+6HbWioZAKngur+AKPwlmIbU8hYDcPCTIJY2H1YPadyJM/Glqp57558O5NaXZLCMkesBwEmVUMhlXNUXmD6urAABDm4JArty16CrNzxsynEA4Jnc5Rl/iwyanXKGm9ZnfnUbtW1dYHOBoBUMCHrAvgYM/++vJSRKRLsuOFU5MzfsOdfuBNctPc/yWGAmEvaDAMGJgYC26dHPuEQnRdIVjQEswujSE4uaNmz0reIUdg9CAEHHp75mDO9YWXJWiTBlZO5zHmt86OKPcFHmCb+jRt1tGZyj/pXDgiWnSlUWCNNY/NoCGpzSk1Ka1273rhURnGiDAMI9x73aMvzBmtJ3OxCmIu+25Q6Nqyn1ckCod6nvOw71cmZD52H/eb/rLdn9JYOW/Jc8Vk1d6VgwtHa3Tw37cqr+xKMtrXY8V7y+efBGKxrznZf7a6jWIrMo3LPSd/a+3IdDvvMW9ZbcJAijJuYR8lhlE2wSnoZWdhbGMmFPFheefZ1GbX3eKrnbWCdBLNBEGyxR7U/nx6ewuy/Td4SufCsCLHNLnoYAoblgpAtRdVPpUAA0Huss7JHp+iyDJWjPJwPtpiEAzCh8zDVCaLQq1Ig6uDrXQ4JPjufU8ml3buqR/LbPQlkQzCn0VwGrPlgjOUMr9ETOjTI42MPZpk92ZZ/O8NvP22xoI6meWowFNIwo2p8zlBj+z4v5PtqdP9zTmf/4SNoqZJfLxoRpa/gltrWHx3N1Q9mVGwA0kH0pat60tvQ9jAAY44aJ51u2PakaaYel6fUXM6OLB/ZksYTRkZuTj7hWSSrCJOjiTjSYYNMKAMbjGXWw25bXFg6DAGje+He7rZLiefX40m7jLLE0vbyNDWDQ6jGinRmdm0VpuyGhaaoHxoM10RILnP4jAAj29ecXAOEoGNDqjdfsbBbBOxG9WPW2WIbX7WUD4KDHtB/JeBKPpG3r1RO99/dgNdpWJ4W7l8NAsN/TzLEBiOENL1uuhWBMTZkQbRHGVNvWcjX9+bAjjD0ebbX3ADLwYNi+mqGEMM2rXg9WlY1rk4GgnhXQ3F+IpQV9ndDq9ddsdywLZoRiATWWG6oAgFZ1KnS1FuIAlm6QWWLdjuZxXpaCtkzFKNvGYPjQGsLRo4W3DA+0Qb1su18ZhNomr1IKhELjI1S+aWk3DnntuXyC9MMh+8jOJOObJBwLY+3XoGjevUYO+B7nY7xgabMAMGb6pm4BizAqwtIYweO0y3fkY3dZlNLFXN837+u00SKCzYmhLRtafWk1943NVq5D9rLJ/hHkSQZtt4hg86Loi/63xuXFW8HPKISyHb6sawHLSJela5OcMCZ3+DbeeB+sujESVvCaKJUnNF7qO+Ad8qmmSFjBeRKh5kZodnz/GsGjLYNo2kpADFr8T+M1hLDcZZycCKb4NeLDsvVPkxKS8mmDYgHjYBWTJSgN4/0kni+EusrYy9QiCaGp3G+BfVijLVJvSQqhJeWfvz6s2gRWz0URwhWBI14sqR5zTmnyImWBEe8baOfLcJEe0zwEFjD2XNLkhTC8PgDi/2Yb7ycjhCnBf+PgxxoXe410NGkJ3teLRZhwnrCmBw/4tXVpVezVyBHE8LTgIb+2Kkach6lIMnps0KH1YZnhDecBizFhZHDs/B9R17D2kvkawAAAAABJRU5ErkJggg==</field>
|
||||
</record>
|
||||
|
||||
<!--
|
||||
A group dedicated to the anonymous user only, making groups
|
||||
restrictions more convenient.
|
||||
-->
|
||||
<record id="group_anonymous" model="res.groups">
|
||||
<field name="name">Anonymous Group</field>
|
||||
<field name="users" eval="[(4,ref('anonymous_user'))]"/>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -0,0 +1,135 @@
|
|||
# Mongolian translation for openobject-addons
|
||||
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
|
||||
"PO-Revision-Date: 2012-07-16 07:43+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Mongolian <mn@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-07-17 04:49+0000\n"
|
||||
"X-Generator: Launchpad (build 15627)\n"
|
||||
|
||||
#. module: association
|
||||
#: field:profile.association.config.install_modules_wizard,wiki:0
|
||||
msgid "Wiki"
|
||||
msgstr ""
|
||||
|
||||
#. module: association
|
||||
#: view:profile.association.config.install_modules_wizard:0
|
||||
msgid "Event Management"
|
||||
msgstr ""
|
||||
|
||||
#. module: association
|
||||
#: field:profile.association.config.install_modules_wizard,project_gtd:0
|
||||
msgid "Getting Things Done"
|
||||
msgstr ""
|
||||
|
||||
#. module: association
|
||||
#: model:ir.module.module,description:association.module_meta_information
|
||||
msgid "This module is to create Profile for Associates"
|
||||
msgstr ""
|
||||
|
||||
#. module: association
|
||||
#: field:profile.association.config.install_modules_wizard,progress:0
|
||||
msgid "Configuration Progress"
|
||||
msgstr ""
|
||||
|
||||
#. module: association
|
||||
#: view:profile.association.config.install_modules_wizard:0
|
||||
msgid ""
|
||||
"Here are specific applications related to the Association Profile you "
|
||||
"selected."
|
||||
msgstr ""
|
||||
|
||||
#. module: association
|
||||
#: view:profile.association.config.install_modules_wizard:0
|
||||
msgid "title"
|
||||
msgstr ""
|
||||
|
||||
#. module: association
|
||||
#: help:profile.association.config.install_modules_wizard,event_project:0
|
||||
msgid "Helps you to manage and organize your events."
|
||||
msgstr ""
|
||||
|
||||
#. module: association
|
||||
#: field:profile.association.config.install_modules_wizard,config_logo:0
|
||||
msgid "Image"
|
||||
msgstr ""
|
||||
|
||||
#. module: association
|
||||
#: help:profile.association.config.install_modules_wizard,hr_expense:0
|
||||
msgid ""
|
||||
"Tracks and manages employee expenses, and can automatically re-invoice "
|
||||
"clients if the expenses are project-related."
|
||||
msgstr ""
|
||||
|
||||
#. module: association
|
||||
#: help:profile.association.config.install_modules_wizard,project_gtd:0
|
||||
msgid ""
|
||||
"GTD is a methodology to efficiently organise yourself and your tasks. This "
|
||||
"module fully integrates GTD principle with OpenERP's project management."
|
||||
msgstr ""
|
||||
|
||||
#. module: association
|
||||
#: view:profile.association.config.install_modules_wizard:0
|
||||
msgid "Resources Management"
|
||||
msgstr "Нөөцийн менежмент"
|
||||
|
||||
#. module: association
|
||||
#: model:ir.module.module,shortdesc:association.module_meta_information
|
||||
msgid "Association profile"
|
||||
msgstr ""
|
||||
|
||||
#. module: association
|
||||
#: field:profile.association.config.install_modules_wizard,hr_expense:0
|
||||
msgid "Expenses Tracking"
|
||||
msgstr "Зарпал хянах"
|
||||
|
||||
#. module: association
|
||||
#: model:ir.actions.act_window,name:association.action_config_install_module
|
||||
#: view:profile.association.config.install_modules_wizard:0
|
||||
msgid "Association Application Configuration"
|
||||
msgstr ""
|
||||
|
||||
#. module: association
|
||||
#: help:profile.association.config.install_modules_wizard,wiki:0
|
||||
msgid ""
|
||||
"Lets you create wiki pages and page groups in order to keep track of "
|
||||
"business knowledge and share it with and between your employees."
|
||||
msgstr ""
|
||||
|
||||
#. module: association
|
||||
#: help:profile.association.config.install_modules_wizard,project:0
|
||||
msgid ""
|
||||
"Helps you manage your projects and tasks by tracking them, generating "
|
||||
"plannings, etc..."
|
||||
msgstr ""
|
||||
|
||||
#. module: association
|
||||
#: model:ir.model,name:association.model_profile_association_config_install_modules_wizard
|
||||
msgid "profile.association.config.install_modules_wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: association
|
||||
#: field:profile.association.config.install_modules_wizard,event_project:0
|
||||
msgid "Events"
|
||||
msgstr ""
|
||||
|
||||
#. module: association
|
||||
#: view:profile.association.config.install_modules_wizard:0
|
||||
#: field:profile.association.config.install_modules_wizard,project:0
|
||||
msgid "Project Management"
|
||||
msgstr ""
|
||||
|
||||
#. module: association
|
||||
#: view:profile.association.config.install_modules_wizard:0
|
||||
msgid "Configure"
|
||||
msgstr ""
|
|
@ -1,14 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<menuitem
|
||||
name="Association"
|
||||
|
||||
<!-- Top menu item -->
|
||||
<menuitem name="Association"
|
||||
id="base.menu_association"
|
||||
icon="terp-calendar"
|
||||
sequence="9"
|
||||
web_icon="images/association.png"
|
||||
web_icon_hover="images/association-hover.png"/>
|
||||
sequence="70"/>
|
||||
<menuitem name="Configuration" id="base.menu_event_config" parent="base.menu_association" sequence="30"/>
|
||||
<menuitem name="Association" id="base.menu_report_association" parent="base.menu_reporting" sequence="23"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -9,8 +9,10 @@
|
|||
<field name="arch" type="xml">
|
||||
<notebook colspan="4" position="inside">
|
||||
<page string="OpenID">
|
||||
<field name="openid_url"/>
|
||||
<field name="openid_email"/>
|
||||
<group>
|
||||
<field name="openid_url"/>
|
||||
<field name="openid_email"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</field>
|
||||
|
|
|
@ -8,14 +8,14 @@ msgstr ""
|
|||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-07-13 14:20+0000\n"
|
||||
"Last-Translator: Magnus Brandt (mba), Aspirix AB <Unknown>\n"
|
||||
"PO-Revision-Date: 2012-07-16 15:31+0000\n"
|
||||
"Last-Translator: Anders Wallenquist <anders.wallenquist@vertel.se>\n"
|
||||
"Language-Team: Swedish <sv@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-07-14 06:23+0000\n"
|
||||
"X-Generator: Launchpad (build 15614)\n"
|
||||
"X-Launchpad-Export-Date: 2012-07-17 04:49+0000\n"
|
||||
"X-Generator: Launchpad (build 15627)\n"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: help:base.action.rule,act_mail_to_user:0
|
||||
|
@ -51,7 +51,7 @@ msgstr "Objekt"
|
|||
#. module: base_action_rule
|
||||
#: field:base.action.rule,act_mail_to_email:0
|
||||
msgid "Mail to these Emails"
|
||||
msgstr ""
|
||||
msgstr "Skicka till dessa e-postadresser"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: field:base.action.rule,act_state:0
|
||||
|
@ -209,7 +209,7 @@ msgstr "Ogiltiga argument"
|
|||
#. module: base_action_rule
|
||||
#: field:base.action.rule,act_user_id:0
|
||||
msgid "Set Responsible to"
|
||||
msgstr ""
|
||||
msgstr "Sätt ansvarig till"
|
||||
|
||||
#. module: base_action_rule
|
||||
#: selection:base.action.rule,trg_date_type:0
|
||||
|
|
|
@ -39,9 +39,10 @@ If you need to manage your meetings, you should install the CRM module.
|
|||
'category': 'Hidden/Dependency',
|
||||
'website': 'http://www.openerp.com',
|
||||
"init_xml": [
|
||||
'base_calendar_data.xml'
|
||||
'base_calendar_data.xml',
|
||||
'crm_meeting_data.xml',
|
||||
],
|
||||
"demo_xml": [],
|
||||
"demo_xml": ['crm_meeting_demo.xml'],
|
||||
"update_xml": [
|
||||
'security/calendar_security.xml',
|
||||
'security/ir.model.access.csv',
|
||||
|
|
|
@ -515,7 +515,7 @@ property or property parameter."),
|
|||
sub,
|
||||
body,
|
||||
attachments=attach and {'invitation.ics': attach} or None,
|
||||
subtype='html',
|
||||
content_subtype='html',
|
||||
reply_to=email_from,
|
||||
context=context
|
||||
)
|
||||
|
@ -1060,8 +1060,8 @@ rule or repeating pattern of time to exclude from the recurring rule."),
|
|||
'user_id': fields.many2one('res.users', 'Responsible', states={'done': [('readonly', True)]}),
|
||||
'organizer': fields.char("Organizer", size=256, states={'done': [('readonly', True)]}), # Map with Organizer Attribure of VEvent.
|
||||
'organizer_id': fields.many2one('res.users', 'Organizer', states={'done': [('readonly', True)]}),
|
||||
'end_type' : fields.selection([('count', 'Number of repetitions'), ('end_date','End date')], 'Recurrence termination'),
|
||||
'interval': fields.integer('Repeat every', help="Repeat every (Days/Week/Month/Year)"),
|
||||
'end_type' : fields.selection([('count', 'Number of repetitions'), ('end_date','End date')], 'Recurrence Termination'),
|
||||
'interval': fields.integer('Repeat Every', help="Repeat every (Days/Week/Month/Year)"),
|
||||
'count': fields.integer('Repeat', help="Repeat x times"),
|
||||
'mo': fields.boolean('Mon'),
|
||||
'tu': fields.boolean('Tue'),
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<openerp>
|
||||
<data noupdate="1">
|
||||
|
||||
<record model="res.request.link" id="request_link_meeting">
|
||||
<record model="res.request.link" id="request_link_event">
|
||||
<field name="name">Event</field>
|
||||
<field name="object">calendar.event</field>
|
||||
</record>
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
<field eval=""Meeting to discuss project plan and hash out the details of implementation "" name="description"/>
|
||||
<field eval=""open"" name="state"/>
|
||||
<field eval="time.strftime('%Y-%m-03 10:20:03')" name="date"/>
|
||||
<field name="categ_id" ref="crm.categ_meet2"/>
|
||||
<field name="categ_ids" eval="[(6,0,[ref('categ_meet2')])]"/>
|
||||
<field eval=""Follow-up on proposal"" name="name"/>
|
||||
<field eval="time.strftime('%Y-%m-03 16:38:03')" name="date_deadline"/>
|
||||
<field eval="6.3" name="duration"/>
|
||||
|
@ -24,7 +24,7 @@
|
|||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval=""draft"" name="state"/>
|
||||
<field eval="time.strftime('%Y-%m-05 12:01:01')" name="date"/>
|
||||
<field name="categ_id" ref="crm.categ_meet3"/>
|
||||
<field name="categ_ids" eval="[(6,0,[ref('categ_meet3')])]"/>
|
||||
<field eval=""Initial discussion"" name="name"/>
|
||||
<field eval="time.strftime('%Y-%m-05 19:01:01')" name="date_deadline"/>
|
||||
<field eval=""contact@tecsas.fr"" name="email_from"/>
|
||||
|
@ -37,7 +37,7 @@
|
|||
<field eval=""Meeting to discuss project plan and hash out the details of implementation "" name="description"/>
|
||||
<field eval=""done"" name="state"/>
|
||||
<field eval="time.strftime('%Y-%m-12 15:55:05')" name="date"/>
|
||||
<field name="categ_id" ref="crm.categ_meet1"/>
|
||||
<field name="categ_ids" eval="[(6,0,[ref('categ_meet1')])]"/>
|
||||
<field eval=""Discuss pricing"" name="name"/>
|
||||
<field eval="time.strftime('%Y-%m-12 18:55:05')" name="date_deadline"/>
|
||||
</record>
|
||||
|
@ -48,7 +48,7 @@
|
|||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field eval=""open"" name="state"/>
|
||||
<field eval="time.strftime('%Y-%m-20 10:02:02')" name="date"/>
|
||||
<field name="categ_id" ref="crm.categ_meet3"/>
|
||||
<field name="categ_ids" eval="[(6,0,[ref('categ_meet3')])]"/>
|
||||
<field eval=""Review needs"" name="name"/>
|
||||
<field eval="time.strftime('%Y-%m-20 16:02:02')" name="date_deadline"/>
|
||||
</record>
|
||||
|
@ -59,7 +59,7 @@
|
|||
<field name="user_id" ref="base.user_demo"/>
|
||||
<field eval=""draft"" name="state"/>
|
||||
<field eval="time.strftime('%Y-%m-22 11:05:05')" name="date"/>
|
||||
<field name="categ_id" ref="crm.categ_meet2"/>
|
||||
<field name="categ_ids" eval="[(6,0,[ref('categ_meet2')])]"/>
|
||||
<field eval=""Changes in Designing"" name="name"/>
|
||||
<field eval="time.strftime('%Y-%m-22 16:05:05')" name="date_deadline"/>
|
||||
<field eval=""info@opensides.be"" name="email_from"/>
|
||||
|
@ -70,7 +70,7 @@
|
|||
<field name="user_id" ref="base.user_root"/>
|
||||
<field eval=""done"" name="state"/>
|
||||
<field eval="time.strftime('%Y-%m-18 13:12:49')" name="date"/>
|
||||
<field name="categ_id" ref="crm.categ_meet2"/>
|
||||
<field name="categ_ids" eval="[(6,0,[ref('categ_meet2')])]"/>
|
||||
<field eval=""Update the data"" name="name"/>
|
||||
<field eval="13.3" name="duration"/>
|
||||
<field eval="time.strftime('%Y-%m-19 02:30:49')" name="date_deadline"/>
|
|
@ -78,6 +78,7 @@ send an Email to Invited Person')
|
|||
att_obj = self.pool.get('calendar.attendee')
|
||||
user_obj = self.pool.get('res.users')
|
||||
current_user = user_obj.browse(cr, uid, uid, context=context)
|
||||
|
||||
for datas in self.read(cr, uid, ids, context=context):
|
||||
type = datas.get('type')
|
||||
vals = []
|
||||
|
|
|
@ -12,9 +12,12 @@
|
|||
or
|
||||
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
|
||||
</header>
|
||||
<group string="Company Settings">
|
||||
<group>
|
||||
<group>
|
||||
<group string="Company Settings">
|
||||
<field name="module_multi_company"/>
|
||||
<separator string="External Accesses" colspan="2"/>
|
||||
<field name="module_share"/>
|
||||
<field name="module_portal"/>
|
||||
</group>
|
||||
<group>
|
||||
<div>
|
||||
|
@ -22,16 +25,12 @@
|
|||
address for the header and footer, overdue payments texts, etc.
|
||||
</div>
|
||||
<button type="object" name="open_company" string="Configure Your Company Data" icon="gtk-execute"/>
|
||||
</group>
|
||||
</group>
|
||||
<group string="External Accesses">
|
||||
<field name="module_share"/>
|
||||
<field name="module_portal"/>
|
||||
</group>
|
||||
<group string="Others">
|
||||
<label for="id" string="Outgoing Mail Servers"/>
|
||||
<button type="action" name="%(base.action_ir_mail_server_list)d"
|
||||
<separator string="Others" colspan="2"/>
|
||||
<label for="id" string="Outgoing Mail Servers"/>
|
||||
<button type="action" name="%(base.action_ir_mail_server_list)d"
|
||||
string="Configure" icon="gtk-execute"/>
|
||||
</group>
|
||||
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
@ -58,13 +57,16 @@
|
|||
or
|
||||
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
|
||||
</header>
|
||||
<field name="module_crm" invisible="1"/>
|
||||
<group name="config_sale"/>
|
||||
<group name="config_fetchmail" string="Emails" attrs="{'invisible': [('module_crm','=',False)]}">
|
||||
<field name="module_plugin_thunderbird"/>
|
||||
<field name="module_plugin_outlook"/>
|
||||
</group>
|
||||
<group name="config_crm"/>
|
||||
<group>
|
||||
<group name="config_sale">
|
||||
<field name="module_crm" invisible="1"/>
|
||||
<separator string="Emails" colspan="2" attrs="{'invisible': [('module_crm','=',False)]}"/>
|
||||
<field name="module_plugin_thunderbird" attrs="{'invisible': [('module_crm','=',False)]}"/>
|
||||
<field name="module_plugin_outlook" attrs="{'invisible': [('module_crm','=',False)]}"/>
|
||||
</group>
|
||||
<group name="config_other">
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -1,9 +1,11 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<menuitem icon="STOCK_PREFERENCES" id="base.menu_tools"
|
||||
name="Tools" sequence="28"
|
||||
web_icon="images/tools.png"
|
||||
web_icon_hover="images/tools-hover.png"/>
|
||||
|
||||
<!-- Top menu item -->
|
||||
<menuitem name="Tools"
|
||||
id="base.menu_tools"
|
||||
sequence="160"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
<field name="model">res.partner</field>
|
||||
<field name="inherit_id" ref="account.view_partner_property_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="property_account_payable" position="after" version="7.0">
|
||||
<field name="property_account_position" position="after" version="7.0">
|
||||
<label for="vat"/>
|
||||
<div>
|
||||
<field name="vat" on_change="vat_change(vat)" placeholder="BE0477472702" class="oe_inline"/>
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
'version': '1.0',
|
||||
'category': 'Customer Relationship Management',
|
||||
"sequence": 2,
|
||||
"summary": "Agenda, Leads, Opportunities",
|
||||
'description': """
|
||||
The generic OpenERP Customer Relationship Management.
|
||||
=====================================================
|
||||
|
@ -68,7 +69,6 @@ Creates a dashboard for CRM that includes:
|
|||
'init_xml': [
|
||||
'crm_data.xml',
|
||||
'crm_lead_data.xml',
|
||||
'crm_meeting_data.xml',
|
||||
'crm_phonecall_data.xml',
|
||||
],
|
||||
'update_xml': [
|
||||
|
@ -85,7 +85,6 @@ Creates a dashboard for CRM that includes:
|
|||
'wizard/crm_opportunity_to_phonecall_view.xml',
|
||||
'wizard/crm_partner_to_opportunity_view.xml',
|
||||
|
||||
'wizard/crm_add_note_view.xml',
|
||||
'wizard/crm_merge_opportunities_view.xml',
|
||||
|
||||
'crm_view.xml',
|
||||
|
@ -115,7 +114,6 @@ Creates a dashboard for CRM that includes:
|
|||
'demo_xml': [
|
||||
'crm_demo.xml',
|
||||
'crm_lead_demo.xml',
|
||||
'crm_meeting_demo.xml',
|
||||
'crm_phonecall_demo.xml',
|
||||
],
|
||||
'test': [
|
||||
|
|
|
@ -97,8 +97,7 @@
|
|||
groups="base.group_sale_salesman"
|
||||
res_model="crm.phonecall"
|
||||
view_mode="tree,calendar,form"
|
||||
context="{'default_duration': 1.0 ,'default_opportunity_id': active_id,'default_partner_phone':phone}"
|
||||
domain="[('opportunity_id', '=', active_id)]"
|
||||
context="{'default_duration': 1.0 ,'default_opportunity_id': active_id}"
|
||||
view_type="form"/>
|
||||
|
||||
<act_window
|
||||
|
@ -107,7 +106,6 @@
|
|||
res_model="crm.meeting"
|
||||
view_mode="tree,form,calendar"
|
||||
context="{'default_duration': 4.0, 'default_opportunity_id': active_id}"
|
||||
domain="[('opportunity_id', '=', active_id)]"
|
||||
view_type="form"/>
|
||||
|
||||
|
||||
|
@ -140,9 +138,10 @@
|
|||
name="%(act_crm_opportunity_crm_phonecall_new)d"
|
||||
string="Phone Calls" />
|
||||
</div>
|
||||
|
||||
<label for="name" class="oe_edit_only" string="Lead Description"/>
|
||||
<h1><field name="name" placeholder="Describe the lead..."/></h1>
|
||||
<div class="oe_title">
|
||||
<label for="name" class="oe_edit_only" string="Lead Description"/>
|
||||
<h1><field name="name" placeholder="Describe the lead..."/></h1>
|
||||
</div>
|
||||
<group>
|
||||
<group>
|
||||
<field name="user_id" />
|
||||
|
|
|
@ -101,23 +101,25 @@
|
|||
<field name="arch" type="xml">
|
||||
<form version="7.0">
|
||||
<header>
|
||||
<button name="case_open" string="Confirm" type="object" class="oe_highlight"
|
||||
states="draft,pending"/>
|
||||
<button name="case_close" string="Held" type="object" class="oe_highlight"
|
||||
states="open,pending"/>
|
||||
<button name="case_reset" string="Reset to Todo" type="object"
|
||||
states="cancel"/>
|
||||
<button name="case_cancel" string="Cancel" type="object"
|
||||
states="draft,open,pending"/>
|
||||
<button string="Convert to Opportunity" class="oe_highlight"
|
||||
<button string="Convert to Opportunity"
|
||||
name="%(phonecall2opportunity_act)d"
|
||||
type="action"
|
||||
attrs="{'invisible':[('opportunity_id','!=',False)]}" />
|
||||
attrs="{'invisible':[ '|', ('opportunity_id','!=',False), ('state','!=', 'open')]}" />
|
||||
<button string="Convert to Opportunity" class="oe_highlight"
|
||||
name="%(phonecall2opportunity_act)d"
|
||||
type="action"
|
||||
attrs="{'invisible':[ '|', ('opportunity_id','!=',False), ('state','!=', 'done')]}" />
|
||||
<button string="Schedule Other Call"
|
||||
name="%(phonecall_to_phonecall_act)d"
|
||||
type="action" />
|
||||
<button string="Schedule a Meeting" name="action_make_meeting" type="object"/>
|
||||
<field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,open,done"/>
|
||||
<button name="case_cancel" string="Cancel" type="object"
|
||||
states="draft,open,pending"/>
|
||||
<field name="state" widget="statusbar" nolabel="1" statusbar_visible="open,done"/>
|
||||
</header>
|
||||
<sheet string="Phone Call">
|
||||
<div class="oe_title">
|
||||
|
|
|
@ -2,10 +2,16 @@
|
|||
<openerp>
|
||||
<data>
|
||||
|
||||
<menuitem icon="terp-partner" id="base.menu_base_partner" name="Sales" sequence="1"
|
||||
<!-- Top menu item -->
|
||||
<!--
|
||||
This menu item's purpose is to overwrite another one defined in
|
||||
the base module in order to set new groups.
|
||||
-->
|
||||
<menuitem name="Sales"
|
||||
id="base.menu_base_partner"
|
||||
groups="base.group_sale_manager,base.group_sale_salesman"/>
|
||||
|
||||
<menuitem id="base.menu_crm_config_lead" name="Leads & Opportunities"
|
||||
<menuitem id="base.menu_crm_config_lead" name="Leads & Opportunities"
|
||||
parent="base.menu_base_config" sequence="80" groups="base.group_sale_manager"/>
|
||||
|
||||
<menuitem id="base.menu_crm_config_opportunity" name="Opportunities"
|
||||
|
|
|
@ -8,29 +8,25 @@
|
|||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="base_setup.view_sale_config_settings"/>
|
||||
<field name="arch" type="xml">
|
||||
<group name="config_fetchmail" version="7.0" position="inside">
|
||||
<separator string="Emails" version="7.0" position="after">
|
||||
<label for="fetchmail_lead"/>
|
||||
<div>
|
||||
<field name="fetchmail_lead"/>
|
||||
<button name="configure_fetchmail_lead" type="object" string="Configure" icon="gtk-go-forward"
|
||||
attrs="{'invisible': [('fetchmail_lead','=',False)]}"/>
|
||||
</div>
|
||||
</separator>
|
||||
<group name="config_other" version="7.0" position="inside">
|
||||
<separator string="Import and Synchronize Data from an Other Application" colspan="2"/>
|
||||
<field name="module_import_sugarcrm"/>
|
||||
<field name="module_crm_caldav"/>
|
||||
<field name="module_import_google"/>
|
||||
<separator string="Customer Form" colspan="2"/>
|
||||
<field name="module_google_map"/>
|
||||
</group>
|
||||
|
||||
<group name="config_crm" position="after">
|
||||
<group string="Import and Synchronize Data from an Other Application">
|
||||
<field name="module_import_sugarcrm"/>
|
||||
<field name="module_crm_caldav"/>
|
||||
<field name="module_import_google"/>
|
||||
</group>
|
||||
|
||||
<group string="Documents and Wiki">
|
||||
<group name="config_sale" position="inside">
|
||||
<separator string="Documents and Wiki" colspan="2"/>
|
||||
<field name="module_wiki_sale_faq"/>
|
||||
</group>
|
||||
|
||||
<group string="Customer Form">
|
||||
<field name="module_google_map"/>
|
||||
</group>
|
||||
</group>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
@ -123,6 +123,7 @@
|
|||
<field name="model">res.partner</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form" />
|
||||
<field name="priority" eval="10"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@name='buttons']" position="inside">
|
||||
<button type="action"
|
||||
|
|
|
@ -24,13 +24,11 @@ access_crm_phonecall_report_user,crm.phonecall.report.user,model_crm_phonecall_r
|
|||
access_crm_phonecall_report_manager,crm.phonecall.report,model_crm_phonecall_report,base.group_sale_manager,1,1,1,1
|
||||
access_res_partner_manager,res.partner.crm.manager,base.model_res_partner,base.group_sale_manager,1,0,0,0
|
||||
access_res_partner_category_manager,res.partner.category.crm.manager,base.model_res_partner_category,base.group_sale_manager,1,0,0,0
|
||||
mail_mail_message_manager,mail.message.manager,mail.model_mail_message,base.group_sale_manager,1,0,0,0
|
||||
access_calendar_attendee_crm_user,calendar.attendee.crm.user,model_calendar_attendee,base.group_sale_salesman,1,1,1,0
|
||||
access_calendar_attendee_crm_manager,calendar.attendee.crm.manager,model_calendar_attendee,base.group_sale_manager,1,1,1,1
|
||||
access_res_partner,res.partner.crm.user,base.model_res_partner,base.group_sale_salesman,1,1,1,0
|
||||
access_res_partner_category,res.partner.category.crm.user,base.model_res_partner_category,base.group_sale_salesman,1,1,1,0
|
||||
mail_mailgate_thread,mail.thread,mail.model_mail_thread,base.group_sale_salesman,1,1,1,1
|
||||
mail_gateway_mail_message_user,mail.message.user,mail.model_mail_message,base.group_sale_salesman,1,1,1,1
|
||||
access_crm_case_categ_manager,crm.case.categ manager,model_crm_case_categ,base.group_sale_manager,1,1,1,1
|
||||
access_base_action_rule_manager,base.action.rule manager,model_base_action_rule,base.group_sale_manager,1,1,1,1
|
||||
access_crm_lead_report_user,crm.lead.report user,model_crm_lead_report,base.group_sale_salesman,1,1,1,1
|
||||
|
|
|
|
@ -54,10 +54,8 @@
|
|||
-
|
||||
After communicated with customer, I put some notes with contract details.
|
||||
-
|
||||
!python {model: crm.add.note}: |
|
||||
context.update({'active_model': 'crm.lead', 'active_id': ref('crm_case_qrecorp0')})
|
||||
note_id = self.create(cr, uid, {'body': "ces détails envoyés par le client sur le FAX pour la qualité"})
|
||||
self.action_add(cr, uid, [note_id], context=context)
|
||||
!python {model: crm.lead}: |
|
||||
self.message_append_note(cr, uid, [ref('crm_case_qrecorp0')], subject='Test note', body='ces détails envoyés par le client sur le FAX pour la qualité')
|
||||
-
|
||||
I win this opportunity
|
||||
-
|
||||
|
@ -113,7 +111,7 @@
|
|||
-
|
||||
!python {model: crm.meeting}: |
|
||||
context.update({'active_model': 'crm.meeting'})
|
||||
self.case_open(cr, uid, [ref('crm.crm_case_reviewneeds0')])
|
||||
self.case_open(cr, uid, [ref('base_calendar.crm_case_reviewneeds0')])
|
||||
-
|
||||
I invite a user for meeting.
|
||||
-
|
||||
|
|
|
@ -19,8 +19,6 @@
|
|||
#
|
||||
##############################################################################
|
||||
|
||||
import crm_add_note
|
||||
|
||||
import crm_lead_to_partner
|
||||
import crm_lead_to_opportunity
|
||||
import crm_phonecall_to_phonecall
|
||||
|
|
|
@ -1,53 +0,0 @@
|
|||
from .. import crm
|
||||
from osv import fields, osv
|
||||
from tools.translate import _
|
||||
from mail.mail_message import truncate_text
|
||||
|
||||
AVAILABLE_STATES = crm.AVAILABLE_STATES + [('unchanged', 'Unchanged')]
|
||||
|
||||
class crm_add_note(osv.osv_memory):
|
||||
"""Adds a new note to the case."""
|
||||
_name = 'crm.add.note'
|
||||
_description = "Add Internal Note"
|
||||
|
||||
_columns = {
|
||||
'body': fields.text('Note Body', required=True),
|
||||
'state': fields.selection(AVAILABLE_STATES, string='Set New State To',
|
||||
required=True),
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
'state': 'unchanged'
|
||||
}
|
||||
|
||||
def action_add(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
|
||||
if not context.get('active_model'):
|
||||
raise osv.except_osv(_('Error'), _('Can not add note!'))
|
||||
|
||||
model = context.get('active_model')
|
||||
case_pool = self.pool.get(model)
|
||||
|
||||
for obj in self.browse(cr, uid, ids, context=context):
|
||||
case_list = case_pool.browse(cr, uid, context['active_ids'],
|
||||
context=context)
|
||||
case = case_list[0]
|
||||
case_pool.message_append(cr, uid, [case], truncate_text(obj.body),
|
||||
body_text=obj.body)
|
||||
if obj.state == 'unchanged':
|
||||
pass
|
||||
elif obj.state == 'done':
|
||||
case_pool.case_close(cr, uid, [case.id])
|
||||
elif obj.state == 'draft':
|
||||
case_pool.case_reset(cr, uid, [case.id])
|
||||
elif obj.state in ['cancel', 'open', 'pending']:
|
||||
act = 'case_' + obj.state
|
||||
getattr(case_pool, act)(cr, uid, [case.id])
|
||||
|
||||
return {'type': 'ir.actions.act_window_close'}
|
||||
|
||||
crm_add_note()
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
|
@ -1,39 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<!-- Add New Note view -->
|
||||
|
||||
<record model="ir.ui.view" id="crm_add_new_note_view">
|
||||
<field name="name">crm.new.add.note.form</field>
|
||||
<field name="model">crm.add.note</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Add Note" version="7.0">
|
||||
<group>
|
||||
<separator string="Add Note"/>
|
||||
<field name="body"/>
|
||||
</group>
|
||||
<footer>
|
||||
<button name="action_add" type="object" string="_Add" class="oe_highlight"/>
|
||||
or
|
||||
<button string="Cancel" class="oe_link" special="cancel" />
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Add New Note action -->
|
||||
|
||||
<record model="ir.actions.act_window" id="action_crm_add_note">
|
||||
<field name="name">Add Note</field>
|
||||
<field name="res_model">crm.add.note</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="view_id" ref="crm_add_new_note_view"/>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
@ -1,19 +1,18 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<menuitem
|
||||
icon="terp-project" id="base.menu_main_pm"
|
||||
name="Project" sequence="10"
|
||||
|
||||
<!-- Top menu item -->
|
||||
<menuitem name="Project"
|
||||
id="base.menu_main_pm"
|
||||
groups="base.group_sale_salesman"
|
||||
web_icon="images/project.png"
|
||||
web_icon_hover="images/project-hover.png"/>
|
||||
sequence="90"/>
|
||||
|
||||
<menuitem id="base.menu_aftersale" name="After-Sale Services"
|
||||
groups="base.group_sale_salesman"
|
||||
parent="base.menu_main_pm" sequence="2" />
|
||||
|
||||
<!-- Claims Menu -->
|
||||
|
||||
<record model="ir.actions.act_window" id="crm_case_categ_claim0">
|
||||
<field name="name">Claims</field>
|
||||
<field name="res_model">crm.claim</field>
|
||||
|
@ -51,13 +50,9 @@
|
|||
parent="base.menu_aftersale" action="crm_case_categ_claim0" sequence="1"/>
|
||||
|
||||
<!-- Claim Stages -->
|
||||
<menuitem
|
||||
icon="terp-project" id="base.menu_main_pm"
|
||||
name="Project" sequence="10"/>
|
||||
|
||||
<menuitem id="base.menu_definitions" name="Configuration" parent="base.menu_main_pm" sequence="60"/>
|
||||
<menuitem id="base.menu_project_config_project" name="Stages" parent="base.menu_definitions" sequence="1"/>
|
||||
<menuitem id="menu_claim_stage_view" name="Claim Stages" action="crm_claim_stage_act" parent="base.menu_project_config_project" sequence="20"/>
|
||||
<menuitem id="base.menu_definitions" name="Configuration" parent="base.menu_main_pm" sequence="60"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -248,17 +248,6 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<record id="base.view_crm_partner_info_History1" model="ir.ui.view">
|
||||
<field name="name">res.partner.crm.history.inherit1</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//page[@string='History']" position="attributes">
|
||||
<attribute name="invisible">False</attribute>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_claim_partner_info_form1" model="ir.ui.view">
|
||||
<field name="name">res.partner.claim.info.form</field>
|
||||
<field name="model">res.partner</field>
|
||||
|
@ -266,15 +255,18 @@
|
|||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="priority">20</field>
|
||||
<field name="arch" type="xml">
|
||||
<data>
|
||||
<xpath expr="//page[@string='History']" position="inside">
|
||||
<xpath expr="//page[@name='page_history']" position="attributes">
|
||||
<attribute name="invisible">False</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//page[@name='page_history']" position="inside">
|
||||
<group name="grp_claim" string="Claim">
|
||||
<field name="claims_ids" colspan="4" nolabel="1">
|
||||
<tree string="Partners Claim" editable="bottom">
|
||||
<field name="name"/>
|
||||
</tree>
|
||||
</field>
|
||||
</xpath>
|
||||
</data>
|
||||
</group>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
|
@ -9,14 +9,14 @@
|
|||
<field name="inherit_id" ref="base_setup.view_sale_config_settings"/>
|
||||
<field name="priority" eval="20"/> <!-- to put fetchmail_lead before fetchmail_claim -->
|
||||
<field name="arch" type="xml">
|
||||
<group name="config_fetchmail" version="7.0" position="inside">
|
||||
<separator string="Emails" version="7.0" position="after">
|
||||
<label for="fetchmail_claim"/>
|
||||
<div>
|
||||
<field name="fetchmail_claim"/>
|
||||
<button type="object" name="configure_fetchmail_claim" string="Configure" icon="gtk-go-forward"
|
||||
attrs="{'invisible': [('fetchmail_claim','=',False)]}"/>
|
||||
</div>
|
||||
</group>
|
||||
</separator>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
parent="base.menu_base_partner" sequence="8" />
|
||||
|
||||
<record model="ir.actions.act_window" id="crm_case_category_act_fund_all1">
|
||||
<field name="name">Funds</field>
|
||||
<field name="name">Fund Raising</field>
|
||||
<field name="res_model">crm.fundraising</field>
|
||||
<field name="view_mode">tree,form,graph</field>
|
||||
<field name="view_id" ref="crm_fundraising.crm_case_tree_view_fund"/>
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data noupdate="1">
|
||||
<menuitem
|
||||
icon="terp-project" id="base.menu_main_pm"
|
||||
name="Project" sequence="10"
|
||||
web_icon="images/project.png"
|
||||
web_icon_hover="images/project-hover.png"/>
|
||||
|
||||
<!-- Top menu item -->
|
||||
<menuitem name="Project"
|
||||
id="base.menu_main_pm"
|
||||
sequence="90"/>
|
||||
|
||||
<menuitem id="base.menu_aftersale" name="After-Sale Services" sequence="2" parent="base.menu_main_pm" />
|
||||
|
||||
<!-- Help Desk (menu) -->
|
||||
<!-- Help Desk (menu) -->
|
||||
|
||||
<record model="ir.actions.act_window" id="crm_case_helpdesk_act111">
|
||||
<field name="name">Helpdesk Requests</field>
|
||||
|
|
|
@ -0,0 +1,738 @@
|
|||
# Latvian translation for openobject-addons
|
||||
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-07-20 08:02+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: Latvian <lv@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-07-21 05:08+0000\n"
|
||||
"X-Generator: Launchpad (build 15654)\n"
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk.report,delay_close:0
|
||||
msgid "Delay to Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk.report,nbr:0
|
||||
msgid "# of Cases"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
#: view:crm.helpdesk.report:0
|
||||
msgid "Group By..."
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Today"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: selection:crm.helpdesk.report,month:0
|
||||
msgid "March"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk.report:0
|
||||
msgid "Helpdesk requests occurred in current year"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,company_id:0
|
||||
#: view:crm.helpdesk.report:0
|
||||
#: field:crm.helpdesk.report,company_id:0
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,email_cc:0
|
||||
msgid "Watchers Emails"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: selection:crm.helpdesk,priority:0
|
||||
#: selection:crm.helpdesk.report,priority:0
|
||||
msgid "Highest"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk.report:0
|
||||
#: field:crm.helpdesk.report,day:0
|
||||
msgid "Day"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Add Internal Note"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk.report:0
|
||||
msgid "Date of helpdesk requests"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Notes"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,message_ids:0
|
||||
msgid "Messages"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk.report:0
|
||||
msgid "My company"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: selection:crm.helpdesk,state:0
|
||||
#: selection:crm.helpdesk.report,state:0
|
||||
msgid "Cancelled"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: model:ir.actions.act_window,name:crm_helpdesk.action_report_crm_helpdesk
|
||||
#: model:ir.ui.menu,name:crm_helpdesk.menu_report_crm_helpdesks_tree
|
||||
msgid "Helpdesk Analysis"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk.report:0
|
||||
#: field:crm.helpdesk.report,date_closed:0
|
||||
msgid "Close Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,ref:0
|
||||
msgid "Reference"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,date_action_next:0
|
||||
msgid "Next Action"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Helpdesk Supports"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Extra Info"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
#: field:crm.helpdesk,partner_id:0
|
||||
#: view:crm.helpdesk.report:0
|
||||
#: field:crm.helpdesk.report,partner_id:0
|
||||
msgid "Partner"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Estimates"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk.report,section_id:0
|
||||
msgid "Section"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk.report:0
|
||||
msgid "Helpdesk requests occurred in last month"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Send New Email"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Helpdesk requests during last 7 days"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
#: selection:crm.helpdesk,state:0
|
||||
#: view:crm.helpdesk.report:0
|
||||
msgid "New"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: model:ir.model,name:crm_helpdesk.model_crm_helpdesk_report
|
||||
msgid "Helpdesk report after Sales Services"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,email_from:0
|
||||
msgid "Email"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,channel_id:0
|
||||
#: view:crm.helpdesk.report:0
|
||||
#: field:crm.helpdesk.report,channel_id:0
|
||||
msgid "Channel"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: selection:crm.helpdesk,priority:0
|
||||
#: selection:crm.helpdesk.report,priority:0
|
||||
msgid "Lowest"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk.report:0
|
||||
msgid "# Mails"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
#: view:crm.helpdesk.report:0
|
||||
msgid "My Sales Team(s)"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,create_date:0
|
||||
#: field:crm.helpdesk.report,create_date:0
|
||||
msgid "Creation Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Reset to Draft"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
#: selection:crm.helpdesk,state:0
|
||||
#: selection:crm.helpdesk.report,state:0
|
||||
msgid "Pending"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
#: field:crm.helpdesk,date_deadline:0
|
||||
#: field:crm.helpdesk.report,date_deadline:0
|
||||
msgid "Deadline"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: selection:crm.helpdesk.report,month:0
|
||||
msgid "July"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: model:ir.actions.act_window,name:crm_helpdesk.crm_helpdesk_categ_action
|
||||
msgid "Helpdesk Categories"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: model:ir.ui.menu,name:crm_helpdesk.menu_crm_case_helpdesk-act
|
||||
msgid "Categories"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "New Helpdesk Request"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "History Information"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Dates"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk.report:0
|
||||
msgid "Month of helpdesk requests"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: code:addons/crm_helpdesk/crm_helpdesk.py:101
|
||||
#, python-format
|
||||
msgid "No Subject"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk.report:0
|
||||
msgid "#Helpdesk"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "All pending Helpdesk Request"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk.report:0
|
||||
msgid "Year of helpdesk requests"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "References"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: selection:crm.helpdesk.report,month:0
|
||||
msgid "September"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Communication"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk.report:0
|
||||
#: field:crm.helpdesk.report,month:0
|
||||
msgid "Month"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Escalate"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,write_date:0
|
||||
msgid "Update Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk.report:0
|
||||
msgid "Helpdesk requests occurred in current month"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk.report:0
|
||||
msgid "Salesman"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,ref2:0
|
||||
msgid "Reference 2"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,categ_id:0
|
||||
#: field:crm.helpdesk.report,categ_id:0
|
||||
msgid "Category"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Responsible User"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Helpdesk Support"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,planned_cost:0
|
||||
#: field:crm.helpdesk.report,planned_cost:0
|
||||
msgid "Planned Costs"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: help:crm.helpdesk,channel_id:0
|
||||
msgid "Communication channel."
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: help:crm.helpdesk,email_cc:0
|
||||
msgid ""
|
||||
"These email addresses will be added to the CC field of all inbound and "
|
||||
"outbound emails for this record before being sent. Separate multiple email "
|
||||
"addresses with a comma"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Search Helpdesk"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: selection:crm.helpdesk.report,state:0
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: selection:crm.helpdesk,priority:0
|
||||
#: selection:crm.helpdesk.report,priority:0
|
||||
msgid "Low"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,date_closed:0
|
||||
#: selection:crm.helpdesk,state:0
|
||||
#: view:crm.helpdesk.report:0
|
||||
#: selection:crm.helpdesk.report,state:0
|
||||
msgid "Closed"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Reply"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "7 Days"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Communication & History"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: selection:crm.helpdesk.report,month:0
|
||||
msgid "August"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: selection:crm.helpdesk,priority:0
|
||||
#: selection:crm.helpdesk.report,priority:0
|
||||
msgid "Normal"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Global CC"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: selection:crm.helpdesk.report,month:0
|
||||
msgid "June"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,planned_revenue:0
|
||||
msgid "Planned Revenue"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk.report,user_id:0
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,active:0
|
||||
msgid "Active"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: selection:crm.helpdesk.report,month:0
|
||||
msgid "November"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk.report:0
|
||||
msgid "Extended Filters..."
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: model:ir.actions.act_window,name:crm_helpdesk.crm_case_helpdesk_act111
|
||||
msgid "Helpdesk Requests"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk.report:0
|
||||
msgid "Search"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: selection:crm.helpdesk.report,month:0
|
||||
msgid "October"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: selection:crm.helpdesk.report,month:0
|
||||
msgid "January"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: help:crm.helpdesk,email_from:0
|
||||
msgid "These people will receive email."
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
#: field:crm.helpdesk,date:0
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "History"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
#: field:crm.helpdesk,priority:0
|
||||
#: view:crm.helpdesk.report:0
|
||||
#: field:crm.helpdesk.report,priority:0
|
||||
msgid "Priority"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,partner_address_id:0
|
||||
msgid "Partner Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Misc"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
#: field:crm.helpdesk,state:0
|
||||
#: view:crm.helpdesk.report:0
|
||||
#: field:crm.helpdesk.report,state:0
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "General"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Send Reminder"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: help:crm.helpdesk,section_id:0
|
||||
msgid ""
|
||||
"Sales team to which Case belongs to. Define "
|
||||
"Responsible user and Email account for mail gateway."
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Done"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: selection:crm.helpdesk.report,month:0
|
||||
msgid "December"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Close"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
#: view:crm.helpdesk.report:0
|
||||
#: selection:crm.helpdesk.report,state:0
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Helpdesk Support Tree"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: selection:crm.helpdesk,state:0
|
||||
msgid "In Progress"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Categorization"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk.report:0
|
||||
#: model:ir.model,name:crm_helpdesk.model_crm_helpdesk
|
||||
#: model:ir.ui.menu,name:crm_helpdesk.menu_config_helpdesk
|
||||
msgid "Helpdesk"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
#: field:crm.helpdesk,user_id:0
|
||||
msgid "Responsible"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk.report,delay_expected:0
|
||||
msgid "Overpassed Deadline"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,description:0
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: selection:crm.helpdesk.report,month:0
|
||||
msgid "May"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,probability:0
|
||||
msgid "Probability (%)"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk.report,email:0
|
||||
msgid "# Emails"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: model:ir.actions.act_window,help:crm_helpdesk.action_report_crm_helpdesk
|
||||
msgid ""
|
||||
"Have a general overview of all support requests by sorting them with "
|
||||
"specific criteria such as the processing time, number of requests answered, "
|
||||
"emails sent and costs."
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: help:crm.helpdesk,state:0
|
||||
msgid ""
|
||||
"The state is set to 'Draft', when a case is created. "
|
||||
" \n"
|
||||
"If the case is in progress the state is set to 'Open'. "
|
||||
" \n"
|
||||
"When the case is over, the state is set to 'Done'. "
|
||||
" \n"
|
||||
"If the case needs to be reviewed then the state is set to 'Pending'."
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: selection:crm.helpdesk.report,month:0
|
||||
msgid "February"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,name:0
|
||||
msgid "Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk.report:0
|
||||
msgid "Month-1"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: model:ir.ui.menu,name:crm_helpdesk.menu_help_support_main
|
||||
msgid "Helpdesk and Support"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: selection:crm.helpdesk.report,month:0
|
||||
msgid "April"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk.report:0
|
||||
msgid "My Case(s)"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Query"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,id:0
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: model:ir.actions.act_window,help:crm_helpdesk.crm_helpdesk_categ_action
|
||||
msgid ""
|
||||
"Create and manage helpdesk categories to better manage and classify your "
|
||||
"support requests."
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Todays's Helpdesk Requests"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Request Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
msgid "Open Helpdesk Request"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: selection:crm.helpdesk,priority:0
|
||||
#: selection:crm.helpdesk.report,priority:0
|
||||
msgid "High"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk:0
|
||||
#: field:crm.helpdesk,section_id:0
|
||||
#: view:crm.helpdesk.report:0
|
||||
msgid "Sales Team"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,date_action_last:0
|
||||
msgid "Last Action"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: model:ir.actions.act_window,help:crm_helpdesk.crm_case_helpdesk_act111
|
||||
msgid ""
|
||||
"Helpdesk and Support allow you to track your interventions. Select a "
|
||||
"customer, add notes and categorize interventions with partners if necessary. "
|
||||
"You can also assign a priority level. Use the OpenERP Issues system to "
|
||||
"manage your support activities. Issues can be connected to the email "
|
||||
"gateway: new emails may create issues, each of them automatically gets the "
|
||||
"history of the conversation with the customer."
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: view:crm.helpdesk.report:0
|
||||
#: field:crm.helpdesk.report,name:0
|
||||
msgid "Year"
|
||||
msgstr ""
|
||||
|
||||
#. module: crm_helpdesk
|
||||
#: field:crm.helpdesk,duration:0
|
||||
msgid "Duration"
|
||||
msgstr ""
|
|
@ -0,0 +1,95 @@
|
|||
# English (United Kingdom) translation for openobject-addons
|
||||
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
|
||||
# This file is distributed under the same license as the openobject-addons package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: openobject-addons\n"
|
||||
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"POT-Creation-Date: 2012-02-08 00:36+0000\n"
|
||||
"PO-Revision-Date: 2012-07-18 16:31+0000\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: English (United Kingdom) <en_GB@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"X-Launchpad-Export-Date: 2012-07-19 04:46+0000\n"
|
||||
"X-Generator: Launchpad (build 15637)\n"
|
||||
|
||||
#. module: crm_todo
|
||||
#: model:ir.model,name:crm_todo.model_project_task
|
||||
msgid "Task"
|
||||
msgstr "Task"
|
||||
|
||||
#. module: crm_todo
|
||||
#: view:crm.lead:0
|
||||
msgid "Timebox"
|
||||
msgstr "Timebox"
|
||||
|
||||
#. module: crm_todo
|
||||
#: view:crm.lead:0
|
||||
msgid "For cancelling the task"
|
||||
msgstr "For cancelling the task"
|
||||
|
||||
#. module: crm_todo
|
||||
#: constraint:project.task:0
|
||||
msgid "Error ! Task end-date must be greater then task start-date"
|
||||
msgstr "Error ! Task end-date must be greater then task start-date"
|
||||
|
||||
#. module: crm_todo
|
||||
#: model:ir.model,name:crm_todo.model_crm_lead
|
||||
msgid "crm.lead"
|
||||
msgstr "crm.lead"
|
||||
|
||||
#. module: crm_todo
|
||||
#: view:crm.lead:0
|
||||
msgid "Next"
|
||||
msgstr "Next"
|
||||
|
||||
#. module: crm_todo
|
||||
#: model:ir.actions.act_window,name:crm_todo.crm_todo_action
|
||||
#: model:ir.ui.menu,name:crm_todo.menu_crm_todo
|
||||
msgid "My Tasks"
|
||||
msgstr "My Tasks"
|
||||
|
||||
#. module: crm_todo
|
||||
#: view:crm.lead:0
|
||||
#: field:crm.lead,task_ids:0
|
||||
msgid "Tasks"
|
||||
msgstr "Tasks"
|
||||
|
||||
#. module: crm_todo
|
||||
#: view:crm.lead:0
|
||||
msgid "Done"
|
||||
msgstr "Done"
|
||||
|
||||
#. module: crm_todo
|
||||
#: constraint:project.task:0
|
||||
msgid "Error ! You cannot create recursive tasks."
|
||||
msgstr "Error ! You cannot create recursive tasks."
|
||||
|
||||
#. module: crm_todo
|
||||
#: view:crm.lead:0
|
||||
msgid "Cancel"
|
||||
msgstr "Cancel"
|
||||
|
||||
#. module: crm_todo
|
||||
#: view:crm.lead:0
|
||||
msgid "Extra Info"
|
||||
msgstr "Extra Info"
|
||||
|
||||
#. module: crm_todo
|
||||
#: field:project.task,lead_id:0
|
||||
msgid "Lead / Opportunity"
|
||||
msgstr "Lead / Opportunity"
|
||||
|
||||
#. module: crm_todo
|
||||
#: view:crm.lead:0
|
||||
msgid "For changing to done state"
|
||||
msgstr "For changing to done state"
|
||||
|
||||
#. module: crm_todo
|
||||
#: view:crm.lead:0
|
||||
msgid "Previous"
|
||||
msgstr "Previous"
|
|
@ -15,60 +15,82 @@
|
|||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_delivery_carrier_form" model="ir.ui.view">
|
||||
<field name="name">delivery.carrier.form</field>
|
||||
<field name="model">delivery.carrier</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Carrier" version="7.0">
|
||||
<group col="4" name="general">
|
||||
<field name="name"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="product_id"/>
|
||||
<div class="oe_title">
|
||||
<label for="name" class="oe_edit_only"/>
|
||||
<h1>
|
||||
<field name="name"/>
|
||||
</h1>
|
||||
</div>
|
||||
<group>
|
||||
<group name="general">
|
||||
<field name="partner_id"/>
|
||||
<field name="product_id"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="active"/>
|
||||
<separator string="Pricing Information" colspan="4"/>
|
||||
<group colspan="4" col="4">
|
||||
</group>
|
||||
</group>
|
||||
<group col="4">
|
||||
<group string="Pricing Information">
|
||||
<field name="normal_price" attrs="{'readonly':[('use_detailed_pricelist', '=', True)]}"/>
|
||||
<newline/>
|
||||
<field name="free_if_more_than" attrs="{'readonly':[('use_detailed_pricelist', '=', True)]}"/>
|
||||
<field name="amount" attrs="{'required':[('free_if_more_than','<>',False)], 'invisible':[('free_if_more_than','=',False)]}"/>
|
||||
<label for="free_if_more_than"/>
|
||||
<div>
|
||||
<field name="free_if_more_than" attrs="{'readonly':[('use_detailed_pricelist', '=', True)]}"/>
|
||||
<field name="amount" attrs="{'required':[('free_if_more_than','<>',False)], 'invisible':[('free_if_more_than','=',False)]}"/>
|
||||
</div>
|
||||
</group>
|
||||
<newline/>
|
||||
<field name="use_detailed_pricelist"/>
|
||||
</group>
|
||||
<field name="pricelist_ids" attrs="{'invisible':[('use_detailed_pricelist','=',False)]}" mode="tree,form">
|
||||
<tree string="Delivery grids">
|
||||
<field name="pricelist_ids" attrs="{'invisible':[('use_detailed_pricelist','=',False)]}" mode="tree">
|
||||
<tree string="Delivery grids">
|
||||
<field name="sequence"/>
|
||||
<field name="name"/>
|
||||
</tree>
|
||||
</tree>
|
||||
<form string="Delivery grids" version="7.0">
|
||||
<group col="4">
|
||||
<field name="name"/>
|
||||
<field name="active"/>
|
||||
<field name="sequence"/>
|
||||
<group>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
</group>
|
||||
<group>
|
||||
<field name="active"/>
|
||||
<field name="sequence"/>
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Grid definition">
|
||||
<field name="line_ids"/>
|
||||
</page>
|
||||
<page string="Destination">
|
||||
<group string="Countries">
|
||||
<field colspan="2" name="country_ids" nolabel="1"/>
|
||||
</group>
|
||||
<group string="States">
|
||||
<field colspan="2" name="state_ids" nolabel="1"/>
|
||||
</group>
|
||||
<group col="4">
|
||||
<field name="zip_from"/>
|
||||
<field name="zip_to"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
<page string="Grid definition">
|
||||
<field name="line_ids"/>
|
||||
</page>
|
||||
<page string="Destination">
|
||||
<group>
|
||||
<group>
|
||||
<field name="country_ids" widget="many2many_tags"/>
|
||||
<field name="state_ids" widget="many2many_tags"/>
|
||||
</group>
|
||||
<group>
|
||||
<label for="zip_from" string="Zip"/>
|
||||
<div>
|
||||
<field name="zip_from" class="oe_inline"/>
|
||||
-
|
||||
<field name="zip_to" class="oe_inline"/>
|
||||
</div>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
</field>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_delivery_carrier_form" model="ir.actions.act_window">
|
||||
<field name="name">Delivery Method</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
|
@ -140,18 +162,28 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Grid Lines" version="7.0">
|
||||
<field colspan="4" name="name"/>
|
||||
<div>
|
||||
<label string="condition" for="type"/>
|
||||
<field name="type" class="oe_inline"/>
|
||||
<field name="operator" class="oe_inline"/>
|
||||
<field name="max_value" class="oe_inline"/>
|
||||
</div>
|
||||
<group col="4">
|
||||
<field name="list_price"/>
|
||||
<field name="standard_price"/>
|
||||
<field name="price_type"/>
|
||||
<field name="variable_factor" attrs="{'invisible':[('price_type','=','fixed')]}"/>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
</group>
|
||||
<group>
|
||||
<group>
|
||||
<label for="type" string="Condition"/>
|
||||
<div>
|
||||
<field name="type" class="oe_inline"/>
|
||||
<field name="operator" class="oe_inline"/>
|
||||
<field name="max_value" class="oe_inline"/>
|
||||
</div>
|
||||
<label for="price_type"/>
|
||||
<div>
|
||||
<field name="price_type" class="oe_inline"/>
|
||||
<label string=" in Function of " class="oe_inline" attrs="{'invisible':[('price_type','=','fixed')]}"/>
|
||||
<field name="variable_factor" attrs="{'invisible':[('price_type','=','fixed')]}" class="oe_inline"/>
|
||||
</div>
|
||||
</group>
|
||||
<group>
|
||||
<field name="list_price"/>
|
||||
<field name="standard_price"/>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
@ -178,7 +210,7 @@
|
|||
<field name="model">stock.picking.out</field>
|
||||
<field name="inherit_id" ref="stock.view_picking_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="partner_id" position="after">
|
||||
<field name="min_date" position="after">
|
||||
<field name="carrier_id"/>
|
||||
<field name="carrier_tracking_ref"/>
|
||||
<field name="number_of_packages"/>
|
||||
|
@ -230,23 +262,10 @@
|
|||
<field name="model">stock.move</field>
|
||||
<field name="inherit_id" ref="stock.view_move_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="picking_id" position="after">
|
||||
<xpath expr="//group[@name='main_grp']" position="inside">
|
||||
<field name="weight"/>
|
||||
<field name="weight_net"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_move_reception_picking_withweight_form" model="ir.ui.view">
|
||||
<field name="name">stock.move.reception.packing.form.weight</field>
|
||||
<field name="type">form</field>
|
||||
<field name="model">stock.move</field>
|
||||
<field name="inherit_id" ref="stock.view_move_form_reception_picking"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="picking_id">
|
||||
<field name="weight"/>
|
||||
<field name="weight_net"/>
|
||||
</field>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
@ -264,7 +283,7 @@
|
|||
<button name="delivery_set" string="Add in Quote" type="object"
|
||||
class="oe_edit_only"
|
||||
attrs="{'invisible':['|',('carrier_id','=',False),('state','not in',('draft','sent'))]}"/>
|
||||
<br/>
|
||||
<br/>
|
||||
<label string="If you don't 'Add in Quote', the exact price will be computed when invoicing based on delivery order(s)."
|
||||
class="oe_edit_only"
|
||||
attrs="{'invisible':['|',('carrier_id','=',False),('state','not in',('draft','sent'))]}"/>
|
||||
|
|
|
@ -368,7 +368,7 @@
|
|||
<field name="priority" eval="1"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="subflow_id" position="after">
|
||||
<field name="directory_id" domain="[('ressource_type_id','=',model_id),('ressource_parent_type_id','=',False)]"/>
|
||||
<field name="directory_id" string="Document Directory" domain="[('ressource_type_id','=',model_id),('ressource_parent_type_id','=',False)]"/>
|
||||
<newline/>
|
||||
</field>
|
||||
</field>
|
||||
|
|
|
@ -101,6 +101,11 @@ class email_template(osv.osv):
|
|||
mod_name = self.pool.get('ir.model').browse(cr, uid, model_id, context).model
|
||||
return {'value':{'model': mod_name}}
|
||||
|
||||
def name_get(self, cr, uid, ids, context=None):
|
||||
""" Override name_get of mail.message: return directly the template
|
||||
name, and not the generated name from mail.message.common."""
|
||||
return [(record.id, record.name) for record in self.browse(cr, uid, ids, context=context)]
|
||||
|
||||
_columns = {
|
||||
'name': fields.char('Name', size=250),
|
||||
'model_id': fields.many2one('ir.model', 'Related document model'),
|
||||
|
@ -311,7 +316,7 @@ class email_template(osv.osv):
|
|||
'attachment_ids': False,
|
||||
'message_id': False,
|
||||
'state': 'outgoing',
|
||||
'subtype': 'plain',
|
||||
'content_subtype': 'plain',
|
||||
}
|
||||
if not template_id:
|
||||
return values
|
||||
|
@ -326,8 +331,15 @@ class email_template(osv.osv):
|
|||
template.model, res_id, context=context) \
|
||||
or False
|
||||
|
||||
# if email_to: find or create a partner
|
||||
if values['email_to']:
|
||||
partner_id = self.pool.get('mail.thread').message_partner_by_email(cr, uid, values['email_to'], context=context)['partner_id']
|
||||
if not partner_id:
|
||||
partner_id = self.pool.get('res.partner').name_create(cr, uid, values['email_to'], context=context)
|
||||
values['partner_ids'] = [partner_id]
|
||||
|
||||
if values['body_html']:
|
||||
values.update(subtype='html')
|
||||
values.update(content_subtype='html')
|
||||
|
||||
if template.user_signature:
|
||||
signature = self.pool.get('res.users').browse(cr, uid, uid, context).signature
|
||||
|
|
|
@ -17,20 +17,13 @@
|
|||
<notebook>
|
||||
<page string="Email Details">
|
||||
<group>
|
||||
<group string="Addresses">
|
||||
<field name="email_from" required="1"/>
|
||||
<field name="email_to" required="1"/>
|
||||
<field name="email_cc"/>
|
||||
<field name="email_bcc"/>
|
||||
<field name="reply_to"/>
|
||||
</group>
|
||||
<group string="Options">
|
||||
<field name="lang"/>
|
||||
<field name="user_signature"/>
|
||||
</group>
|
||||
<group string="Email Content">
|
||||
<field name="subject" required="1"/>
|
||||
<notebook colspan="2">
|
||||
<notebook colspan="4">
|
||||
<page string="Body (Text)">
|
||||
<field name="body_text" colspan="4" width="250" height="250" nolabel="1"/>
|
||||
</page>
|
||||
|
@ -39,22 +32,21 @@
|
|||
<label string="Note: This is Raw HTML." colspan="4"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</group>
|
||||
<field name="user_signature"/>
|
||||
<notebook colspan="4">
|
||||
<page string="Dynamic Values Builder">
|
||||
<field name="model_object_field"
|
||||
domain="[('model_id','=',model_id),('ttype','!=','one2many'),('ttype','!=','many2many')]"
|
||||
on_change="onchange_sub_model_object_value_field(model_object_field)"
|
||||
colspan="4"/>
|
||||
<field name="sub_object" readonly="1" colspan="4"/>
|
||||
<field name="sub_model_object_field"
|
||||
domain="[('model_id','=',sub_object),('ttype','!=','one2many'),('ttype','!=','many2many')]"
|
||||
colspan="4"
|
||||
attrs="{'readonly':[('sub_object','=',False)],'required':[('sub_object','!=',False)]}"
|
||||
on_change="onchange_sub_model_object_value_field(model_object_field,sub_model_object_field)"/>
|
||||
<field name="null_value" colspan="4"
|
||||
on_change="onchange_sub_model_object_value_field(model_object_field,sub_model_object_field,null_value)" />
|
||||
<field name="copyvalue" colspan="4"/>
|
||||
<group>
|
||||
<field name="model_object_field"
|
||||
domain="[('model_id','=',model_id),('ttype','!=','one2many'),('ttype','!=','many2many')]"
|
||||
on_change="onchange_sub_model_object_value_field(model_object_field)"/>
|
||||
<field name="sub_object" readonly="1"/>
|
||||
<field name="sub_model_object_field"
|
||||
domain="[('model_id','=',sub_object),('ttype','!=','one2many'),('ttype','!=','many2many')]"
|
||||
attrs="{'readonly':[('sub_object','=',False)],'required':[('sub_object','!=',False)]}"
|
||||
on_change="onchange_sub_model_object_value_field(model_object_field,sub_model_object_field)"/>
|
||||
<field name="null_value" on_change="onchange_sub_model_object_value_field(model_object_field,sub_model_object_field,null_value)"/>
|
||||
<field name="copyvalue"/>
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
<button name="%(wizard_email_template_preview)d" string="Preview Template"
|
||||
|
@ -82,15 +74,18 @@
|
|||
<field name="track_campaign_item"/>
|
||||
<field name="message_id"/>
|
||||
<field name="auto_delete"/>
|
||||
<field name="lang"/>
|
||||
</group>
|
||||
</group>
|
||||
<group colspan="2" col="2">
|
||||
<separator string="Attachments" colspan="2"/>
|
||||
<notebook colspan="2">
|
||||
<page string="Attach Report">
|
||||
<field name="report_template" colspan="4"
|
||||
domain="[('model','=',model)]"/>
|
||||
<field name="report_name" colspan="4" />
|
||||
<group>
|
||||
<field name="report_template" colspan="4"
|
||||
domain="[('model','=',model)]"/>
|
||||
<field name="report_name" colspan="4" />
|
||||
</group>
|
||||
</page>
|
||||
<page string="Attach existing files">
|
||||
<field name="attachment_ids" colspan="4" nolabel="1" height="350"/>
|
||||
|
|
Binary file not shown.
After Width: | Height: | Size: 2.8 KiB |
Binary file not shown.
After Width: | Height: | Size: 3.0 KiB |
|
@ -25,5 +25,32 @@
|
|||
</data>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="email_compose_message_wizard_inherit_form_chatter">
|
||||
<field name="name">mail.compose.message.form</field>
|
||||
<field name="model">mail.compose.message</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="mail.email_compose_message_wizard_form_chatter"/>
|
||||
<field name="arch" type="xml">
|
||||
<data>
|
||||
<xpath expr="//field[@name='dest_partner_ids']" position="after">
|
||||
<field name="use_template" colspan="2" nolabel="1" invisible="1"
|
||||
on_change="onchange_use_template(use_template, context)"/>
|
||||
<field name="template_id" colspan="2" nolabel="1"
|
||||
attrs="{'invisible':[('use_template','=',False)]}"
|
||||
on_change="on_change_template(use_template, template_id, False, False, context)"/>
|
||||
</xpath>
|
||||
<xpath expr="//a[@class='oe_mail_compose_message_checklist']" position="before">
|
||||
<button icon="../../../../../email_template/static/src/img/email_template"
|
||||
type="object" name="template_toggle" string=""
|
||||
help="Use a message template"/>
|
||||
<button icon="../../../../../email_template/static/src/img/email_template_save"
|
||||
type="object" name="save_as_template" string=""
|
||||
help="Save as a new template"/>
|
||||
</xpath>
|
||||
</data>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
@ -27,19 +27,6 @@ from tools.translate import _
|
|||
import tools
|
||||
|
||||
|
||||
def _reopen(self,res_id,model):
|
||||
return {'type': 'ir.actions.act_window',
|
||||
'view_mode': 'form',
|
||||
'view_type': 'form',
|
||||
'res_id': res_id,
|
||||
'res_model': self._name,
|
||||
'target': 'new',
|
||||
|
||||
# save original model in context, otherwise
|
||||
# it will be lost on the action's context switch
|
||||
'context': {'mail.compose.target.model': model}
|
||||
}
|
||||
|
||||
class mail_compose_message(osv.osv_memory):
|
||||
_inherit = 'mail.compose.message'
|
||||
|
||||
|
@ -87,6 +74,8 @@ class mail_compose_message(osv.osv_memory):
|
|||
else:
|
||||
# render the mail as one-shot
|
||||
values = self.pool.get('email.template').generate_email(cr, uid, template_id, res_id, context=context)
|
||||
# get partner_ids back
|
||||
values['dest_partner_ids'] = values['partner_ids']
|
||||
# retrofit generated attachments in the expected field format
|
||||
if values['attachments']:
|
||||
attachment = values.pop('attachments')
|
||||
|
@ -110,18 +99,24 @@ class mail_compose_message(osv.osv_memory):
|
|||
|
||||
return {'value': values}
|
||||
|
||||
|
||||
def template_toggle(self, cr, uid, ids, context=None):
|
||||
for record in self.browse(cr, uid, ids, context=context):
|
||||
had_template = record.use_template
|
||||
record.write({'use_template': not(had_template)})
|
||||
if had_template:
|
||||
values = {}
|
||||
use_template = record.use_template
|
||||
# simulate an on_change on use_template
|
||||
values.update(self.onchange_use_template(cr, uid, ids, not use_template, context=context)['value'])
|
||||
record.write(values)
|
||||
return False
|
||||
|
||||
def onchange_use_template(self, cr, uid, ids, use_template, context=None):
|
||||
values = {'use_template': use_template}
|
||||
for record in self.browse(cr, uid, ids, context=context):
|
||||
if not use_template:
|
||||
# equivalent to choosing an empty template
|
||||
onchange_defaults = self.on_change_template(cr, uid, record.id, not(had_template),
|
||||
False, email_from=record.email_from,
|
||||
email_to=record.email_to, context=context)
|
||||
record.write(onchange_defaults['value'])
|
||||
return _reopen(self, record.id, record.model)
|
||||
onchange_template_values = self.on_change_template(cr, uid, record.id, use_template,
|
||||
False, email_from=record.email_from, email_to=record.email_to, context=context)
|
||||
values.update(onchange_template_values['value'])
|
||||
return {'value': values}
|
||||
|
||||
def save_as_template(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
|
@ -153,7 +148,7 @@ class mail_compose_message(osv.osv_memory):
|
|||
'use_template': True})
|
||||
|
||||
# _reopen same wizard screen with new template preselected
|
||||
return _reopen(self, record.id, model)
|
||||
return False
|
||||
|
||||
# override the basic implementation
|
||||
def render_template(self, cr, uid, template, model, res_id, context=None):
|
||||
|
|
|
@ -25,6 +25,7 @@
|
|||
'name': 'Events Organisation',
|
||||
'version': '0.1',
|
||||
'category': 'Tools',
|
||||
'summary': 'Invitations, Subscriptions',
|
||||
'description': """
|
||||
Organization and management of Events.
|
||||
======================================
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?xml version="1.0"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<act_window
|
||||
<act_window
|
||||
id="act_event_list_register_event"
|
||||
name="Registration"
|
||||
res_model="event.registration"
|
||||
|
@ -9,12 +9,16 @@
|
|||
view_mode="calendar,tree,form,graph"
|
||||
context="{'search_default_event_id': active_id, 'default_event_id': active_id}"
|
||||
view_type="form"/>
|
||||
<menuitem name="Events" id="event_main_menu"/>
|
||||
<menuitem name="Events Organisation" id="base.menu_event_main" parent="event_main_menu" />
|
||||
|
||||
<!-- EVENTS -->
|
||||
<!-- Top menu item -->
|
||||
<menuitem name="Events"
|
||||
id="event_main_menu"
|
||||
sequence="80"/>
|
||||
<menuitem name="Events Organisation" id="base.menu_event_main" parent="event_main_menu"/>
|
||||
|
||||
<!-- EVENTS/CONFIGURATION/TYPE OF EVENTS -->
|
||||
<!-- EVENTS -->
|
||||
|
||||
<!-- EVENTS/CONFIGURATION/TYPE OF EVENTS -->
|
||||
<record model="ir.ui.view" id="view_event_type_form">
|
||||
<field name="name">Event type</field>
|
||||
<field name="model">event.type</field>
|
||||
|
@ -52,7 +56,7 @@
|
|||
<menuitem name="Configuration" id="base.menu_marketing_config_root" parent="event_main_menu" sequence="30"/>
|
||||
<menuitem name="Types of Events" id="menu_event_type" action="action_event_type" parent="base.menu_marketing_config_root" groups="base.group_no_one"/>
|
||||
|
||||
<!-- Events Organisation/CONFIGURATION/EVENTS -->
|
||||
<!-- Events Organisation/CONFIGURATION/EVENTS -->
|
||||
|
||||
<!-- Event Read/Unread actions -->
|
||||
<record id="actions_server_event_event_unread" model="ir.actions.server">
|
||||
|
@ -111,7 +115,7 @@
|
|||
<div class="oe_title">
|
||||
<label for="name" class="oe_edit_only"/>
|
||||
<h1><field name="name"/></h1>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<h2>From <field name="date_begin" class="oe_inline" /> to <field name="date_end" class="oe_inline"/>
|
||||
</h2>
|
||||
|
@ -151,7 +155,7 @@
|
|||
</group>
|
||||
<group>
|
||||
<field name="register_attended"/>
|
||||
</group>
|
||||
</group>
|
||||
</group>
|
||||
<field name="registration_ids" colspan="4" nolabel="1" groups="event.group_event_manager,event.group_event_user">
|
||||
<tree string="Registration" editable="top">
|
||||
|
@ -222,7 +226,7 @@
|
|||
|
||||
<!-- Event Kanban View -->
|
||||
|
||||
<record model="ir.ui.view" id="view_event_kanban">
|
||||
<record model="ir.ui.view" id="view_event_kanban">
|
||||
<field name="name">event.event.kanban</field>
|
||||
<field name="model">event.event</field>
|
||||
<field name="type">kanban</field>
|
||||
|
@ -286,7 +290,7 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Events Calendar View -->
|
||||
<!-- Events Calendar View -->
|
||||
|
||||
<record id="view_event_calendar" model="ir.ui.view">
|
||||
<field name="name">event.event.calendar</field>
|
||||
|
@ -316,7 +320,7 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Event Search View -->
|
||||
<!-- Event Search View -->
|
||||
|
||||
<record model="ir.ui.view" id="view_event_search">
|
||||
<field name="name">Events</field>
|
||||
|
@ -362,7 +366,7 @@
|
|||
|
||||
|
||||
<!-- Events Organisation/CONFIGURATION/EVENTS -->
|
||||
<record model="ir.actions.act_window" id="action_event_view">
|
||||
<record model="ir.actions.act_window" id="action_event_view">
|
||||
<field name="name">Events</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">event.event</field>
|
||||
|
@ -371,9 +375,9 @@
|
|||
<field name="context">{"search_default_upcoming":1}</field>
|
||||
<field name="search_view_id" ref="view_event_search"/>
|
||||
<field name="help">Event is the low level object used by meeting and others documents that should be synchronized with mobile devices or calendar applications through caldav. Most of the users should work in the Calendar menu, and not in the list of events.</field>
|
||||
</record>
|
||||
</record>
|
||||
|
||||
<act_window
|
||||
<act_window
|
||||
id="act_register_event_partner"
|
||||
name="Subscribe"
|
||||
res_model="event.registration"
|
||||
|
@ -382,9 +386,9 @@
|
|||
context="{'search_default_partner_id': [active_id], 'default_partner_id': active_id}"
|
||||
view_type="form"/>
|
||||
|
||||
<menuitem name="Events" id="menu_event_event" action="action_event_view" parent="base.menu_event_main" />
|
||||
<menuitem name="Events" id="menu_event_event" action="action_event_view" parent="base.menu_event_main" />
|
||||
|
||||
<!-- EVENTS/REGISTRATIONS/EVENTS -->
|
||||
<!-- EVENTS/REGISTRATIONS/EVENTS -->
|
||||
|
||||
<!-- Registration Read/Unread actions -->
|
||||
<record id="actions_server_event_registration_unread" model="ir.actions.server">
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -4,8 +4,8 @@
|
|||
|
||||
<!-- Partners inherited form -->
|
||||
|
||||
<record id="view_speaker_partner_info_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.speaker.info.inherit</field>
|
||||
<record id="view_event_partner_info_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.event.info.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
|
@ -13,33 +13,32 @@
|
|||
<field name="supplier" position="after">
|
||||
<field name="speaker"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_event_partner_info_form" model="ir.ui.view">
|
||||
<field name="name">res.partner.event.info.inherit</field>
|
||||
<field name="model">res.partner</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="base.view_partner_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<page string="History" position="inside">
|
||||
<field name="event_ids" colspan="4" nolabel="1">
|
||||
<tree string="Events">
|
||||
<field name="name" string="Event"/>
|
||||
<field name="main_speaker_id"/>
|
||||
</tree>
|
||||
</field>
|
||||
<field name="event_registration_ids" colspan="4" nolabel="1">
|
||||
<tree string="Events Registration">
|
||||
<field name="event_begin_date" string="Date"/>
|
||||
<field name="event_id" />
|
||||
<field name="nb_register"/>
|
||||
<field name="state"/>
|
||||
<button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
|
||||
<button name="button_reg_close" string="Close Registration" states="open" type="object" icon="gtk-close"/>
|
||||
<button name="check_confirm" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
|
||||
</tree>
|
||||
</field>
|
||||
</page>
|
||||
<xpath expr="//page[@name='page_history']" position="attributes">
|
||||
<attribute name="invisible">False</attribute>
|
||||
</xpath>
|
||||
<xpath expr="//page[@name='page_history']" position="inside">
|
||||
<group name="grp_event" string="Event">
|
||||
<field name="event_ids" colspan="4" nolabel="1">
|
||||
<tree string="Events">
|
||||
<field name="name" string="Event"/>
|
||||
<field name="main_speaker_id"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
<group name="grp_registration" string="Registration">
|
||||
<field name="event_registration_ids" colspan="4" nolabel="1">
|
||||
<tree string="Events Registration">
|
||||
<field name="event_begin_date" string="Date"/>
|
||||
<field name="event_id" />
|
||||
<field name="nb_register"/>
|
||||
<field name="state"/>
|
||||
<button name="button_reg_cancel" string="Cancel Registration" states="draft,open" type="object" icon="gtk-cancel"/>
|
||||
<button name="button_reg_close" string="Close Registration" states="open" type="object" icon="gtk-close"/>
|
||||
<button name="check_confirm" string="Confirm Registration" states="draft" type="object" icon="gtk-apply"/>
|
||||
</tree>
|
||||
</field>
|
||||
</group>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue