summaryrefslogtreecommitdiff
path: root/addons
diff options
context:
space:
mode:
Diffstat (limited to 'addons')
-rw-r--r--addons/fleet/__manifest__.py2
-rw-r--r--addons/fleet/data/mail_data.xml10
-rw-r--r--addons/fleet/models/fleet_vehicle_cost.py16
-rw-r--r--addons/fleet/security/ir.model.access.csv1
-rw-r--r--addons/fleet/views/fleet_vehicle_cost_views.xml10
-rw-r--r--addons/fleet/views/fleet_vehicle_views.xml2
-rw-r--r--addons/fleet/views/mail_activity_views.xml17
7 files changed, 46 insertions, 12 deletions
diff --git a/addons/fleet/__manifest__.py b/addons/fleet/__manifest__.py
index 623f655e995..646e28b1294 100644
--- a/addons/fleet/__manifest__.py
+++ b/addons/fleet/__manifest__.py
@@ -35,8 +35,10 @@ Main Features
'views/fleet_vehicle_views.xml',
'views/fleet_vehicle_cost_views.xml',
'views/fleet_board_view.xml',
+ 'views/mail_activity_views.xml',
'data/fleet_cars_data.xml',
'data/fleet_data.xml',
+ 'data/mail_data.xml',
],
'demo': ['data/fleet_demo.xml'],
diff --git a/addons/fleet/data/mail_data.xml b/addons/fleet/data/mail_data.xml
new file mode 100644
index 00000000000..a8098b50f6c
--- /dev/null
+++ b/addons/fleet/data/mail_data.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<odoo><data noupdate="1">
+
+ <record id="mail_act_fleet_contract_to_renew" model="mail.activity.type">
+ <field name="name">Contract to Renew</field>
+ <field name="icon">fa-car</field>
+ <field name="res_model_id" ref="fleet.model_fleet_vehicle_log_contract"/>
+ </record>
+
+</data></odoo>
diff --git a/addons/fleet/models/fleet_vehicle_cost.py b/addons/fleet/models/fleet_vehicle_cost.py
index 76e3b713b2a..b8b3602f851 100644
--- a/addons/fleet/models/fleet_vehicle_cost.py
+++ b/addons/fleet/models/fleet_vehicle_cost.py
@@ -71,7 +71,7 @@ class FleetVehicleCost(models.Model):
class FleetVehicleLogContract(models.Model):
- _inherit = ['mail.thread']
+ _inherit = ['mail.thread', 'mail.activity.mixin']
_inherits = {'fleet.vehicle.cost': 'cost_id'}
_name = 'fleet.vehicle.log.contract'
_description = 'Contract information on a vehicle'
@@ -263,17 +263,12 @@ class FleetVehicleLogContract(models.Model):
date_today = fields.Date.from_string(fields.Date.today())
in_fifteen_days = fields.Date.to_string(date_today + relativedelta(days=+15))
nearly_expired_contracts = self.search([('state', '=', 'open'), ('expiration_date', '<', in_fifteen_days)])
- res = {}
- for contract in nearly_expired_contracts:
- if contract.vehicle_id.id in res:
- res[contract.vehicle_id.id] += 1
- else:
- res[contract.vehicle_id.id] = 1
- Vehicle = self.env['fleet.vehicle']
- for vehicle, value in res.items():
- Vehicle.browse(vehicle).message_post(body=_('%s contract(s) will expire soon and should be renewed and/or closed!') % value)
nearly_expired_contracts.write({'state': 'diesoon'})
+ for contract in nearly_expired_contracts.filtered(lambda contract: contract.user_id):
+ contract.activity_schedule(
+ 'fleet.mail_act_fleet_contract_to_renew', contract.expiration_date,
+ user_id=contract.user_id.id)
expired_contracts = self.search([('state', '!=', 'expired'), ('expiration_date', '<',fields.Date.today() )])
expired_contracts.write({'state': 'expired'})
@@ -284,7 +279,6 @@ class FleetVehicleLogContract(models.Model):
now_running_contracts = self.search([('state', '=', 'futur'), ('start_date', '<=', fields.Date.today())])
now_running_contracts.write({'state': 'open'})
- @api.model
def run_scheduler(self):
self.scheduler_manage_auto_costs()
self.scheduler_manage_contract_expiration()
diff --git a/addons/fleet/security/ir.model.access.csv b/addons/fleet/security/ir.model.access.csv
index bc2901071ad..78090d174e0 100644
--- a/addons/fleet/security/ir.model.access.csv
+++ b/addons/fleet/security/ir.model.access.csv
@@ -19,3 +19,4 @@ fleet_vehicle_log_services_access_right,fleet_vehicle_log_services_access_right,
fleet_vehicle_log_contract_access_right,fleet_vehicle_log_contract_access_right,model_fleet_vehicle_log_contract,fleet_group_manager,1,1,1,1
fleet_service_type_access_right,fleet_service_type_access_right,model_fleet_service_type,fleet_group_manager,1,1,1,1
access_fleet_vehicle_cost,access_fleet_vehicle_cost,model_fleet_vehicle_cost,fleet_group_manager,1,1,1,1
+access_mail_activity_type_fleet_manager,mail.activity.type.fleet.manager,mail.model_mail_activity_type,fleet.fleet_group_manager,1,1,1,1
diff --git a/addons/fleet/views/fleet_vehicle_cost_views.xml b/addons/fleet/views/fleet_vehicle_cost_views.xml
index 72c3f17065a..e62617e98b3 100644
--- a/addons/fleet/views/fleet_vehicle_cost_views.xml
+++ b/addons/fleet/views/fleet_vehicle_cost_views.xml
@@ -251,6 +251,7 @@
</sheet>
<div class="oe_chatter">
<field name="message_follower_ids" widget="mail_followers"/>
+ <field name="activity_ids" widget="mail_activity"/>
<field name="message_ids" widget="mail_thread" options='{"thread_level": 1}'/>
</div>
</form>
@@ -337,6 +338,15 @@
<filter string="In Progress" name="open" domain="[('state', '=', 'open')]"/>
<filter string="Expired" name="expired" domain="[('state', '=', 'expired')]"/>
<filter string="Expiring Soon" name="expire_soon" domain="[('state', '=', 'diesoon')]"/>
+ <separator/>
+ <filter string="Late Activities" name="activities_overdue"
+ domain="[('activity_ids.date_deadline', '&lt;', context_today().strftime('%Y-%m-%d'))]"
+ help="Show all records which has next action date is before today"/>
+ <filter string="Today Activities" name="activities_today"
+ domain="[('activity_ids.date_deadline', '=', context_today().strftime('%Y-%m-%d'))]"/>
+ <filter string="Future Activities" name="activities_upcoming_all"
+ domain="[('activity_ids.date_deadline', '&gt;', context_today().strftime('%Y-%m-%d'))
+ ]"/>
<group expand="0" string="Group By">
<filter string="Vehicle" name="vehicle" context="{'group_by':'vehicle_id'}"/>
</group>
diff --git a/addons/fleet/views/fleet_vehicle_views.xml b/addons/fleet/views/fleet_vehicle_views.xml
index 6ae5fc92316..0dc0463c778 100644
--- a/addons/fleet/views/fleet_vehicle_views.xml
+++ b/addons/fleet/views/fleet_vehicle_views.xml
@@ -434,6 +434,6 @@
</field>
</record>
- <menuitem id="fleet_vehicle_tag_menu" parent="fleet_configuration" action="fleet_vehicle_tag_action" sequence="112"/>
+ <menuitem id="fleet_vehicle_tag_menu" parent="fleet_configuration" action="fleet_vehicle_tag_action" sequence="89"/>
</odoo>
diff --git a/addons/fleet/views/mail_activity_views.xml b/addons/fleet/views/mail_activity_views.xml
new file mode 100644
index 00000000000..98819009f1d
--- /dev/null
+++ b/addons/fleet/views/mail_activity_views.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<odoo>
+ <!-- Activity types config -->
+ <record id="mail_activity_type_action_config_fleet" model="ir.actions.act_window">
+ <field name="name">Activity Types</field>
+ <field name="res_model">mail.activity.type</field>
+ <field name="view_type">form</field>
+ <field name="view_mode">tree,form</field>
+ <field name="domain">['|', ('res_model_id', '=', False), ('res_model_id.model', '=', 'fleet.vehicle.log.contract')]</field>
+ <field name="context">{'default_res_model': 'fleet.vehicle.log.contract'}</field>
+ </record>
+ <menuitem id="fleet_menu_config_activity_type"
+ action="mail_activity_type_action_config_fleet"
+ parent="fleet_configuration"
+ sequence="99"
+ groups="base.group_no_one"/>
+</odoo> \ No newline at end of file