Browse Source

[IMP] Functional and view improvements 'base_accounting_kit'

pull/134/merge
Ajmalcybrosys 6 years ago
parent
commit
74a9f1d7f6
  1. 14
      base_accounting_kit/__manifest__.py
  2. 8
      base_accounting_kit/data/account_pdc_data.xml
  3. 4
      base_accounting_kit/models/account_account.py
  4. 17
      base_accounting_kit/models/account_asset.py
  5. 29
      base_accounting_kit/models/account_followup.py
  6. 9
      base_accounting_kit/models/account_journal.py
  7. 4
      base_accounting_kit/models/account_move.py
  8. 1
      base_accounting_kit/models/recurring_payments.py
  9. 1
      base_accounting_kit/report/account_asset_report.py
  10. 1
      base_accounting_kit/report/account_bank_book.py
  11. 1
      base_accounting_kit/report/account_cash_book.py
  12. 1
      base_accounting_kit/report/account_day_book.py
  13. 3
      base_accounting_kit/report/account_report_common_account.py
  14. 1
      base_accounting_kit/report/cash_flow_report.py
  15. 1
      base_accounting_kit/report/general_ledger_report.py
  16. 1
      base_accounting_kit/report/report_aged_partner.py
  17. 1
      base_accounting_kit/report/report_journal_audit.py
  18. 1
      base_accounting_kit/report/report_partner_ledger.py
  19. 1
      base_accounting_kit/report/report_tax.py
  20. 1
      base_accounting_kit/report/report_trial_balance.py
  21. 7
      base_accounting_kit/security/ir.model.access.csv
  22. 12
      base_accounting_kit/security/security.xml
  23. 21
      base_accounting_kit/views/accounting_menu.xml
  24. 16
      base_accounting_kit/views/credit_limit_view.xml
  25. 4
      base_accounting_kit/views/followup_report.xml
  26. 1
      base_accounting_kit/wizard/__init__.py
  27. 6
      base_accounting_kit/wizard/account_bank_book_wizard.py
  28. 2
      base_accounting_kit/wizard/account_bank_book_wizard_view.xml
  29. 6
      base_accounting_kit/wizard/account_cash_book_wizard.py
  30. 2
      base_accounting_kit/wizard/account_cash_book_wizard_view.xml
  31. 4
      base_accounting_kit/wizard/account_day_book_wizard.py
  32. 2
      base_accounting_kit/wizard/account_day_book_wizard_view.xml
  33. 38
      base_accounting_kit/wizard/account_report_common_account.py
  34. 4
      base_accounting_kit/wizard/cash_flow_report.py
  35. 6
      base_accounting_kit/wizard/financial_report.py
  36. 2
      base_accounting_kit/wizard/journal_audit.py
  37. 2
      base_accounting_kit/wizard/recurring_payments.py
  38. 17
      base_accounting_kit/wizard/recurring_payments_wizard.xml
  39. 1
      hr_payroll_account_community/static/description/index.html

14
base_accounting_kit/__manifest__.py

@ -22,13 +22,13 @@
{ {
'name': 'Odoo 13 Full Accounting Kit', 'name': 'Odoo 13 Full Accounting Kit',
'version': '13.0.1.4.2', 'version': '13.0.2.4.1',
'category': 'Accounting', 'category': 'Accounting',
'summary': """ Asset and Budget Management, 'summary': """ Asset and Budget Management,
Accounting Reports, PDC, Lock dates, Accounting Reports, PDC, Lock dates,
Credit Limit, Follow Ups, Credit Limit, Follow Ups,
Day-Bank-Cash book reports.""", Day-Bank-Cash book reports.""",
'description': """ 'description': """
Odoo 13 Accounting,Accounting Reports, Odoo 13 Accounting Odoo 13 Accounting,Accounting Reports, Odoo 13 Accounting
PDF Reports, Asset Management, Budget Management, PDF Reports, Asset Management, Budget Management,
Customer Credit Limit, Recurring Payment, Customer Credit Limit, Recurring Payment,
@ -47,7 +47,7 @@
'depends': ['base', 'account', 'sale', 'account_check_printing'], 'depends': ['base', 'account', 'sale', 'account_check_printing'],
'data': [ 'data': [
'security/ir.model.access.csv', 'security/ir.model.access.csv',
'security/account_asset_security.xml', 'security/security.xml',
'data/account_financial_report_data.xml', 'data/account_financial_report_data.xml',
'data/cash_flow_data.xml', 'data/cash_flow_data.xml',
'data/account_pdc_data.xml', 'data/account_pdc_data.xml',

8
base_accounting_kit/data/account_pdc_data.xml

@ -13,7 +13,13 @@
<field name="payment_type">outbound</field> <field name="payment_type">outbound</field>
</record> </record>
<!--<function model="account.journal" name="_enable_check_printing_on_bank_journals"/>--> <function model="account.journal" name="_enable_pdc_on_bank_journals"/>
<!-- decimal precision for account -->
<record forcecreate="True" id="decimal_account" model="decimal.precision">
<field name="name">Account</field>
<field name="digits" eval="3"/>
</record>
</data> </data>
</odoo> </odoo>

4
base_accounting_kit/models/account_account.py

@ -46,6 +46,4 @@ class CashFlow(models.Model):
if self._origin.cash_flow_type.ids: if self._origin.cash_flow_type.ids:
for rec in self._origin.cash_flow_type: for rec in self._origin.cash_flow_type:
# remove old record # remove old record
rec.write({ rec.write({'account_ids': [(3, self._origin.id)]})
'account_ids': [(3, self._origin.id)]
})

17
base_accounting_kit/models/account_asset.py

@ -53,13 +53,11 @@ class AccountAssetCategory(models.Model):
string='Depreciation Entries: Expense Account', string='Depreciation Entries: Expense Account',
required=True, domain=[ required=True, domain=[
('internal_type', '=', 'other'), ('deprecated', '=', False)], ('internal_type', '=', 'other'), ('deprecated', '=', False)],
oldname='account_income_recognition_id',
help="Account used in the periodical entries, to record a part of the asset as expense.") help="Account used in the periodical entries, to record a part of the asset as expense.")
journal_id = fields.Many2one('account.journal', string='Journal', journal_id = fields.Many2one('account.journal', string='Journal',
required=True) required=True)
company_id = fields.Many2one('res.company', string='Company', company_id = fields.Many2one('res.company', string='Company',
required=True, default=lambda self: self.env[ required=True, default=lambda self: self.env.user.company_id)
'res.company']._company_default_get('account.asset.category'))
method = fields.Selection( method = fields.Selection(
[('linear', 'Linear'), ('degressive', 'Degressive')], [('linear', 'Linear'), ('degressive', 'Degressive')],
string='Computation Method', required=True, default='linear', string='Computation Method', required=True, default='linear',
@ -122,8 +120,7 @@ class AccountAssetAsset(models.Model):
code = fields.Char(string='Reference', size=32, readonly=True, code = fields.Char(string='Reference', size=32, readonly=True,
states={'draft': [('readonly', False)]}) states={'draft': [('readonly', False)]})
value = fields.Float(string='Gross Value', required=True, readonly=True, value = fields.Float(string='Gross Value', required=True, readonly=True,
digits=0, states={'draft': [('readonly', False)]}, digits=0, states={'draft': [('readonly', False)]})
oldname='purchase_value')
currency_id = fields.Many2one('res.currency', string='Currency', currency_id = fields.Many2one('res.currency', string='Currency',
required=True, readonly=True, required=True, readonly=True,
states={'draft': [('readonly', False)]}, states={'draft': [('readonly', False)]},
@ -132,9 +129,7 @@ class AccountAssetAsset(models.Model):
company_id = fields.Many2one('res.company', string='Company', company_id = fields.Many2one('res.company', string='Company',
required=True, readonly=True, required=True, readonly=True,
states={'draft': [('readonly', False)]}, states={'draft': [('readonly', False)]},
default=lambda self: self.env[ default=lambda self: self.env.user.company_id)
'res.company']._company_default_get(
'account.asset.asset'))
note = fields.Text() note = fields.Text()
category_id = fields.Many2one('account.asset.category', string='Category', category_id = fields.Many2one('account.asset.category', string='Category',
required=True, change_default=True, required=True, change_default=True,
@ -142,8 +137,7 @@ class AccountAssetAsset(models.Model):
states={'draft': [('readonly', False)]}) states={'draft': [('readonly', False)]})
date = fields.Date(string='Date', required=True, readonly=True, date = fields.Date(string='Date', required=True, readonly=True,
states={'draft': [('readonly', False)]}, states={'draft': [('readonly', False)]},
default=fields.Date.context_today, default=fields.Date.context_today)
oldname="purchase_date")
state = fields.Selection( state = fields.Selection(
[('draft', 'Draft'), ('open', 'Running'), ('close', 'Close')], [('draft', 'Draft'), ('open', 'Running'), ('close', 'Close')],
'Status', required=True, copy=False, default='draft', 'Status', required=True, copy=False, default='draft',
@ -348,9 +342,6 @@ class AccountAssetAsset(models.Model):
# purchase month in other cases # purchase month in other cases
if self.method_period >= 12: if self.method_period >= 12:
if self.company_id.fiscalyear_last_month: if self.company_id.fiscalyear_last_month:
print(self.company_id.fiscalyear_last_month)
print(self.company_id.fiscalyear_last_day)
print(self.date)
asset_date = date(year=int(self.date.year), asset_date = date(year=int(self.date.year),
month=int( month=int(
self.company_id.fiscalyear_last_month), self.company_id.fiscalyear_last_month),

29
base_accounting_kit/models/account_followup.py

@ -20,7 +20,7 @@
# #
############################################################################# #############################################################################
from odoo import fields, api, models, _ from odoo import fields, models
class Followup(models.Model): class Followup(models.Model):
@ -28,14 +28,12 @@ class Followup(models.Model):
_description = 'Account Follow-up' _description = 'Account Follow-up'
_rec_name = 'name' _rec_name = 'name'
followup_line_ids = fields.One2many('followup.line', 'followup_id', 'Follow-up', copy=True) followup_line_ids = fields.One2many('followup.line', 'followup_id',
'Follow-up', copy=True)
company_id = fields.Many2one('res.company', 'Company', company_id = fields.Many2one('res.company', 'Company',
default=lambda self: self.env['res.company']._company_default_get( default=lambda self: self.env.user.company_id)
'account_followup.followup'))
name = fields.Char(related='company_id.name', readonly=True) name = fields.Char(related='company_id.name', readonly=True)
_sql_constraints = [('company_uniq', 'unique(company_id)', 'Only one follow-up per company is allowed')]
class FollowupLine(models.Model): class FollowupLine(models.Model):
_name = 'followup.line' _name = 'followup.line'
@ -43,22 +41,11 @@ class FollowupLine(models.Model):
_order = 'delay' _order = 'delay'
name = fields.Char('Follow-Up Action', required=True, translate=True) name = fields.Char('Follow-Up Action', required=True, translate=True)
sequence = fields.Integer(help="Gives the sequence order when displaying a list of follow-up lines.") sequence = fields.Integer(
help="Gives the sequence order when displaying a list of follow-up lines.")
delay = fields.Integer('Due Days', required=True, delay = fields.Integer('Due Days', required=True,
help="The number of days after the due date of the invoice" help="The number of days after the due date of the invoice"
" to wait before sending the reminder." " to wait before sending the reminder."
" Could be negative if you want to send a polite alert beforehand.") " Could be negative if you want to send a polite alert beforehand.")
followup_id = fields.Many2one('account.followup', 'Follow Ups', ondelete="cascade") followup_id = fields.Many2one('account.followup', 'Follow Ups',
ondelete="cascade")
_sql_constraints = [('days_uniq', 'unique(followup_id, delay)', 'Days of the follow-up levels must be different')]
@api.constrains('description')
def _check_description(self):
for line in self:
if line.description:
try:
line.description % {'partner_name': '', 'date': '', 'user_signature': '', 'company_name': ''}
except:
raise Warning(_(
'Your description is invalid, use the right legend'
' or %% if you want to use the percent character.'))

9
base_accounting_kit/models/account_journal.py

@ -28,9 +28,10 @@ class AccountJournal(models.Model):
@api.depends('outbound_payment_method_ids') @api.depends('outbound_payment_method_ids')
def _compute_check_printing_payment_method_selected(self): def _compute_check_printing_payment_method_selected(self):
self.check_printing_payment_method_selected = any( for journal in self:
pm.code in ['check_printing', 'pdc'] for pm in journal.check_printing_payment_method_selected = any(
self.outbound_payment_method_ids) pm.code in ['check_printing', 'pdc'] for pm in
journal.outbound_payment_method_ids)
@api.model @api.model
def _enable_pdc_on_bank_journals(self): def _enable_pdc_on_bank_journals(self):
@ -42,7 +43,7 @@ class AccountJournal(models.Model):
pdcout = self.env.ref('base_accounting_kit.account_payment_method_pdc_out') pdcout = self.env.ref('base_accounting_kit.account_payment_method_pdc_out')
bank_journals = self.search([('type', '=', 'bank')]) bank_journals = self.search([('type', '=', 'bank')])
for bank_journal in bank_journals: for bank_journal in bank_journals:
# bank_journal._create_check_sequence() bank_journal._create_check_sequence()
bank_journal.write({ bank_journal.write({
'inbound_payment_method_ids': [(4, pdcin.id, None)], 'inbound_payment_method_ids': [(4, pdcin.id, None)],
'outbound_payment_method_ids': [(4, pdcout.id, None)], 'outbound_payment_method_ids': [(4, pdcout.id, None)],

4
base_accounting_kit/models/account_move.py

@ -90,7 +90,7 @@ class AccountInvoiceLine(models.Model):
store=True) store=True)
asset_mrr = fields.Float(string='Monthly Recurring Revenue', asset_mrr = fields.Float(string='Monthly Recurring Revenue',
compute='_get_asset_date', compute='_get_asset_date',
readonly=True, digits=dp.get_precision('Account'), readonly=True, digits='Account',
store=True) store=True)
@api.depends('asset_category_id', 'move_id.invoice_date') @api.depends('asset_category_id', 'move_id.invoice_date')
@ -145,7 +145,7 @@ class AccountInvoiceLine(models.Model):
elif self.move_id.type == 'in_invoice' and self.asset_category_id: elif self.move_id.type == 'in_invoice' and self.asset_category_id:
self.account_id = self.asset_category_id.account_asset_id.id self.account_id = self.asset_category_id.account_asset_id.id
@api.onchange('uom_id') @api.onchange('product_uom_id')
def _onchange_uom_id(self): def _onchange_uom_id(self):
result = super(AccountInvoiceLine, self)._onchange_uom_id() result = super(AccountInvoiceLine, self)._onchange_uom_id()
self.onchange_asset_category_id() self.onchange_asset_category_id()

1
base_accounting_kit/models/recurring_payments.py

@ -34,6 +34,7 @@ class FilterRecurringEntries(models.Model):
class RecurringPayments(models.Model): class RecurringPayments(models.Model):
_name = 'account.recurring.payments' _name = 'account.recurring.payments'
_description = 'Accounting Recurring Payment'
def _get_next_schedule(self): def _get_next_schedule(self):
if self.date: if self.date:

1
base_accounting_kit/report/account_asset_report.py

@ -3,6 +3,7 @@
from odoo import api, fields, models, tools from odoo import api, fields, models, tools
class AssetAssetReport(models.Model): class AssetAssetReport(models.Model):
_name = "asset.asset.report" _name = "asset.asset.report"
_description = "Assets Analysis" _description = "Assets Analysis"

1
base_accounting_kit/report/account_bank_book.py

@ -27,6 +27,7 @@ from odoo.exceptions import UserError
class ReportBankBook(models.AbstractModel): class ReportBankBook(models.AbstractModel):
_name = 'report.base_accounting_kit.report_bank_book' _name = 'report.base_accounting_kit.report_bank_book'
_description = 'Bank Book Report'
def _get_account_move_entry(self, accounts, init_balance, sortby, def _get_account_move_entry(self, accounts, init_balance, sortby,
display_account): display_account):

1
base_accounting_kit/report/account_cash_book.py

@ -27,6 +27,7 @@ from odoo.exceptions import UserError
class ReportCashBook(models.AbstractModel): class ReportCashBook(models.AbstractModel):
_name = 'report.base_accounting_kit.report_cash_book' _name = 'report.base_accounting_kit.report_cash_book'
_description = 'Cash Book Report'
def _get_account_move_entry(self, accounts, init_balance, sortby, def _get_account_move_entry(self, accounts, init_balance, sortby,
display_account): display_account):

1
base_accounting_kit/report/account_day_book.py

@ -28,6 +28,7 @@ from odoo.exceptions import UserError
class DayBookPdfReport(models.AbstractModel): class DayBookPdfReport(models.AbstractModel):
_name = 'report.base_accounting_kit.day_book_report_template' _name = 'report.base_accounting_kit.day_book_report_template'
_description = 'Day Book Report'
def _get_account_move_entry(self, accounts, form_data, pass_date): def _get_account_move_entry(self, accounts, form_data, pass_date):
cr = self.env.cr cr = self.env.cr

3
base_accounting_kit/report/account_report_common_account.py

@ -30,10 +30,9 @@ class AccountCommonAccountReport(models.TransientModel):
display_account = fields.Selection( display_account = fields.Selection(
[('all', 'All'), ('movement', 'With movements'), [('all', 'All'), ('movement', 'With movements'),
('not_zero', 'With balance is not equal to 0'), ], ('not_zero', 'With balance is not equal to 0')],
string='Display Accounts', required=True, default='movement') string='Display Accounts', required=True, default='movement')
@api.model
def pre_print_report(self, data): def pre_print_report(self, data):
data['form'].update(self.read(['display_account'])[0]) data['form'].update(self.read(['display_account'])[0])
return data return data

1
base_accounting_kit/report/cash_flow_report.py

@ -28,6 +28,7 @@ from odoo.exceptions import UserError
class ReportFinancial(models.AbstractModel): class ReportFinancial(models.AbstractModel):
_name = 'report.base_accounting_kit.report_cash_flow' _name = 'report.base_accounting_kit.report_cash_flow'
_description = 'Cash Flow Report'
def _compute_account_balance(self, accounts): def _compute_account_balance(self, accounts):
mapping = { mapping = {

1
base_accounting_kit/report/general_ledger_report.py

@ -28,6 +28,7 @@ from odoo.exceptions import UserError
class ReportGeneralLedger(models.AbstractModel): class ReportGeneralLedger(models.AbstractModel):
_name = 'report.base_accounting_kit.report_general_ledger' _name = 'report.base_accounting_kit.report_general_ledger'
_description = 'General Ledger Report'
def _get_account_move_entry(self, accounts, init_balance, sortby, def _get_account_move_entry(self, accounts, init_balance, sortby,
display_account): display_account):

1
base_accounting_kit/report/report_aged_partner.py

@ -32,6 +32,7 @@ from odoo.tools import float_is_zero
class ReportAgedPartnerBalance(models.AbstractModel): class ReportAgedPartnerBalance(models.AbstractModel):
_name = 'report.base_accounting_kit.report_agedpartnerbalance' _name = 'report.base_accounting_kit.report_agedpartnerbalance'
_description = 'Aged Partner Balance Report'
def _get_partner_move_lines(self, account_type, date_from, target_move, def _get_partner_move_lines(self, account_type, date_from, target_move,
period_length): period_length):

1
base_accounting_kit/report/report_journal_audit.py

@ -28,6 +28,7 @@ from odoo.exceptions import UserError
class ReportJournal(models.AbstractModel): class ReportJournal(models.AbstractModel):
_name = 'report.base_accounting_kit.report_journal_audit' _name = 'report.base_accounting_kit.report_journal_audit'
_description = 'Journal Report'
def lines(self, target_move, journal_ids, sort_selection, data): def lines(self, target_move, journal_ids, sort_selection, data):
if isinstance(journal_ids, int): if isinstance(journal_ids, int):

1
base_accounting_kit/report/report_partner_ledger.py

@ -28,6 +28,7 @@ from odoo.exceptions import UserError
class ReportPartnerLedger(models.AbstractModel): class ReportPartnerLedger(models.AbstractModel):
_name = 'report.base_accounting_kit.report_partnerledger' _name = 'report.base_accounting_kit.report_partnerledger'
_description = 'Partner Ledger Report'
def _lines(self, data, partner): def _lines(self, data, partner):
full_account = [] full_account = []

1
base_accounting_kit/report/report_tax.py

@ -28,6 +28,7 @@ from odoo.exceptions import UserError
class ReportTax(models.AbstractModel): class ReportTax(models.AbstractModel):
_name = 'report.base_accounting_kit.report_tax' _name = 'report.base_accounting_kit.report_tax'
_description = 'Tax Report'
@api.model @api.model
def _get_report_values(self, docids, data=None): def _get_report_values(self, docids, data=None):

1
base_accounting_kit/report/report_trial_balance.py

@ -28,6 +28,7 @@ from odoo.exceptions import UserError
class ReportTrialBalance(models.AbstractModel): class ReportTrialBalance(models.AbstractModel):
_name = 'report.base_accounting_kit.report_trial_balance' _name = 'report.base_accounting_kit.report_trial_balance'
_description = 'Trial Balance Report'
def _get_accounts(self, accounts, display_account): def _get_accounts(self, accounts, display_account):
""" compute the balance, debit and credit for the provided accounts """ compute the balance, debit and credit for the provided accounts

7
base_accounting_kit/security/ir.model.access.csv

@ -1,12 +1,11 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_financial_report_user,account_fin_rep_name_user,model_account_financial_report,account.group_account_user,1,1,1,1 access_financial_report_user,account_fin_rep_name_user,model_account_financial_report,account.group_account_user,1,1,1,1
access_financial_report_manager,account_fin_rep_name_manager,model_account_financial_report,account.group_account_manager,1,1,1,1 access_financial_report_manager,account_fin_rep_name_manager,model_account_financial_report,account.group_account_manager,1,1,1,1
access_account_report_general_ledger_user,account_account_report_general_ledger_id_user,model_account_report_general_ledger,account.group_account_user,1,1,1,1
access_account_report_general_ledger_manager,account_account_report_general_ledger_id_manager,model_account_report_general_ledger,account.group_account_manager,1,1,1,1
access_generate_recurring_entries,generate.recurring.entries.user,model_account_recurring_payments,account.group_account_user,1,1,1,1 access_generate_recurring_entries,generate.recurring.entries.user,model_account_recurring_payments,account.group_account_user,1,1,1,1
access_generate_recurring_entries_wizard,generate.recurring.entries.user.wizard,model_recurring_payments_wizard,account.group_account_user,1,1,1,1 access_account_followup_manager,account.followup.manager,model_account_followup,account.group_account_manager,1,1,1,1
access_account_followup,account.followup,model_account_followup,account.group_account_manager,1,1,1,1 access_account_followup_user,account.followup.user,model_account_followup,account.group_account_user,1,1,1,1
access_followup_line,followup.line,model_followup_line,account.group_account_manager,1,1,0,0 access_followup_line,followup.line,model_followup_line,account.group_account_manager,1,1,0,0
access_account_followup_line_user,account.followup.line.user,model_followup_line,account.group_account_user,1,1,0,0
access_account_asset_category,account.asset.category,model_account_asset_category,account.group_account_user,1,0,0,0 access_account_asset_category,account.asset.category,model_account_asset_category,account.group_account_user,1,0,0,0
access_account_asset_asset,account.asset.asset,model_account_asset_asset,account.group_account_user,1,0,0,0 access_account_asset_asset,account.asset.asset,model_account_asset_asset,account.group_account_user,1,0,0,0

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_financial_report_user account_fin_rep_name_user model_account_financial_report account.group_account_user 1 1 1 1
3 access_financial_report_manager account_fin_rep_name_manager model_account_financial_report account.group_account_manager 1 1 1 1
access_account_report_general_ledger_user account_account_report_general_ledger_id_user model_account_report_general_ledger account.group_account_user 1 1 1 1
access_account_report_general_ledger_manager account_account_report_general_ledger_id_manager model_account_report_general_ledger account.group_account_manager 1 1 1 1
4 access_generate_recurring_entries generate.recurring.entries.user model_account_recurring_payments account.group_account_user 1 1 1 1
5 access_generate_recurring_entries_wizard access_account_followup_manager generate.recurring.entries.user.wizard account.followup.manager model_recurring_payments_wizard model_account_followup account.group_account_user account.group_account_manager 1 1 1 1
6 access_account_followup access_account_followup_user account.followup account.followup.user model_account_followup account.group_account_manager account.group_account_user 1 1 1 1
7 access_followup_line followup.line model_followup_line account.group_account_manager 1 1 0 0
8 access_account_followup_line_user account.followup.line.user model_followup_line account.group_account_user 1 1 0 0
9 access_account_asset_category account.asset.category model_account_asset_category account.group_account_user 1 0 0 0
10 access_account_asset_asset account.asset.asset model_account_asset_asset account.group_account_user 1 0 0 0
11 access_account_asset_category_manager account.asset.category model_account_asset_category account.group_account_manager 1 1 1 1

12
base_accounting_kit/security/account_asset_security.xml → base_accounting_kit/security/security.xml

@ -14,6 +14,18 @@
<field eval="True" name="global"/> <field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field> <field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record> </record>
<!-- Rename user group as Accountant -->
<record id="account.group_account_user" model="res.groups">
<field name="name">Accountant</field>
<field name="implied_ids" eval="[(4, ref('account.group_account_invoice'))]"/>
<field name="category_id" ref="base.module_category_accounting_accounting"/>
</record>
<!-- Rename user group as Chief Accountant -->
<record id="account.group_account_manager" model="res.groups">
<field name="name">Chief Accountant</field>
<field name="implied_ids" eval="[(3, ref('account.group_account_invoice')), (4, ref('account.group_account_user'))]"/>
<field name="category_id" ref="base.module_category_accounting_accounting"/>
</record>
</data> </data>
</odoo> </odoo>

21
base_accounting_kit/views/accounting_menu.xml

@ -1,14 +1,29 @@
<?xml version="1.0" encoding="UTF-8" ?> <?xml version="1.0" encoding="UTF-8" ?>
<odoo> <odoo>
<data> <data>
<!-- Change invoicing menu to Accounting -->
<record model="ir.ui.menu" id="account.menu_finance"> <record model="ir.ui.menu" id="account.menu_finance">
<field name="name">Accounting</field> <field name="name">Accounting</field>
</record> </record>
<menuitem id="account_reports_generic_statements" sequence="2" <!-- Change settings invoicing menu to Accounting -->
<record id="res_config_settings_view_accounting_kit" model="ir.ui.view">
<field name="name">res.config.settings.view.form.inherit.kit</field>
<field name="model">res.config.settings</field>
<field name="inherit_id" ref="account.res_config_settings_view_form"/>
<field name="arch" type="xml">
<div data-key="account" position="attributes">
<attribute name="data-string">Accounting</attribute>
<attribute name="string">Accounting</attribute>
</div>
</field>
</record>
<menuitem id="account_reports_generic_statements" sequence="1"
name="Generic Statements" parent="account.menu_finance_reports"/> name="Generic Statements" parent="account.menu_finance_reports"/>
<menuitem id="account_reports_partner" sequence="2" <menuitem id="account_reports_daily_reports" sequence="2"
name="Daily Reports" parent="account.menu_finance_reports"/>
<menuitem id="account_reports_partner" sequence="3"
name="Partner Reports" parent="account.menu_finance_reports"/> name="Partner Reports" parent="account.menu_finance_reports"/>
<menuitem id="account_reports_audit" sequence="3" <menuitem id="account_reports_audit" sequence="4"
name="Audit Reports" parent="account.menu_finance_reports"/> name="Audit Reports" parent="account.menu_finance_reports"/>
</data> </data>
</odoo> </odoo>

16
base_accounting_kit/views/credit_limit_view.xml

@ -31,15 +31,11 @@
<xpath expr="//header" position="after"> <xpath expr="//header" position="after">
<div class="alert alert-info" role="alert" style="height: 40px; margin-bottom:0px;" <div class="alert alert-info" role="alert" style="height: 40px; margin-bottom:0px;"
attrs="{'invisible':[('has_due','=',False)]}"> attrs="{'invisible':[('has_due','=',False)]}">
This Customer's due amount is This Customer's due amount is <strong><field name="due_amount"/></strong>.
<strong>
<field name="due_amount"/>
</strong>
.
</div> </div>
</xpath> </xpath>
<xpath expr="//sheet/div[@name='button_box']" position="after"> <xpath expr="//sheet/div[@name='button_box']" position="after">
<div class="alert alert-danger" style="height: 40px; width: 350px; margin-bottom:0px;" <div role="alert" class="alert alert-danger" style="height: 40px; width: 350px; margin-bottom:0px;"
attrs="{'invisible':[('is_warning','=',False)]}"> attrs="{'invisible':[('is_warning','=',False)]}">
This customer's <strong>warning limit</strong> has been crossed. This customer's <strong>warning limit</strong> has been crossed.
</div> </div>
@ -59,15 +55,11 @@
<xpath expr="//header" position="after"> <xpath expr="//header" position="after">
<div class="alert alert-info" role="alert" style="height: 40px; margin-bottom:0px;" <div class="alert alert-info" role="alert" style="height: 40px; margin-bottom:0px;"
attrs="{'invisible':['|',('has_due','=',False),('type','not in',('out_invoice','out_refund','out_receipt'))]}"> attrs="{'invisible':['|',('has_due','=',False),('type','not in',('out_invoice','out_refund','out_receipt'))]}">
This Customer's due amount is This Customer's due amount is <strong><field name="due_amount"/></strong>.
<strong>
<field name="due_amount"/>
</strong>
.
</div> </div>
</xpath> </xpath>
<xpath expr="//sheet/div[@name='button_box']" position="after"> <xpath expr="//sheet/div[@name='button_box']" position="after">
<div class="alert alert-danger" style="height: 40px; width: 350px; margin-bottom:0px;" <div role="alert" class="alert alert-danger" style="height: 40px; width: 350px; margin-bottom:0px;"
attrs="{'invisible':['|',('is_warning','=',False),('type','not in',('out_invoice','out_refund','out_receipt'))]}"> attrs="{'invisible':['|',('is_warning','=',False),('type','not in',('out_invoice','out_refund','out_receipt'))]}">
This customer's <strong>warning limit</strong> has been crossed. This customer's <strong>warning limit</strong> has been crossed.
</div> </div>

4
base_accounting_kit/views/followup_report.xml

@ -5,7 +5,7 @@
<field name="name">customer.statements.followup</field> <field name="name">customer.statements.followup</field>
<field name="model">res.partner</field> <field name="model">res.partner</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="report"> <form string="report" create="false" edit="false">
<header> <header>
<field name="followup_status" widget="statusbar"/> <field name="followup_status" widget="statusbar"/>
</header> </header>
@ -113,7 +113,7 @@
<menuitem id="customer_statements_menu" name="Follow-up Reports" <menuitem id="customer_statements_menu" name="Follow-up Reports"
parent="account.menu_finance_receivables" parent="account.menu_finance_receivables"
action="action_view_list_customer_statements" sequence="20" action="action_view_list_customer_statements" sequence="20"
groups="account.group_account_manager"/> groups="account.group_account_user"/>
</data> </data>
</odoo> </odoo>

1
base_accounting_kit/wizard/__init__.py

@ -24,7 +24,6 @@ from . import account_bank_book_wizard
from . import account_cash_book_wizard from . import account_cash_book_wizard
from . import account_day_book_wizard from . import account_day_book_wizard
from . import account_lock_date from . import account_lock_date
from . import account_report_common_account
from . import account_report_common_partner from . import account_report_common_partner
from . import aged_partner from . import aged_partner
from . import asset_depreciation_confirmation_wizard from . import asset_depreciation_confirmation_wizard

6
base_accounting_kit/wizard/account_bank_book_wizard.py

@ -27,13 +27,13 @@ from odoo.exceptions import UserError
class BankBookWizard(models.TransientModel): class BankBookWizard(models.TransientModel):
_name = 'account.bank.book.report' _name = 'account.bank.book.report'
_description = 'Account Bank Book Report'
company_id = fields.Many2one('res.company', string='Company', company_id = fields.Many2one('res.company', string='Company',
readonly=True, readonly=True,
default=lambda self: self.env.user.company_id) default=lambda self: self.env.user.company_id)
target_move = fields.Selection([('posted', 'All Posted Entries'), target_move = fields.Selection([('posted', 'All Posted Entries'),
('all', 'All Entries'), ('all', 'All Entries')], string='Target Moves', required=True,
], string='Target Moves', required=True,
default='posted') default='posted')
date_from = fields.Date(string='Start Date', default=date.today(), date_from = fields.Date(string='Start Date', default=date.today(),
requred=True) requred=True)
@ -41,7 +41,7 @@ class BankBookWizard(models.TransientModel):
requred=True) requred=True)
display_account = fields.Selection( display_account = fields.Selection(
[('all', 'All'), ('movement', 'With movements'), [('all', 'All'), ('movement', 'With movements'),
('not_zero', 'With balance is not equal to 0'), ], ('not_zero', 'With balance is not equal to 0')],
string='Display Accounts', required=True, default='movement') string='Display Accounts', required=True, default='movement')
sortby = fields.Selection( sortby = fields.Selection(
[('sort_date', 'Date'), ('sort_journal_partner', 'Journal & Partner')], [('sort_date', 'Date'), ('sort_journal_partner', 'Journal & Partner')],

2
base_accounting_kit/wizard/account_bank_book_wizard_view.xml

@ -38,6 +38,6 @@
</record> </record>
<menuitem id="account_bank_book_menu" name="Bank Book" action="action_account_bank_book_view" <menuitem id="account_bank_book_menu" name="Bank Book" action="action_account_bank_book_view"
parent="base_accounting_kit.account_reports_generic_statements"/> parent="base_accounting_kit.account_reports_daily_reports"/>
</data> </data>
</odoo> </odoo>

6
base_accounting_kit/wizard/account_cash_book_wizard.py

@ -27,13 +27,13 @@ from odoo.exceptions import UserError
class CashBookWizard(models.TransientModel): class CashBookWizard(models.TransientModel):
_name = 'account.cash.book.report' _name = 'account.cash.book.report'
_description = 'Account Cash Book Report'
company_id = fields.Many2one('res.company', string='Company', company_id = fields.Many2one('res.company', string='Company',
readonly=True, readonly=True,
default=lambda self: self.env.user.company_id) default=lambda self: self.env.user.company_id)
target_move = fields.Selection([('posted', 'All Posted Entries'), target_move = fields.Selection([('posted', 'All Posted Entries'),
('all', 'All Entries'), ('all', 'All Entries')], string='Target Moves', required=True,
], string='Target Moves', required=True,
default='posted') default='posted')
date_from = fields.Date(string='Start Date', default=date.today(), date_from = fields.Date(string='Start Date', default=date.today(),
requred=True) requred=True)
@ -41,7 +41,7 @@ class CashBookWizard(models.TransientModel):
requred=True) requred=True)
display_account = fields.Selection( display_account = fields.Selection(
[('all', 'All'), ('movement', 'With movements'), [('all', 'All'), ('movement', 'With movements'),
('not_zero', 'With balance is not equal to 0'), ], ('not_zero', 'With balance is not equal to 0')],
string='Display Accounts', required=True, default='movement') string='Display Accounts', required=True, default='movement')
sortby = fields.Selection( sortby = fields.Selection(
[('sort_date', 'Date'), ('sort_journal_partner', 'Journal & Partner')], [('sort_date', 'Date'), ('sort_journal_partner', 'Journal & Partner')],

2
base_accounting_kit/wizard/account_cash_book_wizard_view.xml

@ -38,6 +38,6 @@
</record> </record>
<menuitem id="account_cash_book_menu" name="Cash Book" action="action_account_cash_book_view" <menuitem id="account_cash_book_menu" name="Cash Book" action="action_account_cash_book_view"
parent="base_accounting_kit.account_reports_generic_statements"/> parent="base_accounting_kit.account_reports_daily_reports"/>
</data> </data>
</odoo> </odoo>

4
base_accounting_kit/wizard/account_day_book_wizard.py

@ -26,6 +26,7 @@ from odoo import models, fields
class DayBookWizard(models.TransientModel): class DayBookWizard(models.TransientModel):
_name = 'account.day.book.report' _name = 'account.day.book.report'
_description = 'Account Day Book Report'
company_id = fields.Many2one('res.company', string='Company', company_id = fields.Many2one('res.company', string='Company',
readonly=True, readonly=True,
@ -35,8 +36,7 @@ class DayBookWizard(models.TransientModel):
default=lambda self: self.env[ default=lambda self: self.env[
'account.journal'].search([])) 'account.journal'].search([]))
target_move = fields.Selection([('posted', 'All Posted Entries'), target_move = fields.Selection([('posted', 'All Posted Entries'),
('all', 'All Entries'), ('all', 'All Entries')], string='Target Moves', required=True,
], string='Target Moves', required=True,
default='posted') default='posted')
account_ids = fields.Many2many('account.account', account_ids = fields.Many2many('account.account',

2
base_accounting_kit/wizard/account_day_book_wizard_view.xml

@ -35,6 +35,6 @@
</record> </record>
<menuitem id="account_day_book_menu" name="Day Book" action="action_account_day_book_view" <menuitem id="account_day_book_menu" name="Day Book" action="action_account_day_book_view"
parent="base_accounting_kit.account_reports_generic_statements"/> parent="base_accounting_kit.account_reports_daily_reports"/>
</data> </data>
</odoo> </odoo>

38
base_accounting_kit/wizard/account_report_common_account.py

@ -1,38 +0,0 @@
# -*- coding: utf-8 -*-
#############################################################################
#
# Cybrosys Technologies Pvt. Ltd.
#
# Copyright (C) 2019-TODAY Cybrosys Technologies(<https://www.cybrosys.com>)
# Author: Cybrosys Techno Solutions(<https://www.cybrosys.com>)
#
# You can modify it under the terms of the GNU LESSER
# GENERAL PUBLIC LICENSE (LGPL v3), Version 3.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU LESSER GENERAL PUBLIC LICENSE (LGPL v3) for more details.
#
# You should have received a copy of the GNU LESSER GENERAL PUBLIC LICENSE
# (LGPL v3) along with this program.
# If not, see <http://www.gnu.org/licenses/>.
#
#############################################################################
from odoo import fields, models
class AccountCommonAccountReport(models.TransientModel):
_name = 'account.common.account.report'
_description = 'Account Common Account Report'
_inherit = "account.common.report"
display_account = fields.Selection(
[('all', 'All'), ('movement', 'With movements'),
('not_zero', 'With balance is not equal to 0'), ],
string='Display Accounts', required=True, default='movement')
def pre_print_report(self, data):
data['form'].update(self.read(['display_account'])[0])
return data

4
base_accounting_kit/wizard/cash_flow_report.py

@ -49,8 +49,8 @@ class AccountingReport(models.TransientModel):
filter_cmp = fields.Selection( filter_cmp = fields.Selection(
[('filter_no', 'No Filters'), ('filter_date', 'Date')], [('filter_no', 'No Filters'), ('filter_date', 'Date')],
string='Filter by', required=True, default='filter_no') string='Filter by', required=True, default='filter_no')
date_from_cmp = fields.Date(string='Start Date') date_from_cmp = fields.Date(string='Date Start')
date_to_cmp = fields.Date(string='End Date') date_to_cmp = fields.Date(string='Date End')
debit_credit = fields.Boolean(string='Display Debit/Credit Columns', debit_credit = fields.Boolean(string='Display Debit/Credit Columns',
help="This option allows you to get more details about the way your balances are computed. Because it is space consuming, we do not allow to use it while doing a comparison.") help="This option allows you to get more details about the way your balances are computed. Because it is space consuming, we do not allow to use it while doing a comparison.")

6
base_accounting_kit/wizard/financial_report.py

@ -48,11 +48,6 @@ class FinancialReport(models.TransientModel):
enable_filter = fields.Boolean( enable_filter = fields.Boolean(
string='Enable Comparison', string='Enable Comparison',
default=False) default=False)
target_move = fields.Selection([
('all', 'All'),
('posted', 'Posted')],
string="Type",
default='all')
account_report_id = fields.Many2one( account_report_id = fields.Many2one(
'account.financial.report', 'account.financial.report',
string='Account Reports', string='Account Reports',
@ -382,6 +377,7 @@ class ProfitLossPdf(models.AbstractModel):
""" Abstract model for generating PDF report value and send to template """ """ Abstract model for generating PDF report value and send to template """
_name = 'report.base_accounting_kit.report_financial' _name = 'report.base_accounting_kit.report_financial'
_description = 'Financial Report'
@api.model @api.model
def _get_report_values(self, docids, data=None): def _get_report_values(self, docids, data=None):

2
base_accounting_kit/wizard/journal_audit.py

@ -29,7 +29,7 @@ class AccountPrintJournal(models.TransientModel):
_description = "Account Print Journal" _description = "Account Print Journal"
sort_selection = fields.Selection( sort_selection = fields.Selection(
[('date', 'Date'), ('move_name', 'Journal Entry Number'), ], [('date', 'Date'), ('move_name', 'Journal Entry Number')],
'Entries Sorted by', required=True, default='move_name') 'Entries Sorted by', required=True, default='move_name')
journal_ids = fields.Many2many('account.journal', string='Journals', journal_ids = fields.Many2many('account.journal', string='Journals',
required=True, required=True,

2
base_accounting_kit/wizard/recurring_payments.py

@ -29,6 +29,7 @@ from odoo.exceptions import UserError
class RecurringPaymentsWizard(models.TransientModel): class RecurringPaymentsWizard(models.TransientModel):
_name = 'recurring.payments.wizard' _name = 'recurring.payments.wizard'
_description = 'Recurring Payment Wizard'
recurring_lines = fields.One2many('account.recurring.entries.line', 'p_id') recurring_lines = fields.One2many('account.recurring.entries.line', 'p_id')
date_from = fields.Date('Starting Date', default=date.today()) date_from = fields.Date('Starting Date', default=date.today())
@ -131,6 +132,7 @@ class RecurringPaymentsWizard(models.TransientModel):
class GetAllRecurringEntries(models.TransientModel): class GetAllRecurringEntries(models.TransientModel):
_name = 'account.recurring.entries.line' _name = 'account.recurring.entries.line'
_description = 'Account Recurring Entries Line'
date = fields.Date('Date') date = fields.Date('Date')
template_name = fields.Char('Name') template_name = fields.Char('Name')

17
base_accounting_kit/wizard/recurring_payments_wizard.xml

@ -50,22 +50,13 @@
<field name="target">new</field> <field name="target">new</field>
</record> </record>
<!-- Create a parent menu for payments and recurring payment -->
<menuitem id="menu_action_account_payments_receivable_main" name="Payments"
parent="account.menu_finance_receivables" sequence="15"/>
<menuitem id="menu_action_account_payments_payable_main" name="Payments"
parent="account.menu_finance_payables" sequence="20"/>
<!-- Override the existing Payment menu -->
<menuitem action="account.action_account_payments" id="menu_action_account_payments_receivable"
parent="menu_action_account_payments_receivable_main" sequence="1"/>
<menuitem action="account.action_account_payments_payable" id="menu_action_account_payments_payable"
parent="menu_action_account_payments_payable_main" sequence="1"/>
<!-- Menu for recurring payment -->
<menuitem id="account_recurring_payments_child2" name="Recurring Entries" <menuitem id="account_recurring_payments_child2" name="Recurring Entries"
action="action_account_recurring_payments_wizard_view" action="action_account_recurring_payments_wizard_view"
parent="menu_action_account_payments_receivable_main" groups="account.group_account_user"/> parent="account.menu_finance_receivables" sequence="16"
groups="account.group_account_user,account.group_account_manager"/>
<menuitem id="account_recurring_payments_child3" name="Recurring Entries" <menuitem id="account_recurring_payments_child3" name="Recurring Entries"
action="action_account_recurring_payments_wizard_view" action="action_account_recurring_payments_wizard_view"
parent="menu_action_account_payments_payable_main" groups="account.group_account_user"/> parent="account.menu_finance_payables" sequence="20"
groups="account.group_account_user,account.group_account_manager"/>
</data> </data>
</odoo> </odoo>

1
hr_payroll_account_community/static/description/index.html

@ -0,0 +1 @@
Enables payroll accounting features in odoo 13.
Loading…
Cancel
Save