コード例 #1
0
ファイル: forms.py プロジェクト: santosh02/towel
    def save(self, commit=True):
        Client = client_model()
        attr = Client.__name__.lower()
        try:
            field = self.instance._meta.get_field(attr)
        except FieldDoesNotExist:
            field = None
        if (field and field.rel and field.rel.to
                and issubclass(field.rel.to, Client)):
            setattr(self.instance, attr, getattr(self.request.access, attr))

        return super(ModelForm, self).save(commit=commit)
コード例 #2
0
    def get_user(self, user_id):
        Access = access_model()
        Client = client_model()
        try:
            access = Access.objects.select_related(
                "user",
                Client.__name__.lower(),
            ).get(user=user_id)

            # Ensure reverse accesses do not needlessly query the DB again.
            # Maybe Django already does that for us already... whatever.
            setattr(access.user, User.access.cache_name, access)
            return access.user
        except Access.DoesNotExist:
            pass

        try:
            # Fall back to raw user access
            return User.objects.get(id=user_id)
        except User.DoesNotExist:
            pass

        return None
コード例 #3
0
ファイル: auth.py プロジェクト: pombredanne/towel
    def get_user(self, user_id):
        Access = access_model()
        Client = client_model()
        try:
            access = Access.objects.select_related(
                'user',
                Client.__name__.lower(),
                ).get(user=user_id)

            # Ensure reverse accesses do not needlessly query the DB again.
            # Maybe Django already does that for us already... whatever.
            setattr(access.user, User.access.cache_name, access)
            return access.user
        except Access.DoesNotExist:
            pass

        try:
            # Fall back to raw user access
            return User.objects.get(id=user_id)
        except User.DoesNotExist:
            pass

        return None