mirror of
https://github.com/bringout/odoomates.git
synced 2026-04-20 09:12:02 +02:00
Initial commit: Odoomates Odoo packages (12 packages)
This commit is contained in:
commit
3b38c49bf0
526 changed files with 34983 additions and 0 deletions
|
|
@ -0,0 +1,48 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from dateutil.relativedelta import relativedelta
|
||||
from odoo import models, fields, api
|
||||
|
||||
|
||||
class AccountRecurringTemplate(models.Model):
|
||||
_name = 'account.recurring.template'
|
||||
_description = 'Recurring Template'
|
||||
_rec_name = 'name'
|
||||
|
||||
name = fields.Char('Name', required=True)
|
||||
# account_id = fields.Many2one('account.account', 'Account', required=True)
|
||||
journal_id = fields.Many2one('account.journal', 'Journal', required=True)
|
||||
recurring_period = fields.Selection(selection=[('days', 'Days'),
|
||||
('weeks', 'Weeks'),
|
||||
('months', 'Months'),
|
||||
('years', 'Years')], store=True, required=True)
|
||||
# date_begin = fields.Date(string='Start Date', required=True)
|
||||
# date_end = fields.Date(string='End Date', required=True)
|
||||
description = fields.Text('Description')
|
||||
state = fields.Selection(selection=[('draft', 'Draft'),
|
||||
('done', 'Done')], default='draft', string='Status')
|
||||
journal_state = fields.Selection(selection=[('draft', 'Un Posted'),
|
||||
('posted', 'Posted')],
|
||||
required=True, default='draft', string='Generate Journal As')
|
||||
recurring_interval = fields.Integer('Recurring Interval', default=1, required=True)
|
||||
company_id = fields.Many2one('res.company', string='Company', default=lambda self: self.env.company.id)
|
||||
# next_call = fields.Date(string="Next Call", compute="_compute_next_call")
|
||||
|
||||
@api.depends('date_begin', 'date_end')
|
||||
def _compute_next_call(self):
|
||||
for rec in self:
|
||||
exec_date = rec.date_begin + relativedelta(days=rec.recurring_interval)
|
||||
if exec_date <= rec.date_end:
|
||||
rec.next_call = exec_date
|
||||
else:
|
||||
rec.state = 'done'
|
||||
|
||||
def action_draft(self):
|
||||
for rec in self:
|
||||
rec.state = 'draft'
|
||||
|
||||
def action_done(self):
|
||||
for rec in self:
|
||||
rec.state = 'done'
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue