blob: 0973b8c1469e9f08072fbf8ce3221372ee39c28c [file] [log] [blame]
Tony Macka9b626f2015-03-29 08:55:39 -04001import os
2import base64
3import datetime
4from django.db.models import F, Q
5from xos.config import Config
Sapan Bhatia16be1432016-01-14 11:41:38 -05006from synchronizers.base.openstacksyncstep import OpenStackSyncStep
Tony Macka9b626f2015-03-29 08:55:39 -04007from core.models.user import User
Scott Baker3586c552016-01-14 15:30:20 -08008from xos.logger import observer_logger as logger
Tony Macka9b626f2015-03-29 08:55:39 -04009
10class SyncRoles(OpenStackSyncStep):
11 provides=[User]
12 requested_interval=0
13 observes=User
14
15 def fetch_pending(self, deleted):
16 if (deleted):
17 # users marked as deleted
18 return User.deleted_objects.all()
19 else:
20 # disabled users that haven't been updated in over a week
21 one_week_ago = datetime.datetime.now() - datetime.timedelta(days=7)
22 return User.objects.filter(is_active=False, updated__gt=one_week_ago)
Sapan Bhatiac239f672015-08-19 12:20:47 -040023
Tony Macka9b626f2015-03-29 08:55:39 -040024 def sync_record(self, user):
25 user.delete()