diff --git a/subscription_package/__manifest__.py b/subscription_package/__manifest__.py index 0f139349e..ef853a7c5 100644 --- a/subscription_package/__manifest__.py +++ b/subscription_package/__manifest__.py @@ -22,7 +22,7 @@ { 'name': 'Subscription Management For Community Odoo 16', - 'version': '16.0.1.1.1', + 'version': '16.0.2.1.1', 'summary': 'Subscription Package Management Module For Odoo16 Community', 'description': 'Subscription Package Management Module For Odoo16 Community', 'category': 'Sales', diff --git a/subscription_package/models/sale_order.py b/subscription_package/models/sale_order.py index ad6b854e2..93e68339c 100644 --- a/subscription_package/models/sale_order.py +++ b/subscription_package/models/sale_order.py @@ -63,16 +63,28 @@ class SaleOrder(models.Model): 'product_qty': line.product_uom_qty, 'unit_price': line.price_unit}] this_products_line.append(rec_list) - self.env['subscription.package'].create( - { - 'sale_order': self.id, - 'reference_code': self.env['ir.sequence'].next_by_code('sequence.reference.code'), - 'start_date': fields.Date.today(), - 'stage_id': self.env.ref('subscription_package.draft_stage').id, - 'partner_id': self.partner_id.id, - 'plan_id': line.product_id.subscription_plan_id.id, - 'product_line_ids': this_products_line - }) + if line.product_id.subscription_plan_id.subscription_state == 'draft': + self.env['subscription.package'].create( + { + 'sale_order': self.id, + 'reference_code': self.env['ir.sequence'].next_by_code('sequence.reference.code'), + 'start_date': fields.Date.today(), + 'stage_id': self.env.ref('subscription_package.draft_stage').id, + 'partner_id': self.partner_id.id, + 'plan_id': line.product_id.subscription_plan_id.id, + 'product_line_ids': this_products_line + }) + else: + self.env['subscription.package'].create( + { + 'sale_order': self.id, + 'reference_code': self.env['ir.sequence'].next_by_code('sequence.reference.code'), + 'start_date': fields.Date.today(), + 'stage_id': self.env.ref('subscription_package.progress_stage').id, + 'partner_id': self.partner_id.id, + 'plan_id': line.product_id.subscription_plan_id.id, + 'product_line_ids': this_products_line + }) return super()._action_confirm() diff --git a/subscription_package/models/subscription_plan.py b/subscription_package/models/subscription_plan.py index 3b83f179e..3d229438d 100644 --- a/subscription_package/models/subscription_plan.py +++ b/subscription_package/models/subscription_plan.py @@ -59,6 +59,9 @@ class SubscriptionPlan(models.Model): compute='_compute_product_count') subscription_count = fields.Integer(string='Subscriptions', compute='_compute_subscription_count') + subscription_state = fields.Selection([('draft', 'Draft'), + ('in_progress', 'In Progress')], + default='in_progress') @api.depends('product_count') def _compute_product_count(self): diff --git a/subscription_package/static/description/assets/screenshots/SUB1.png b/subscription_package/static/description/assets/screenshots/SUB1.png index 291f0ab5c..ef9091e8d 100644 Binary files a/subscription_package/static/description/assets/screenshots/SUB1.png and b/subscription_package/static/description/assets/screenshots/SUB1.png differ diff --git a/subscription_package/static/description/index.html b/subscription_package/static/description/index.html index 15c74d5b0..16ebf0bc4 100644 --- a/subscription_package/static/description/index.html +++ b/subscription_package/static/description/index.html @@ -9,11 +9,11 @@ class="mr-2"> Community - - - - - + + + + + @@ -203,6 +203,11 @@