
from odoo import models, fields, api
from odoo.exceptions import UserError
from datetime import date, timedelta


class SOS_action_plan_Summary_Week(models.Model):
    _name = 'sos_action_plan_summary_week_wise'
    _description = 'Action Plan Summary Week Wise'

    sales_executive = fields.Many2one('res.users', string='Sales Executive')
    action_type = fields.Selection([
        ('Meeting', 'Meeting'),
        ('Demo', 'Demo'),
        ('Discussion', 'Discussion'),
        ('Visit', 'Direct Visit'),
        ('Negotiation', 'Negotiation'),
        ('Validation', 'Validation'),
        ('Proposal', 'Proposal'),
        ('Email/Call/Video Call', 'Email/Call/Video Call')
    ], string='Action Type')
    action = fields.Selection(
            [
                ('Generate More Suspects', 'Generate More Suspects'), 
                ('Suspect to Prospects', 'Suspect to Prospects'), 
                ('Prospect to Engaged', 'Prospect to Engaged'),  
                ('Engaged to Negotiation', 'Engaged to Negotiation'),
                ('Negotiation to Order', 'Negotiation to Order')        
            ],
            string="Action Category",requierd=True)
    count = fields.Integer(string="Count")
    entered_date = fields.Date(string="Date")
    week_number = fields.Char(string="Week")
    
class SOS_action_plan_Summary_Month(models.Model):
    _name = 'sos_action_plan_summary_month_wise'
    _description = 'Action Plan Summary Month Wise'

    sales_executive = fields.Many2one('res.users', string='Sales Executive')
    action_type = fields.Selection([
        ('Meeting', 'Meeting'),
        ('Demo', 'Demo'),
        ('Discussion', 'Discussion'),
        ('Visit', 'Direct Visit'),
        ('Negotiation', 'Negotiation'),
        ('Validation', 'Validation'),
        ('Proposal', 'Proposal'),
        ('Email/Call/Video Call', 'Email/Call/Video Call')
    ], string='Action Type')
    count = fields.Integer(string="Count")
    action = fields.Selection(
            [
                ('Generate More Suspects', 'Generate More Suspects'), 
                ('Suspect to Prospects', 'Suspect to Prospects'), 
                ('Prospect to Engaged', 'Prospect to Engaged'),  
                ('Engaged to Negotiation', 'Engaged to Negotiation'),
                ('Negotiation to Order', 'Negotiation to Order')        
            ],
            string="Action Category",requierd=True)
    entered_date = fields.Date(string="Date")
    month_number = fields.Char(string="Month")

class SOS_action_plan_Summary_Quarter(models.Model):
    _name = 'sos_action_plan_summary_quarter_wise'
    _description = 'Action Plan Summary Quarter Wise'

    sales_executive = fields.Many2one('res.users', string='Sales Executive')
    action_type = fields.Selection([
        ('Meeting', 'Meeting'),
        ('Demo', 'Demo'),
        ('Discussion', 'Discussion'),
        ('Visit', 'Direct Visit'),
        ('Negotiation', 'Negotiation'),
        ('Validation', 'Validation'),
        ('Proposal', 'Proposal'),
        ('Email/Call/Video Call', 'Email/Call/Video Call')
    ], string='Action Type')
    count = fields.Integer(string="Count")
    action = fields.Selection(
            [
                ('Generate More Suspects', 'Generate More Suspects'), 
                ('Suspect to Prospects', 'Suspect to Prospects'), 
                ('Prospect to Engaged', 'Prospect to Engaged'),  
                ('Engaged to Negotiation', 'Engaged to Negotiation'),
                ('Negotiation to Order', 'Negotiation to Order')        
            ],
            string="Action Category",requierd=True)
    entered_date = fields.Date(string="Date")
    quarter_number = fields.Char(string="Quarter")

class SOS_action_plan_Summary_Year(models.Model):
    _name = 'sos_action_plan_summary_year_wise'
    _description = 'Action Plan Summary Year Wise'

    sales_executive = fields.Many2one('res.users', string='Sales Executive')
    action_type = fields.Selection([
        ('Meeting', 'Meeting'),
        ('Demo', 'Demo'),
        ('Discussion', 'Discussion'),
        ('Visit', 'Direct Visit'),
        ('Negotiation', 'Negotiation'),
        ('Validation', 'Validation'),
        ('Proposal', 'Proposal'),
        ('Email/Call/Video Call', 'Email/Call/Video Call')
    ], string='Action Type')
    action = fields.Selection(
            [
                ('Generate More Suspects', 'Generate More Suspects'), 
                ('Suspect to Prospects', 'Suspect to Prospects'), 
                ('Prospect to Engaged', 'Prospect to Engaged'),  
                ('Engaged to Negotiation', 'Engaged to Negotiation'),
                ('Negotiation to Order', 'Negotiation to Order')        
            ],
            string="Action Category",requierd=True)
    count = fields.Integer(string="Count")
    entered_date = fields.Date(string="Date")
    year = fields.Char(string="Year")