def delete(self, *arg, **kw): from middleware import get_current_user user = get_current_user() if user is not None: self.last_user_id = user.id cls.save(self) return old_delete(self, *arg, **kw)
def post_handler(sender, **kwargs): user = get_current_user() item = kwargs.get('instance') if getattr(item, '_register_owner', None) and user: try: p = Possession(item=item, owner=user) p.save() except: pass
def decorated(*args, **kwargs): key = key_func(*args, **kwargs) user = get_current_user() key = key + '_staff' + ('Y' if (user and user.is_staff) else 'N') cached = cache.get(key, not_found) if cached is not not_found: return cached ret = f(*args, **kwargs) cache.set(key, ret) return ret
def pre_handler(sender, **kwargs): user = get_current_user() item = kwargs.get('instance') if sender in FORBBIDEN_MODELS: return None if not user or not user.is_active: return None if getattr(item, 'id', None): return None if hasattr(item, 'owner_id'): item.owner = user else: item._register_owner = True
def get_queryset(self): """ Filter the default queryset by the tenant ID found in the local thread. It requires 'middleware.GlobalRequestMiddleware' to be activated in settings.py """ qs = super(TenantFilterManager, self).get_queryset() user = get_current_user() if user and user.is_authenticated(): tenant_user_obj = getattr( user, TENANT_FILTER['TENANT_USER_MODEL'].split('.')[-1].lower()) tenant_obj = getattr( tenant_user_obj, TENANT_FILTER['TENANT_MODEL'].split('.')[-1].lower()) filter_dict = {TENANT_FILTER['TENANT_FK_NAME']: tenant_obj.pk} qs = qs.filter(**filter_dict) return qs
def get_query_set(self): current_user = get_current_user() if current_user.is_superuser or current_user.is_anonymous(): return super(QueueManager, self).get_query_set() else: return super(QueueManager, self).get_query_set().filter(users__in=[current_user])