mirror of
https://bitbucket.org/presik/trytonpsk-farming.git
synced 2023-12-14 05:23:00 +01:00
add filter domain in views tree
This commit is contained in:
parent
700a9d5ac3
commit
653c94baeb
5 changed files with 103 additions and 13 deletions
|
@ -28,6 +28,42 @@ this repository contains the full copyright notices and license terms. -->
|
|||
<field name="view" ref="exportation_dex_view_form"/>
|
||||
<field name="act_window" ref="act_exportation_dex_tree"/>
|
||||
</record>
|
||||
<record model="ir.action.act_window.domain" id="act_dex_form_domain_draft">
|
||||
<field name="name">Draft</field>
|
||||
<field name="sequence" eval="10"/>
|
||||
<field name="domain"
|
||||
eval="[('state', '=', 'draft')]"
|
||||
pyson="1"/>
|
||||
<field name="count" eval="True"/>
|
||||
<field name="act_window" ref="act_exportation_dex_tree"/>
|
||||
</record>
|
||||
<record model="ir.action.act_window.domain" id="act_dex_form_domain_processing">
|
||||
<field name="name">Processing</field>
|
||||
<field name="sequence" eval="20"/>
|
||||
<field name="domain"
|
||||
eval="[('state', '=', 'processing')]"
|
||||
pyson="1"/>
|
||||
<field name="count" eval="True"/>
|
||||
<field name="act_window" ref="act_exportation_dex_tree"/>
|
||||
</record>
|
||||
<record model="ir.action.act_window.domain" id="act_sale_form_domain_finished">
|
||||
<field name="name">Finished</field>
|
||||
<field name="sequence" eval="30"/>
|
||||
<field name="domain"
|
||||
eval="[('state', '=', 'finished')]"
|
||||
pyson="1"/>
|
||||
<field name="count" eval="True"/>
|
||||
<field name="act_window" ref="act_exportation_dex_tree"/>
|
||||
</record>
|
||||
<record model="ir.action.act_window.domain" id="act_sale_form_domain_all">
|
||||
<field name="name">All</field>
|
||||
<field name="sequence" eval="30"/>
|
||||
<field name="domain"
|
||||
eval="[]"
|
||||
pyson="1"/>
|
||||
<field name="count" eval="True"/>
|
||||
<field name="act_window" ref="act_exportation_dex_tree"/>
|
||||
</record>
|
||||
<menuitem parent="currency.menu_currency" sequence="1"
|
||||
action="act_exportation_dex_tree"
|
||||
id="menu_exportation_dex"/>
|
||||
|
|
49
quality.py
49
quality.py
|
@ -107,11 +107,28 @@ class Phytosanitary(ModelSQL, ModelView):
|
|||
issue_date = fields.Date('Issue Date', required=True)
|
||||
stocks = fields.One2Many('farming.phyto.stock', 'phyto', 'Stocks')
|
||||
balance = fields.Function(fields.Integer('Balance'), 'get_balance')
|
||||
state = fields.Selection([
|
||||
('active', 'Active'),
|
||||
('finished', 'Finished'),
|
||||
], 'State', states={'readonly': True}, select=True)
|
||||
|
||||
@classmethod
|
||||
def __setup__(cls):
|
||||
super(Phytosanitary, cls).__setup__()
|
||||
cls._buttons.update({
|
||||
'refresh': {
|
||||
'depends': ['state'],
|
||||
}
|
||||
})
|
||||
|
||||
@staticmethod
|
||||
def default_issue_date():
|
||||
return date.today()
|
||||
|
||||
@staticmethod
|
||||
def default_state():
|
||||
return 'active'
|
||||
|
||||
def get_balance(self, name=None):
|
||||
res = []
|
||||
for stock in self.stocks:
|
||||
|
@ -120,23 +137,29 @@ class Phytosanitary(ModelSQL, ModelView):
|
|||
|
||||
@classmethod
|
||||
def search_rec_name(cls, name, clause):
|
||||
domain = super(Phytosanitary, cls).search_rec_name(name, clause)
|
||||
domain += [('ica', clause[1], clause[2])]
|
||||
print(domain, clause, '----------')
|
||||
return domain
|
||||
# if clause[1].startswith('!') or clause[1].startswith('not '):
|
||||
# bool_op = 'AND'
|
||||
# else:
|
||||
# bool_op = 'OR'
|
||||
# return [
|
||||
# bool_op,
|
||||
# ('number',) + tuple(clause[1:]),
|
||||
# ('ica.party.name',) + tuple(clause[1:]),
|
||||
# ]
|
||||
if clause[1].startswith('!') or clause[1].startswith('not '):
|
||||
bool_op = 'AND'
|
||||
else:
|
||||
bool_op = 'OR'
|
||||
return [
|
||||
bool_op,
|
||||
('number',) + tuple(clause[1:]),
|
||||
('ica.party.name',) + tuple(clause[1:]),
|
||||
]
|
||||
|
||||
def get_rec_name(self, name):
|
||||
return '[' + self.number + '] ' + self.ica.party.name
|
||||
|
||||
@classmethod
|
||||
@ModelView.button
|
||||
def refresh(cls, records):
|
||||
for rec in records:
|
||||
if rec.balance == 0:
|
||||
rec.state = 'finished'
|
||||
else:
|
||||
rec.state = 'active'
|
||||
rec.save()
|
||||
|
||||
|
||||
class PhytoStock(ModelSQL, ModelView):
|
||||
"Phytosanitary Stock"
|
||||
|
|
27
quality.xml
27
quality.xml
|
@ -138,6 +138,33 @@ this repository contains the full copyright notices and license terms. -->
|
|||
<field name="view" ref="farming_phyto_view_form"/>
|
||||
<field name="act_window" ref="act_farming_phyto_tree"/>
|
||||
</record>
|
||||
<record model="ir.action.act_window.domain" id="act_farming_phyto_form_domain_active">
|
||||
<field name="name">Active</field>
|
||||
<field name="sequence" eval="10"/>
|
||||
<field name="domain"
|
||||
eval="[('state', '=', 'active')]"
|
||||
pyson="1"/>
|
||||
<field name="count" eval="True"/>
|
||||
<field name="act_window" ref="act_farming_phyto_tree"/>
|
||||
</record>
|
||||
<record model="ir.action.act_window.domain" id="act_farming_phyto_form_domain_finished">
|
||||
<field name="name">Finished</field>
|
||||
<field name="sequence" eval="20"/>
|
||||
<field name="domain"
|
||||
eval="[('state', '=', 'finished')]"
|
||||
pyson="1"/>
|
||||
<field name="count" eval="True"/>
|
||||
<field name="act_window" ref="act_farming_phyto_tree"/>
|
||||
</record>
|
||||
<record model="ir.action.act_window.domain" id="act_farming_phyto_form_domain_all">
|
||||
<field name="name">All</field>
|
||||
<field name="sequence" eval="30"/>
|
||||
<field name="domain"
|
||||
eval="[]"
|
||||
pyson="1"/>
|
||||
<field name="count" eval="True"/>
|
||||
<field name="act_window" ref="act_farming_phyto_tree"/>
|
||||
</record>
|
||||
<menuitem parent="farming.menu_farming" sequence="2"
|
||||
action="act_farming_phyto_tree" id="menu_farming_phyto_tree"/>
|
||||
|
||||
|
|
|
@ -11,4 +11,7 @@ this repository contains the full copyright notices and license terms. -->
|
|||
<label name="balance"/>
|
||||
<field name="balance"/>
|
||||
<field name="stocks" colspan="4"/>
|
||||
<label name="state"/>
|
||||
<field name="state"/>
|
||||
<button name="refresh" icon="tryton-refresh" string="Refresh"/>
|
||||
</form>
|
||||
|
|
|
@ -6,4 +6,5 @@ this repository contains the full copyright notices and license terms. -->
|
|||
<field name="ica" expand="1"/>
|
||||
<field name="issue_date" expand="1"/>
|
||||
<field name="balance" expand="1"/>
|
||||
<button name="refresh" string="Refresh" tree_invisible="1"/>
|
||||
</tree>
|
||||
|
|
Loading…
Reference in a new issue