[ADD]show name of the contract warning in vehicle kanban view
bzr revid: csn@openerp.com-20121022081833-vybzaxflneqq0h1s
This commit is contained in:
parent
e9bfbdd715
commit
17aca9c95f
|
@ -392,6 +392,48 @@ class fleet_vehicle(osv.Model):
|
|||
res = self.get_next_contract_reminder_fnc(cr, uid, ids, context=context)
|
||||
return res
|
||||
|
||||
def get_contract_renewal_names(self,cr,uid,ids,function_name,args,context=None):
|
||||
if not ids:
|
||||
return dict([])
|
||||
reads = self.browse(cr,uid,ids,context=context)
|
||||
res=[]
|
||||
|
||||
for record in reads:
|
||||
ids = self.pool.get('fleet.vehicle.log.contract').search(cr,uid,[('vehicle_id','=',record.id),('state','=','open')],limit=1,order='expiration_date asc')
|
||||
if len(ids) > 0:
|
||||
res.append((record.id,self.pool.get('fleet.vehicle.log.contract').browse(cr,uid,ids[0],context=context).cost_type.name))
|
||||
return dict(res)
|
||||
|
||||
def get_total_contract_reminder(self,cr,uid,ids,prop,unknow_none,context=None):
|
||||
if context is None:
|
||||
context={}
|
||||
if not ids:
|
||||
return dict([])
|
||||
reads = self.browse(cr,uid,ids,context=context)
|
||||
res=[]
|
||||
|
||||
for record in reads:
|
||||
due_soon=0
|
||||
if (record.log_contracts):
|
||||
for element in record.log_contracts:
|
||||
if (element.state=='open' and element.expiration_date):
|
||||
current_date_str=time.strftime('%Y-%m-%d')
|
||||
due_time_str=element.expiration_date
|
||||
|
||||
current_date=self.str_to_date(current_date_str)
|
||||
due_time=self.str_to_date(due_time_str)
|
||||
|
||||
diff_time=int((due_time-current_date).days)
|
||||
if diff_time<15:
|
||||
due_soon = due_soon +1;
|
||||
if due_soon>0:
|
||||
due_soon=due_soon-1
|
||||
res.append((record.id,due_soon))
|
||||
else:
|
||||
res.append((record.id,0))
|
||||
|
||||
return dict(res)
|
||||
|
||||
def run_scheduler(self,cr,uid,context=None):
|
||||
ids = self.pool.get('fleet.vehicle').search(cr, uid, [], offset=0, limit=None, order=None,context=None, count=False)
|
||||
nexts = self.get_next_contract_reminder_fnc(cr,uid,ids,context=context)
|
||||
|
@ -444,7 +486,9 @@ class fleet_vehicle(osv.Model):
|
|||
|
||||
'contract_renewal_due_soon' : fields.function(get_next_contract_reminder,fnct_search=_search_contract_renewal_due_soon,type="integer",string='Contracts to renew',store=False),
|
||||
'contract_renewal_overdue' : fields.function(get_overdue_contract_reminder,fnct_search=_search_get_overdue_contract_reminder,type="integer",string='Contracts Overdued',store=False),
|
||||
|
||||
'contract_renewal_name' : fields.function(get_contract_renewal_names,type="text",string='Name of contract to renew soon',store=False),
|
||||
'contract_renewal_total' : fields.function(get_total_contract_reminder,type="integer",string='Total of contracts due or overdue minus one',store=False),
|
||||
|
||||
'car_value': fields.float('Car Value', help='Value of the bought vehicle'),
|
||||
#'leasing_value': fields.float('Leasing value',help='Value of the leasing(Monthly, usually'),
|
||||
}
|
||||
|
@ -811,6 +855,8 @@ class fleet_vehicle_log_contract(osv.Model):
|
|||
name = str(record.vehicle_id.name)
|
||||
if record.cost_type.name:
|
||||
name = name+ ' / '+ str(record.cost_type.name)
|
||||
if record.date:
|
||||
name = name+ ' / '+ record.date
|
||||
res.append((record.id, name))
|
||||
return res
|
||||
|
||||
|
@ -896,6 +942,27 @@ class fleet_vehicle_log_contract(osv.Model):
|
|||
# res.append((record.id,-1))
|
||||
return dict(res)
|
||||
|
||||
def act_renew_contract(self,cr,uid,ids,context=None):
|
||||
contracts = self.browse(cr,uid,ids,context=context)
|
||||
res = self.pool.get('ir.actions.act_window').for_xml_id(cr, uid ,'fleet','act_renew_contract', context)
|
||||
for element in contracts:
|
||||
print '--------------------------'
|
||||
print element.vehicle_id.id
|
||||
print element.cost_type.id
|
||||
print element.amount
|
||||
print element.odometer
|
||||
print element.insurer_id
|
||||
res['context'] = {
|
||||
'default_vehicle_id': element.vehicle_id.id,
|
||||
'default_cost_type': element.cost_type.id,
|
||||
'default_amount': element.amount,
|
||||
'default_odometer': element.odometer,
|
||||
#'default_insurer_id': element.insurer_id,
|
||||
}
|
||||
#res['domain']=[('vehicle_id','=', ids[0])]
|
||||
return res
|
||||
#return None
|
||||
|
||||
_name = 'fleet.vehicle.log.contract'
|
||||
_order='state,expiration_date'
|
||||
_columns = {
|
||||
|
|
|
@ -243,6 +243,7 @@
|
|||
<field name="odometer" />
|
||||
<field name="contract_renewal_due_soon" invisible="1"/>
|
||||
<field name="contract_renewal_overdue" invisible="1" />
|
||||
<field name="contract_renewal_total" invisible="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -277,6 +278,9 @@
|
|||
<field name="tag_ids" />
|
||||
<field name="contract_renewal_due_soon" />
|
||||
<field name="contract_renewal_overdue" />
|
||||
<field name="contract_renewal_name" />
|
||||
<field name="contract_renewal_total" />
|
||||
|
||||
<templates>
|
||||
<t t-name="kanban-box">
|
||||
<div class="oe_kanban_vignette oe_semantic_html_override">
|
||||
|
@ -292,20 +296,20 @@
|
|||
</h4>
|
||||
<t t-if="record.contract_renewal_due_soon.raw_value > 0 and record.contract_renewal_overdue.raw_value lte 0">
|
||||
<a data-type="object" data-name="act_show_log_contract" href="#" class="oe_kanban_action oe_kanban_action_a">
|
||||
<span class="oe_kanban_button oe_kanban_color_3">Contract Renewal</span>
|
||||
<span class="oe_kanban_button oe_kanban_color_3"><field name="contract_renewal_name" />
|
||||
<t t-if="record.contract_renewal_total.raw_value > 0"> and <field name="contract_renewal_total" /> other(s) </t>
|
||||
</span>
|
||||
</a>
|
||||
</t>
|
||||
|
||||
<t t-if="record.contract_renewal_overdue.raw_value > 0">
|
||||
<a data-type="object" data-name="act_show_log_contract" href="#" class="oe_kanban_action oe_kanban_action_a">
|
||||
<span class="oe_kanban_button oe_kanban_color_2">Contract Renewal</span>
|
||||
<span class="oe_kanban_button oe_kanban_color_2"><field name="contract_renewal_name" />
|
||||
<t t-if="record.contract_renewal_total.raw_value > 0"> and <field name="contract_renewal_total" /> other(s) </t>
|
||||
</span>
|
||||
</a>
|
||||
</t>
|
||||
<div class="oe_kanban_partner_categories">
|
||||
<span class="oe_kanban_list_many2many">
|
||||
<div modifiers="{}" name="tag_ids" class="oe_form_field oe_tags" model="fleet.vehicle.tag" t-att-data="record.tag_ids.raw_value" />
|
||||
</span>
|
||||
</div>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
<t t-if="record.driver.raw_value"><field name="driver"/></t>
|
||||
|
@ -316,6 +320,12 @@
|
|||
|
||||
</ul>
|
||||
|
||||
<div class="oe_kanban_partner_categories">
|
||||
<span class="oe_kanban_list_many2many">
|
||||
<div modifiers="{}" name="tag_ids" class="oe_form_field oe_tags" model="fleet.vehicle.tag" t-att-data="record.tag_ids.raw_value" />
|
||||
</span>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</t>
|
||||
|
@ -391,6 +401,8 @@
|
|||
<menuitem name="Vehicles" parent="menu_root" id="fleet_vehicles" sequence="2" />
|
||||
<menuitem action="fleet_vehicle_act" parent="fleet_vehicles" id="fleet_vehicle_menu" />
|
||||
|
||||
|
||||
|
||||
<record model='ir.ui.view' id='fleet_vehicle_log_contract_form'>
|
||||
<field name="name">fleet.vehicle.log_contract.form</field>
|
||||
<field name="model">fleet.vehicle.log.contract</field>
|
||||
|
@ -399,6 +411,7 @@
|
|||
<header>
|
||||
<button modifiers="{'invisible': [['state', 'not in', ['open']]]}" name="contract_close" states="open" type="object" class="oe_highlight" string="Terminate Contract"/>
|
||||
<button modifiers="{'invisible': [['state', 'not in', ['closed']]]}" name="contract_open" states="closed" type="object" class="oe_highlight" string="Set Contract In Progress"/>
|
||||
<button class="oe_highlight" name="act_renew_contract" type="object" string="Renew Contract" help="Create a new contract automatically with all the same informations except for the date that will start at the end of current contract" />
|
||||
<field name="state" widget="statusbar" />
|
||||
</header>
|
||||
<sheet>
|
||||
|
@ -434,17 +447,7 @@
|
|||
<field name="cost_type" domain="[('category','=','service')]"/>
|
||||
<field name="amount" sum="Price" string="Indicative Cost" />
|
||||
</tree>
|
||||
<!--<form string="Costs" version="7.0">
|
||||
<sheet>
|
||||
<group>
|
||||
<field name="cost_type" />
|
||||
<field name="amount" />
|
||||
</group>
|
||||
</sheet>
|
||||
</form>-->
|
||||
</field>
|
||||
|
||||
|
||||
</group>
|
||||
<group string="Terms and Conditions">
|
||||
<field name="notes" nolabel="1" placeholder="Write here all other information relative to this contract" />
|
||||
|
@ -454,6 +457,17 @@
|
|||
</field>
|
||||
</record>
|
||||
|
||||
<act_window
|
||||
|
||||
id="act_renew_contract"
|
||||
name="Renew Contract"
|
||||
res_model="fleet.vehicle.log.contract"
|
||||
src_model="fleet.vehicle.log.contract"
|
||||
view_mode="form"
|
||||
view_type="form"
|
||||
/>
|
||||
|
||||
|
||||
<record model='ir.ui.view' id='fleet_vehicle_log_contract_tree'>
|
||||
<field name="name">fleet.vehicle.log.contract.tree</field>
|
||||
<field name="model">fleet.vehicle.log.contract</field>
|
||||
|
@ -467,7 +481,6 @@
|
|||
<field name="warning_date" invisible="1"/>
|
||||
<field name="insurer_id" />
|
||||
<field name="amount"/>
|
||||
|
||||
<field name="notes" />
|
||||
</tree>
|
||||
</field>
|
||||
|
|
Loading…
Reference in New Issue