diff options
Diffstat (limited to 'addons')
| -rw-r--r-- | addons/fleet/__manifest__.py | 2 | ||||
| -rw-r--r-- | addons/fleet/data/mail_data.xml | 10 | ||||
| -rw-r--r-- | addons/fleet/models/fleet_vehicle_cost.py | 16 | ||||
| -rw-r--r-- | addons/fleet/security/ir.model.access.csv | 1 | ||||
| -rw-r--r-- | addons/fleet/views/fleet_vehicle_cost_views.xml | 10 | ||||
| -rw-r--r-- | addons/fleet/views/fleet_vehicle_views.xml | 2 | ||||
| -rw-r--r-- | addons/fleet/views/mail_activity_views.xml | 17 |
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', '<', 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', '>', 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 |
