Minor fixes

This commit is contained in:
Oscar Alvarez 2020-12-23 09:31:58 -05:00
parent d2b8f83327
commit ed4f1c97a1
3 changed files with 79 additions and 51 deletions

29
.gitignore vendored Normal file
View File

@ -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__

View File

@ -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'

View File

@ -1,5 +1,5 @@
[tryton]
version=5.0.0
version=5.0.1
depends:
party
company