Minor fixes
This commit is contained in:
parent
d2b8f83327
commit
ed4f1c97a1
|
@ -0,0 +1,29 @@
|
|||
# See https://help.github.com/ignore-files/ for more about ignoring files.
|
||||
|
||||
# dependencies
|
||||
/build
|
||||
/dist
|
||||
*egg-info
|
||||
|
||||
|
||||
/node_modules
|
||||
|
||||
# testing
|
||||
/coverage
|
||||
|
||||
# production
|
||||
/build
|
||||
|
||||
# misc
|
||||
|
||||
.DS_Store
|
||||
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
package-lock*
|
||||
|
||||
/__pycache__
|
||||
/app/__pycache__
|
||||
/app/commons/__pycache__
|
99
contract.py
99
contract.py
|
@ -52,6 +52,7 @@ TYPE_INVOICE = [
|
|||
('92', 'Nota Débito Eléctronica'),
|
||||
]
|
||||
|
||||
|
||||
class TypeContract(ModelSQL, ModelView):
|
||||
"Type Sale Contract"
|
||||
__name__ = 'sale.contract.type'
|
||||
|
@ -76,26 +77,26 @@ class SaleContract(Workflow, ModelSQL, ModelView):
|
|||
_rec_name = 'number'
|
||||
number = fields.Char('Number', readonly=True)
|
||||
party = fields.Many2One('party.party', 'Party', required=True,
|
||||
select=True, states= STATES)
|
||||
select=True, states= STATES)
|
||||
contract_date = fields.Date('Contract Date', required=True, states=STATES)
|
||||
date = fields.Date('Date')
|
||||
payment_term = fields.Many2One('account.invoice.payment_term',
|
||||
'Payment Term', required=True, states=STATES)
|
||||
'Payment Term', required=True, states=STATES)
|
||||
lines = fields.One2Many('sale.contract.line', 'contract', 'Lines',
|
||||
states={
|
||||
'readonly': Eval('state') == 'finished',
|
||||
# 'required': Eval('state') == 'finished',
|
||||
}, depends=['state'])
|
||||
states={
|
||||
'readonly': Eval('state') == 'finished',
|
||||
# 'required': Eval('state') == 'finished',
|
||||
}, depends=['state'])
|
||||
company = fields.Many2One('company.company', 'Company', required=True,
|
||||
states=STATES)
|
||||
type = fields.Many2One('sale.contract.type', 'Type', states=STATES,
|
||||
required=True)
|
||||
state = fields.Selection([
|
||||
('draft', 'Draft'),
|
||||
('confirmed', 'Confirmed'),
|
||||
('finished', 'Finished'),
|
||||
('canceled', 'Canceled'),
|
||||
], 'State', readonly=True, select=True)
|
||||
('draft', 'Draft'),
|
||||
('confirmed', 'Confirmed'),
|
||||
('finished', 'Finished'),
|
||||
('canceled', 'Canceled'),
|
||||
], 'State', readonly=True, select=True)
|
||||
state_string = state.translated('state')
|
||||
total_amount = fields.Numeric('Total Amount', digits=(16, 2),
|
||||
required=True, states={
|
||||
|
@ -135,39 +136,39 @@ class SaleContract(Workflow, ModelSQL, ModelView):
|
|||
super(SaleContract, cls).__setup__()
|
||||
cls._order.insert(0, ('date', 'DESC'))
|
||||
cls._error_messages.update({
|
||||
'payment_term_missing': 'The payterm is missing!',
|
||||
'sequence_missing': 'The sequence is missing!',
|
||||
'lines_processed': ('Sale Contract "%s" can not deleted '
|
||||
'because has lines processed'),
|
||||
'delete_cancel': ('Sale Contract "%s" must be canceled before '
|
||||
'deletion.'),
|
||||
'sales_pending': ('You can not to finish contract because '
|
||||
'has sales pending!'),
|
||||
})
|
||||
'payment_term_missing': 'The payterm is missing!',
|
||||
'sequence_missing': 'The sequence is missing!',
|
||||
'lines_processed': ('Sale Contract "%s" can not deleted '
|
||||
'because has lines processed'),
|
||||
'delete_cancel': ('Sale Contract "%s" must be canceled before '
|
||||
'deletion.'),
|
||||
'sales_pending': ('You can not to finish contract because '
|
||||
'has sales pending!'),
|
||||
})
|
||||
cls._transitions |= set((
|
||||
('draft', 'confirmed'),
|
||||
('draft', 'canceled'),
|
||||
('confirmed', 'draft'),
|
||||
('canceled', 'draft'),
|
||||
('confirmed', 'finished'),
|
||||
('finished', 'confirmed'),
|
||||
))
|
||||
('draft', 'confirmed'),
|
||||
('draft', 'canceled'),
|
||||
('confirmed', 'draft'),
|
||||
('canceled', 'draft'),
|
||||
('confirmed', 'finished'),
|
||||
('finished', 'confirmed'),
|
||||
))
|
||||
cls._buttons.update({
|
||||
'create_lines': {
|
||||
'invisible': Eval('state') != 'confirmed',
|
||||
},
|
||||
'cancel': {
|
||||
'invisible': Eval('state') != 'draft',
|
||||
},
|
||||
'draft': {
|
||||
'invisible': ~Eval('state').in_(['canceled', 'confirmed']),
|
||||
},
|
||||
'confirm': {
|
||||
'invisible': Eval('state').in_(['canceled', 'confirmed']),
|
||||
},
|
||||
'finish': {
|
||||
'invisible': Eval('state') != 'confirmed',
|
||||
},
|
||||
'create_lines': {
|
||||
'invisible': Eval('state') != 'confirmed',
|
||||
},
|
||||
'cancel': {
|
||||
'invisible': Eval('state') != 'draft',
|
||||
},
|
||||
'draft': {
|
||||
'invisible': ~Eval('state').in_(['canceled', 'confirmed']),
|
||||
},
|
||||
'confirm': {
|
||||
'invisible': Eval('state').in_(['canceled', 'confirmed']),
|
||||
},
|
||||
'finish': {
|
||||
'invisible': Eval('state') != 'confirmed',
|
||||
},
|
||||
})
|
||||
|
||||
@staticmethod
|
||||
|
@ -479,7 +480,6 @@ class ContractProductLine(ModelSQL, ModelView):
|
|||
], 'Type', select=True, required=True
|
||||
)
|
||||
|
||||
|
||||
@fields.depends('product')
|
||||
def on_change_with_unit_price(self):
|
||||
if self.product:
|
||||
|
@ -558,10 +558,10 @@ class SaleContractByMonthReport(Report):
|
|||
period = Period(data['period'])
|
||||
|
||||
records = SaleContract.search([
|
||||
('company', '=', data['company']),
|
||||
('contract_date', '>=', period.start_date),
|
||||
('contract_date', '<=', period.end_date),
|
||||
('state', 'in', ['confirmed', 'finished']),
|
||||
('company', '=', data['company']),
|
||||
('contract_date', '>=', period.start_date),
|
||||
('contract_date', '<=', period.end_date),
|
||||
('state', 'in', ['confirmed', 'finished']),
|
||||
])
|
||||
|
||||
total_amount = []
|
||||
|
@ -587,7 +587,6 @@ class CreateInvoicesFromContractStart(ModelView):
|
|||
])
|
||||
invoice_type = fields.Selection(TYPE_INVOICE, 'Type Invoice')
|
||||
|
||||
|
||||
@staticmethod
|
||||
def default_company():
|
||||
return Transaction().context.get('company')
|
||||
|
@ -616,7 +615,6 @@ class CreateInvoicesFromContract(Wizard):
|
|||
def transition_accept(self):
|
||||
pool = Pool()
|
||||
Contract = pool.get('sale.contract')
|
||||
Sale = pool.get('sale.sale')
|
||||
Line = Pool().get('sale.contract.line')
|
||||
lines = Line.search([
|
||||
('contract.state', '=', 'confirmed'),
|
||||
|
@ -665,7 +663,7 @@ class CreateInvoicesFromContract(Wizard):
|
|||
for contract in contracts:
|
||||
contract.validate_contract()
|
||||
day_ = date_.day
|
||||
if contract.start_date > date_:
|
||||
if contract.start_date > date_:
|
||||
day_ = contract.start_date.day
|
||||
lines_to_create.append({
|
||||
'contract': contract.id,
|
||||
|
@ -684,6 +682,7 @@ class CreateInvoicesFromContract(Wizard):
|
|||
contract_line._process_sale(self.start.invoice_type, self.start.period)
|
||||
return 'end'
|
||||
|
||||
|
||||
class SaleContractFromPartyStart(ModelView):
|
||||
'Create Sale Contract From Parties Start'
|
||||
__name__ = 'sale.create_contract_from_party.start'
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
[tryton]
|
||||
version=5.0.0
|
||||
version=5.0.1
|
||||
depends:
|
||||
party
|
||||
company
|
||||
|
|
Loading…
Reference in New Issue