[IMP] Improve ospp_slide modules

university-opentkr-16.0
Oliver Yuan 2023-04-17 20:36:48 +08:00
parent 9969c573e6
commit 7344869e5d
3 changed files with 39 additions and 1 deletions

View File

@ -27,6 +27,7 @@
'security/security_groups.xml',
'security/ir.model.access.csv',
'data/ir_sequence_data.xml',
'data/ir_cron_data.xml',
'views/views.xml',
'views/templates.xml',
],

View File

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo><data noupdate="1">
<record forcecreate="True" id="ir_cron_update_slide_channel" model="ir.cron">
<field name="name">Update Slide Channel</field>
<field name="model_id" ref="website_slides.model_slide_channel"/>
<field name="state">code</field>
<field name="code">model.update_slide_channel()</field>
<field name="active" eval="False"/>
<field name="user_id" ref="base.user_root"/>
<field name="interval_number">1</field>
<field name="interval_type">hours</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False"/>
</record>
</data></odoo>

View File

@ -24,7 +24,29 @@ class SlideChannel(models.Model):
shared_instance_demo_data = fields.Boolean('Shared Instance Demo Data', default=True)
excluded_instance_demo_data = fields.Boolean('Excluded Instance Demo Data', default=False)
# @api.depends('slide_partner_ids')
@api.model
def update_slide_channel(self):
channel_obj = self.env['slide.channel'].sudo()
instance_obj = self.env['channel.instance'].sudo()
channel_ids = channel_obj.search([('instance_arrangement', 'not in', ['no_need']), ('instance_base', '!=', False)])
for channel_id in channel_ids:
channel_id.action_generate_instance()
self.env.cr.commit()
instance_ids = instance_obj.search([('instance_created', '!=', True)])
for instance_id in instance_ids:
instance_id.action_generate_instance()
self.env.cr.commit()
instance_ids = instance_obj.search([('instance_created', '=', True), ('is_notified', '!=', True)])
for instance_id in instance_ids:
instance_id.action_post_instance()
return True
def action_generate_instance(self):
instance_obj = self.env['channel.instance'].sudo()
partner_obj = self.env['slide.channel.partner'].sudo()