Update subscriber state when authentication is approved.
Change-Id: Ia57ae7ef622afcf9feb13eba24a29a5a2aba24b2
diff --git a/xos/synchronizer/model_policies/model_policy_hippieossserviceinstance.py b/xos/synchronizer/model_policies/model_policy_hippieossserviceinstance.py
index 255a3d1..2a86fac 100644
--- a/xos/synchronizer/model_policies/model_policy_hippieossserviceinstance.py
+++ b/xos/synchronizer/model_policies/model_policy_hippieossserviceinstance.py
@@ -24,7 +24,7 @@
self.logger.debug("MODEL_POLICY: handle_create for HippieOSSServiceInstance %s " % si.id)
self.handle_update(si)
- def update_and_save_subscriber(self, subscriber, si):
+ def update_and_save_subscriber(self, subscriber, si, update_timestamp=False):
if si.authentication_state == "STARTED":
subscriber.status = "awaiting-auth"
elif si.authentication_state == "REQUESTED":
@@ -38,13 +38,13 @@
if si.c_tag:
subscriber.c_tag = si.c_tag
- subscriber.save(always_update_timestamp=False)
+ subscriber.save(always_update_timestamp=update_timestamp)
def create_subscriber(self, si):
subscriber = RCORDSubscriber()
subscriber.onu_device = si.serial_number
subscriber.status == "awaiting-auth"
-
+
return subscriber
def handle_update(self, si):
@@ -100,22 +100,10 @@
self.logger.debug("MODEL_POLICY: creating subscriber")
subscriber = self.create_subscriber(si)
self.update_and_save_subscriber(subscriber, si)
- # if the subscriber is there
+ # if the subscriber is there, update its state
elif subscriber:
- # and create_on_discovery is false
- if not si.owner.leaf_model.create_on_discovery:
- # and in status pre-provisioned, do nothing
- if subscriber.status == "pre-provisioned":
- self.logger.debug("MODEL_POLICY: not updating subscriber status as original status is 'pre-provisioned'")
- return
- # else update the status
- else:
- self.logger.debug("MODEL_POLICY: updating subscriber status as original status is not 'pre-provisioned'")
- self.update_and_save_subscriber(subscriber, si)
- # if create_on_discovery is true
- else:
- self.logger.debug("MODEL_POLICY: updating subscriber status")
- self.update_and_save_subscriber(subscriber, si)
+ self.logger.debug("MODEL_POLICY: updating subscriber status")
+ self.update_and_save_subscriber(subscriber, si, update_timestamp=True)
def handle_delete(self, si):
pass