J'utilise django-friends et django-messages.Django amitié dans les messages composer
J'ai modifié mon formulaire de composition personnalisé pour tirer les informations suivantes, mes amis et afficher leurs noms complets au lieu de seulement les noms d'utilisateur. Un problème que j'ai est que je n'arrive pas à me connecter en tant qu'utilisateur connecté, pour compléter la requête, je dois le coder en dur.
class MyComposeForm(forms.Form):
"""
A simple default form for private messages.
"""
recipient = forms.ModelChoiceField(queryset=Friendship.objects.all(), label=_(u"Recipient"))
#recipient = forms.ModelChoiceField(queryset=User.objects.all(), label=_(u"Recipient"))
subject = forms.CharField(label=_(u"Subject"))
body = forms.CharField(label=_(u"Body"),
widget=forms.Textarea(attrs={'rows': '2', 'cols':'55'}))
def __init__(self, *args, **kwargs):
recipient_filter = kwargs.pop('recipient_filter', None)
super(MyComposeForm, self).__init__(*args, **kwargs)
### underneath here I have to hardcode with my ID to pull the info.
friends = Friendship.objects.filter(from_user=1)
self.fields['recipient'].choices = [(friend.to_user.pk, friend.to_user.get_full_name()) for friend in friends]
if recipient_filter is not None:
self.fields['recipient']._recipient_filter = recipient_filter
Comment puis-je accéder à mon instance d'utilisateur? J'ai essayé d'ajouter request
à __init__
et en utilisant request.user
mais cela ne semble pas fonctionner.
Des idées?